On this page:

1 Execution Timeline

The execution timeline, shown in the top left-hand corner of the profiler window, displays a history of the program and all events associated with its futures, with OS-level threads or processes organized along the y-axis and time increasing along the x-axis. Garbage collections are shown as translucent maroon bars spanning the height of the timeline. A coloring convention is used to distinguish between different types of events (see Future Performance Logging for a full description of these event types):

Mousing over any non-GC event connects it via purple lines to the sequence of events for its future. Additionally, orange dotted lines with arrowheads may be shown to indicate operations performed from one future to another (e.g. 'create or 'touch actions). To view details about two events simultaneously, a selection can be tacked by clicking the mouse.

The timeline displays vertical lines at 100-microsecond intervals. Note that though the time interval is fixed, the pixel distance between lines varies based on the event density for any given time range to prevent overlapping event circles.


(timeline-pict events 
  [#:x x 
  #:y y 
  #:width width 
  #:height height 
  #:selected-event-index selected-event-index]) 
  events : (listof indexed-future-event?)
  x : (or #f exact-nonnegative-integer?) = #f
  y : (or #f exact-nonnegative-integer?) = #f
  width : (or #f exact-nonnegative-integer?) = #f
  height : (or #f exact-nonnegative-integer?) = #f
  selected-event-index : (or #f exact-nonnegative-integer?) = #f
Returns a pict showing the execution timeline for the trace in events. The optional arguments x, y, width, and height can be used to obtain a specific area (in pixels) of the timeline image. The selected-event-index argument, if specified, shows the timeline image as if the user placed the mouse pointer over the indexed-future-event with the corresponding index.