Hi

im Zuge der Umstellung auf tirex auf dem Wikimedia Toolserver, welcher auf Solaris läuft, haben wir eine ganze Reihe von Änderungen am Tirex-Source gemacht. Die meisten davon sind Solaris-Spezifisch aber einige dürften auch für die Allgemeinheit interessant sein.

Beispielsweise haben wir die Munin-Graphen erweitert, damit sie es uns erlauben, die tirex.conf via Umgebungsvariable aus einem eigenen Verzeichnis zu laden (die tirex.conf liegt bei unserem Setup im Homedir des Projektbenutzers "osm").

Außerdem haben wir die Graphen erweitert, dass sie Standardmäßig nicht mehr die Statistiken der Map "default" sondern eine Summe aller Maps anzeigen. Einzelne Maps können über die Munin-Üblichen Symlinks ausgegliedert werden. Dies ist in einem Setup mit >30 eher selten genutzter Styles die interessantere Information.

Ein Patch, der beide Änderungen enthält, hängt an.

Lg, Peter
Index: munin/tirex-tiledir-diskusage
===================================================================
--- munin/tirex-tiledir-diskusage       (revision 23238)
+++ munin/tirex-tiledir-diskusage       (working copy)
@@ -9,12 +9,13 @@
 
 use strict;
 use warnings;
 
 use Tirex::Munin::Tiledir::Diskusage;
 
 #-----------------------------------------------------------------------------
 
-my $config_file = $Tirex::TIREX_CONFIGFILE;
+my $config_file = exists($ENV{'config'}) ? $ENV{'config'} : 
$Tirex::TIREX_CONFIGFILE;
 Tirex::Config::init($config_file);
 
 #-----------------------------------------------------------------------------
Index: munin/tirex-tiledir-tilecount-relative
===================================================================
--- munin/tirex-tiledir-tilecount-relative      (revision 23238)
+++ munin/tirex-tiledir-tilecount-relative      (working copy)
@@ -9,12 +9,13 @@
 
 use strict;
 use warnings;
 
 use Tirex::Munin::Tiledir::Tilecount;
 
 #-----------------------------------------------------------------------------
 
-my $config_file = $Tirex::TIREX_CONFIGFILE;
+my $config_file = exists($ENV{'config'}) ? $ENV{'config'} : 
$Tirex::TIREX_CONFIGFILE;
 Tirex::Config::init($config_file);
 
 #-----------------------------------------------------------------------------
Index: munin/tirex-status-queued-requests-age
===================================================================
--- munin/tirex-status-queued-requests-age      (revision 23238)
+++ munin/tirex-status-queued-requests-age      (working copy)
@@ -9,12 +9,13 @@
 
 use strict;
 use warnings;
 
 use Tirex::Munin::Status::QueuedRequestsAge;
 
 #-----------------------------------------------------------------------------
 
-my $config_file = $Tirex::TIREX_CONFIGFILE;
+my $config_file = exists($ENV{'config'}) ? $ENV{'config'} : 
$Tirex::TIREX_CONFIGFILE;
 Tirex::Config::init($config_file);
 
 #-----------------------------------------------------------------------------
Index: munin/tirex-status-render-time
===================================================================
--- munin/tirex-status-render-time      (revision 23238)
+++ munin/tirex-status-render-time      (working copy)
@@ -9,19 +9,20 @@
 
 use strict;
 use warnings;
 
 use Tirex::Munin::Status::RenderTime;
 
 #-----------------------------------------------------------------------------
 
-my $config_file = $Tirex::TIREX_CONFIGFILE;
+my $config_file = exists($ENV{'config'}) ? $ENV{'config'} : 
$Tirex::TIREX_CONFIGFILE;
 Tirex::Config::init($config_file);
 
 #-----------------------------------------------------------------------------
 
 (my $execname = $0) =~ s{^.*/}{};
 
