[Dart] Dashboard rollover times.

Brad King brad.king at kitware.com
Mon, 7 Jan 2002 10:58:45 -0500 (EST)


Hello,

I have been experiencing problems with getting experimental builds to show
up on the dashboard of the day they were done.  Right now, any
experimental build done after 7:00 PM EST (midnight GMT) is put on the
dasboard for the next day.  The nightly start time in the configuration
seems to be used only to decide what day the current dashboard started in
GMT.  I looked in Utility.tcl, and there is all kinds of complicated logic
to determine the date/time of the dashboard start, and when each build is
done.

I propose an alternative mechanism for doing this:

1.) Nightly start time is always specified in GMT, regarless of where the
server is running.  Call this NST.

2.) A dashboard build's date/time are in GMT (to minute):
  Nightly = NST (time used for update from CVS).
  Experimental = Time at which build started.

3.) Each dashboard build is placed on the current dashboard if it falls
in [NST, NST+24 hours).

The current implementation appears to attempt this, but it flips between
the date/time and seconds-based encoding several times.  At some point,
the time-of-day is lost, and only the day in GMT is considered.  I would
argue that the time should never be dropped, even for a nightly build.  

Using this encoding, all nightly dashboard entries for VTK today would
appear as:
200201070400-Nightly

An experimental build started at 9:30 AM today would appear as:
200201071430

This approach avoids the need to decide the date attached any build, or
even with a dashboard.  It should also simplify the logic in Utility.tcl
because there will be no need to distinguish nightly and experimental
builds and handle their times separately. A dashboard is identified simply
by a 24-hour window of time.  A server could optionally have a scrolling
24-hour window that shows all entries from the past 24 hours on the
dashboard.

Thoughts?
-Brad