Index: trunk/tools/czarpoll.pl
===================================================================
--- trunk/tools/czarpoll.pl	(revision 29712)
+++ trunk/tools/czarpoll.pl	(revision 29713)
@@ -188,4 +188,11 @@
     my $row = undef;
 
+    # figure out interval for rate plots
+    my $timeDiff = $czarDb->diffTimes($begin, $end);
+    my $interval = undef;
+    if ($czarDb->isBefore($timeDiff, "03:00:00")) {$interval = "15 MINUTE";}
+    elsif ($czarDb->isBefore($timeDiff, "10:00:00")) {$interval = "30 MINUTE";}
+    else {$interval = "1 HOUR";}
+
     print "* Generating plots\n";
 
@@ -197,5 +204,5 @@
             chomp($label);
             $plotter->createLogAndLinearTimeSeries($label,  $stage, $begin, $end);
-            $plotter->createRateTimeSeries($label, $stage, $begin, $end, "1 HOUR", 0);
+            $plotter->createRateTimeSeries($label, $stage, $begin, $end, $interval, 0);
         }
     }
@@ -208,5 +215,5 @@
 
         $plotter->createLogAndLinearTimeSeries($label, undef, $begin, $end);
-        $plotter->createRateTimeSeries($label, $stage, $begin, $end, "1 HOUR", 0);
+        $plotter->createRateTimeSeries($label, undef, $begin, $end, $interval, 0);
         $plotter->createHistogram($label, $begin, $end);
 
@@ -217,10 +224,10 @@
 
     $plotter->createLogAndLinearTimeSeries($allServerLabels, undef, $begin, $end);
-    $plotter->createRateTimeSeries($allServerLabels, undef, $begin, $end, "1 HOUR", 0);
+    $plotter->createRateTimeSeries($allServerLabels, undef, $begin, $end, $interval, 0);
     $plotter->createHistogram($allServerLabels, $begin, $end);
     foreach $stage (@stages) {
 
         $plotter->createLogAndLinearTimeSeries($allServerLabels,  $stage, $begin, $end); # TODO must be a neater way...
-        $plotter->createRateTimeSeries($allServerLabels, $stage, $begin, $end, "1 HOUR", 0);
+        $plotter->createRateTimeSeries($allServerLabels, $stage, $begin, $end, $interval, 0);
     }
 }
