--- db2gantt.cgi 2002/09/13 18:35:50 1.11 +++ db2gantt.cgi 2002/09/15 19:29:38 1.19 @@ -11,14 +11,14 @@ my $debug = 0; my $width = 600; # width of bar -my $height = 12; # height of bar +my $height = 19; # height of bar my $use_js = 1; # use JavaScript pop-up # status colors my %cols = ( 'In Progress' => '0,255,0', - 'In Progress/Failure' => '255,64,255', - 'In Progress/Errors' => '255,64,0', + 'In Progress/Failures' => '192,64,192', + 'In Progress/Errors' => '255,128,128', 'Queuing' => '255,255,0', 'Aborted' => '255,0,0', 'Failed' => '255,0,0', @@ -75,10 +75,12 @@ } print "Content-type: text/html +Cache-Control: max-age=60, must-revalidate
-Specification | "; print mknav(($from_t-$int_t),$to_t,'<<'),$from; print mknav(($from_t+$int_t),$to_t,'>>') if ($from_t+$int_t < $to_t); @@ -125,18 +127,31 @@ print " | |
hour grid | ";
my @c = ("255,255,128","255,192,128");
my $hr=strftime("%H",localtime ($from_t));
- print color_bar(3600 - $from_t % 3600,$c[0],sprintf("%02d",$hr++ % 24));
+ sub hour_bar {
+ my ($t,$c,$hr) = @_;
+ my $clock_hr = $hr % 24;
+ my $alt = sprintf("%02d:00",$clock_hr);
+ if ($clock_hr == 0) {
+ my $pix_hr = int(1 / $width);
+ print color_bar($pix_hr,"0,0,0",strftime("%Y-%m-%d", localtime($from_t + $hr*3600)));
+ print color_bar($t-$pix_hr,$c,$alt);
+ } else {
+ print color_bar($t,$c,$alt);
+ }
+ }
+ hour_bar(3600 - $from_t % 3600,$c[0],$hr++);
for (my $i=1; $i | |
", $row->{specification}," | ";
$curr_t = $from_t; # init timeline
@@ -224,14 +250,18 @@
}
- my $start_t = m_round(str2time($row->{start}));
- my $fin_t = m_round(str2time($row->{finish}));
+ my $start_t = str2time($row->{start});
+ my $fin_t = str2time($row->{finish});
- if ($start_t > $curr_t + 60) {
+ # Can I squeeze here 1 pixel of time (many seconds) ?
+ if ($start_t > $curr_t + ($len_t / $width)) {
my $t = $start_t - $curr_t;
print STDERR "[middle filler $curr_t:$t]" if ($debug);
print bar($t);
$curr_t = $start_t;
+ } else {
+ # prepend too few seconds to next event
+ $start_t = $curr_t;
}
my $len = $fin_t - $start_t;
@@ -256,9 +286,10 @@
my $alt = $row->{start}." - ".$row->{finish}." "; $alt =~ s/:\d\d\.\d+//g; $alt =~ s/\s+/ /g; - $alt .= $row->{type}." ".$row->{status}." ". - $row->{user_group_host}." ".$row->{sessionid}." ". - $row->{device}." on ".$row->{host}; + $alt .= $row->{specification}." ". + $row->{type}." ".$row->{status}." ". + $row->{user_group_host}." ".$row->{sessionid}." ". + $row->{device}." on ".$row->{host}; print bar($len,$row->{status},$alt); $curr_t += $len; @@ -298,5 +329,5 @@ # it will first evaluate bar sub (thus increasing number by one) and # then display number (wrongly). } -print " |
Reload url(-relative=>1),"\">current.
"; +print "Reload url(-relative=>1),"\">current or see help.