-my $map = 'default';
+my $map = '*';
 if ($execname =~ /^tirex-status-render-time-(.*)$/)
 {
     $map = $1;
Index: munin/tirex-tiledir-tilecount-absolute
===================================================================
--- munin/tirex-tiledir-tilecount-absolute      (revision 23238)
+++ munin/tirex-tiledir-tilecount-absolute      (working copy)
@@ -9,12 +9,13 @@
 
 use strict;
 use warnings;
 
 use Tirex::Munin::Tiledir::Tilecount;
 
 #-----------------------------------------------------------------------------
 
-my $config_file = $Tirex::TIREX_CONFIGFILE;
+my $config_file = exists($ENV{'config'}) ? $ENV{'config'} : 
$Tirex::TIREX_CONFIGFILE;
 Tirex::Config::init($config_file);
 
 #-----------------------------------------------------------------------------
Index: munin/tirex-status-queued-requests
===================================================================
--- munin/tirex-status-queued-requests  (revision 23238)
+++ munin/tirex-status-queued-requests  (working copy)
@@ -9,12 +9,13 @@
 
 use strict;
 use warnings;
 
 use Tirex::Munin::Status::QueuedRequests;
 
 #-----------------------------------------------------------------------------
 
-my $config_file = $Tirex::TIREX_CONFIGFILE;
+my $config_file = exists($ENV{'config'}) ? $ENV{'config'} : 
$Tirex::TIREX_CONFIGFILE;
 Tirex::Config::init($config_file);
 
 #-----------------------------------------------------------------------------
Index: munin/tirex-status-requests-rendered
===================================================================
--- munin/tirex-status-requests-rendered        (revision 23238)
+++ munin/tirex-status-requests-rendered        (working copy)
@@ -9,19 +9,20 @@
 
 use strict;
 use warnings;
 
 use Tirex::Munin::Status::RequestsRendered;
 
 #-----------------------------------------------------------------------------
 
-my $config_file = $Tirex::TIREX_CONFIGFILE;
+my $config_file = exists($ENV{'config'}) ? $ENV{'config'} : 
$Tirex::TIREX_CONFIGFILE;
 Tirex::Config::init($config_file);
 
 #-----------------------------------------------------------------------------
 
 (my $execname = $0) =~ s{^.*/}{};
 
-my $map = 'default';
+my $map = '*';
 if ($execname =~ /^tirex-status-requests-rendered-(.*)$/)
 {
     $map = $1;
Index: munin/tirex-tiledir-tileage
===================================================================
--- munin/tirex-tiledir-tileage (revision 23238)
+++ munin/tirex-tiledir-tileage (working copy)
@@ -9,12 +9,13 @@
 
 use strict;
 use warnings;
 
 use Tirex::Munin::Tiledir::Tileage;
 
 #-----------------------------------------------------------------------------
 
-my $config_file = $Tirex::TIREX_CONFIGFILE;
+my $config_file = exists($ENV{'config'}) ? $ENV{'config'} : 
$Tirex::TIREX_CONFIGFILE;
 Tirex::Config::init($config_file);
 
 #-----------------------------------------------------------------------------
Index: munin/tirex-status-active-requests
===================================================================
--- munin/tirex-status-active-requests  (revision 23238)
+++ munin/tirex-status-active-requests  (working copy)
@@ -9,12 +9,13 @@
 
 use strict;
 use warnings;
 
 use Tirex::Munin::Status::ActiveRequests;
 
 #-----------------------------------------------------------------------------
 
-my $config_file = $Tirex::TIREX_CONFIGFILE;
+my $config_file = exists($ENV{'config'}) ? $ENV{'config'} : 
$Tirex::TIREX_CONFIGFILE;
 Tirex::Config::init($config_file);
 
 #-----------------------------------------------------------------------------
Index: lib/Tirex/Munin/Status/RequestsRendered.pm
===================================================================
--- lib/Tirex/Munin/Status/RequestsRendered.pm  (revision 23238)
+++ lib/Tirex/Munin/Status/RequestsRendered.pm  (working copy)
@@ -31,16 +31,34 @@
     my $map = $self->{'map'};
     my $per = $self->{'per'} // 'second';
 
-    my $config = <<EOF;
-graph_title Requests rendered for map $map
+    my $config = '';
+    
+    if($map eq '*')
+    {
+        $config .= "graph_title Requests rendered\n";
+    }
+    else
+    {
+        $config .= sprintf("graph_title Requests rendered for map %s\n", $map);
+    }
+
+    $config .= <<EOF;
 graph_vlabel requests/$per
 graph_category tirex
 graph_args --lower-limit 0
 graph_scale no
 graph_period $per
-graph_info Number of metatile requests rendered per $per for map $map.
 EOF
 
+    if($map eq '*')
+    {
+        $config .= "graph_info Number of metatile requests rendered per 
$per\n";
+    }
+    else
+    {
+        $config .= sprintf("graph_info Number of metatile requests rendered 
per $per for map %s\n", $map);
+    }
+
     foreach my $zoomrange (@{$self->{'zoomranges'}})
     {
         my $id   = $zoomrange->get_id();
@@ -66,7 +84,18 @@
         my $sum = 0;
         foreach my $z ($zoomrange->get_min() .. $zoomrange->get_max())
         {
-            $sum += 
($self->{'status'}->{'rm'}->{'stats'}->{'count_rendered'}->{$self->{'map'}}->[$z]
 // 0);
+            if($self->{'map'} eq '*')
+            {
+                my $maps = 
$self->{'status'}->{'rm'}->{'stats'}->{'count_rendered'};
+                while ( my ($map, $stats) = each( %$maps ) )
+                {
+                    $sum += ($stats->[$z] // 0);
+                }
+            }
+            else
+            {
+                $sum += 
($self->{'status'}->{'rm'}->{'stats'}->{'count_rendered'}->{$self->{'map'}}->[$z]
 // 0);
+            }
         }
         $data .= sprintf("%s.value %d\n", $zoomrange->get_id(), $sum);
     }
Index: lib/Tirex/Munin/Status/RenderTime.pm
===================================================================
--- lib/Tirex/Munin/Status/RenderTime.pm        (revision 23238)
+++ lib/Tirex/Munin/Status/RenderTime.pm        (working copy)
@@ -29,15 +29,33 @@
     my $self = shift;
     my $map = $self->{'map'};
 
-    my $config = <<EOF;
-graph_title Render time for map $map
+    my $config = '';
+
+    if($map eq '*')
+    {
+        $config .= "graph_title Render time\n";
+    }
+    else
+    {
+        $config .= sprintf("graph_title Render time for map %s\n", $map);
+    }
+
+    $config .= <<EOF;
 graph_vlabel millisecond/second
 graph_category tirex
 graph_args --lower-limit 0
 graph_scale no
-graph_info Milliseconds each second spend rendering tiles for map $map.
 EOF
 
+    if($map eq '*')
+    {
+        $config .= "graph_info Milliseconds each second spend rendering 
tiles\n";
+    }
+    else
+    {
+        $config .= sprintf("graph_info Milliseconds each second spend 
rendering tiles for map %s\n", $map);
+    }
+
     foreach my $zoomrange (@{$self->{'zoomranges'}})
     {
         my $id   = $zoomrange->get_id();
@@ -60,7 +78,18 @@
         my $sum = 0;
         foreach my $z ($zoomrange->get_min() .. $zoomrange->get_max())
         {
-            $sum += 
($self->{'status'}->{'rm'}->{'stats'}->{'sum_render_time'}->{$self->{'map'}}->[$z]
 // 0);
+            if($self->{'map'} eq '*')
+            {
+                my $maps = 
$self->{'status'}->{'rm'}->{'stats'}->{'sum_render_time'};
+                while ( my ($map, $stats) = each( %$maps ) )
+                {
+                    $sum += ($stats->[$z] // 0);
+                }
+            }
+            else
+            {
+                $sum += 
($self->{'status'}->{'rm'}->{'stats'}->{'sum_render_time'}->{$self->{'map'}}->[$z]
 // 0);
+            }
         }
         $data .= sprintf("%s.value %d\n", $zoomrange->get_id(), $sum);
     }
_______________________________________________
dev mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/dev

Reply via email to