BKPT LabsDOCS/VIEWALYZER/TIMELINE VIEWALYZER · GPUI EDITION
VIEWALYZER · VIEWS

Timeline

The Timeline draws what ran when: one lane per task, per interrupt handler and per user event, with a filled bar wherever that thing was executing. It is the anchor of the workspace: every other view that can jump to a moment jumps here.

The Timeline over a FreeRTOS recording: one lane per task, interrupt and user event, the idle task in amber.
THE TIMELINE OVER A FREERTOS RECORDING: ONE LANE PER TASK, INTERRUPT AND USER EVENT, THE IDLE TASK IN AMBER

Needs: a recording (it fills in when a capture stops).

Reading it

  • Lanes are ordered tasks, then interrupts, then user events, each with a colour bar in the name gutter. _RTOS_ is the scheduler itself (the gaps between task slices on an RTOS capture); RTOS:Create marks task creation.
  • A bar is a slice: the task ran from its left edge to its right edge. At spans where slices are narrower than a pixel the lane shows a density shading instead, so a lane that is busy 30 % of the time reads as 30 % bright.
  • A coloured diamond on a waiting task joined to a dot on a mutex holder marks a priority inversion. Each mutex has a stable, high-contrast colour (red for the first or only mutex), and readable labels include its name and the waiter-to-holder relationship. The translucent interval shows how long the lower-priority holder retained the mutex; the waiter's line runs until it acquired the mutex. These phases stay visible when the original contention point is beyond the viewport edge. At a readable zoom the phases and state changes are labelled contended, blocked, holding, acquired, and released. Dense views pixel-decimate nearby links and omit labels that cannot fit.
  • Drag a lane by its name in the left gutter to arrange the lanes manually. The Timeline gear can instead order task lanes by OS-aware priority (lower numbers first on Zephyr; higher numbers first on FreeRTOS), reset a manual order, or hide the priority-inversion overlay when it would distract from the schedule itself.
  • The ruler along the top shows the visible window; a chip on it follows the hover cursor, and an amber chip the pinned cursor.

Analysis gutters

The Timeline with time-aligned CPU load, stack, heap and event analysis rows below the scheduler lanes.
THE TIMELINE WITH TIME-ALIGNED CPU LOAD, STACK, HEAP AND EVENT ANALYSIS ROWS BELOW THE SCHEDULER LANES

The Timeline gear can add resizable, time-aligned analysis rows below the scheduler lanes. CPU Load, Stack Usage, Heap Usage, Event Intensity, Task Timing, Event Interval, and an Overview Map can be enabled independently. When the rows need more room than the tile has, their section scrolls without squeezing the scheduler lanes away.

Click the ? beside any option for a short explanation of what that row shows and what data it needs.

Timeline settings with a help button beside each scheduler and analysis option.
TIMELINE SETTINGS WITH A HELP BUTTON BESIDE EACH SCHEDULER AND ANALYSIS OPTION
  • CPU can show either total load or stacked task/ISR contributions, with a 50 ms, 100 ms, 500 ms, or 1 s averaging window.
  • Stack is the reported high-water total. Heap is sample-and-hold across allocation/free reports; its dashed line is the reported capacity and red markers are failed allocations.
  • Task Timing can plot execution time or activation period for a selected lane. Event Interval measures between selected task, trace, or resource endpoints.
  • The Overview Map always spans the full recording and shades the current zoom window. Drag it to scrub through a zoomed recording.
  • Drag the divider below a gutter to resize it. Heights, enabled rows, and selectors persist in the workspace settings.

The shared cursor and selected-region shading cross every gutter. Double-click a gutter to select the nearest Event Table row, and click one of its extrema labels to jump to that sample.

Moving around

GESTURE EFFECT
WheelScroll the lane list
Ctrl+wheel (Cmd on macOS)Zoom the time axis around the pointer
Shift+wheel, or a horizontal wheelPan
DragPan (the point you grabbed stays under the pointer)
Ctrl+drag (Cmd on macOS)Select a time range while dragging, then zoom every synchronized time view to it on release
Ctrl+right-click (Cmd+right-click on macOS)Add another measurement marker
Double-clickPin that time and centre/select the nearest visible Event Table row
fit chip in the rulerBack to the whole recording
HoverMoves the shared cursor; its time shows in the gutter
ClickPins the cursor when Sticky Cursor is on (click the same spot to release); also selects the slice under the pointer for the Details view
Shift+moveSweeps the selected region from where Shift went down; Escape clears it

Measurement markers are shared by the Timeline and every time-based Trace chart. Their A/B/C/... grabbers live in each time strip for fine adjustment, with the delta shown for every adjacent pair. Labels always follow time order, so dragging a marker past another automatically relabels both. Panel headers summarize the number of intervals and keep Clear markers available; use it in either header to remove all measurements and any CPU outlier markers.

Three shared measurement markers with adjacent deltas in the Timeline and Trace marker strips.
THREE SHARED MEASUREMENT MARKERS WITH ADJACENT DELTAS IN THE TIMELINE AND TRACE MARKER STRIPS

Integrity locations

Use Overview > Stream Integrity > Highlights to show Corrupt Data, Event Loss, or both. The Timeline and charts mark the first reliable timestamp after each incident; the Event Table adds a row with its count. Highlights remain visible across views until you cycle the control back to Off.

The zoom window, cursor and region are shared with the charts, the CPU scope and the Timers and Comms views (see the shared time model).

What jumps here

  • Double-click a row in the Event Table: the window centres on that event and the cursor pins there with a brief flash.
  • Click a finding in the Analyzer, a tile in the CPU view, a violation in Timers or an exchange in Comms.
  • Click a task's bordered Outliers value in the CPU table to mark every concrete activation-period outlier for that row and jump to the first one.
  • After any of these the next click anywhere releases the pinned cursor.

Tips

  • A slice outlined in amber is the one the Details view is describing.
  • The dimmed part outside the selected region is exactly what the CPU view excludes when its scope is set to Selection.