Log Viewer

Time-series viewer for inspecting logged data channels

The Log Viewer lets you plot any combination of logged channels over time. It is useful for verifying data quality before tuning, diagnosing engine behaviour, and checking that your logs contain the conditions you need for a given tuning page.

Log Viewer page showing overview plot at top and stacked channel graphs with channel selection panel

Overview plot

The narrow plot at the top of the page shows the entire log as a single curve. A highlighted region marks the section currently shown in the main graphs.

Main graphs

Up to three stacked subplots are shown below the overview, each capable of displaying up to five channels. All three subplots share the same time axis — panning or zooming one pan/zooms all of them simultaneously.

Each channel gets its own right-side Y axis with an independently scaled range. Channels can also be grouped so that a set of related channels (for example MAP and Target MAP, or AFR and Target AFR) share a single Y axis and stay visually comparable.

Resizing subplots

A thin drag handle appears between each pair of stacked subplots. Click and drag the handle up or down to redistribute vertical space between subplots without affecting the others.

Channel selection

The panel on the left lists the channel slots for each subplot (up to five channels per subplot, three subplots). For each slot, pick a channel from the dropdown. A None entry leaves the slot empty.

Available channels include:

Predicted new AFR

Predicted new AFR estimates the air/fuel ratio your VE table edits will produce, so you can see the effect of a change before flashing and re-logging. Because delivered fuel is proportional to the VE the ECU looks up, raising a cell by 5% is predicted to move the mixture 5% richer at the points that use it:

Predicted new AFR = logged AFR × lambda trim × (original VE / edited VE)

Both VE figures are read from the same table at the same operating point — the values as the map was loaded versus the values as they stand now — so an unedited table contributes nothing of its own to the trace.

The closed-loop lambda trim is backed out. Whatever the O2 correction was adding or removing at the time is undone, so the channel shows what your VE table delivers on its own, not what the closed loop would drag it back to. With an unedited table the trace therefore sits at the open-loop AFR — richer than the logged AFR wherever the ECU was trimming fuel out, leaner wherever it was adding fuel in. On a log that ran open loop (no trim), it starts out sitting on the logged AFR.

Read it as a relative prediction: the useful information is how far your edits move the trace away from that starting baseline. It is not a promise that the mixture will land on Target AFR — the prediction only models the VE table, so charge-temperature trims, dead time and anything else the ECU applies are left as they were logged.

Plot it against AFR and Target AFR — the three share a Y axis by default. The channel updates each time you return to the Log Viewer, so it always reflects your latest table edits, including those made by AutoTune. It needs a calibration file loaded; with logs only, it isn't available.

Per-channel options

A … button next to each selected channel opens a popup with that channel's appearance and axis settings:

SettingDescription
ColourOverride the auto-assigned trace colour.
Line widthPen width for the channel's curve.
MarkerPoint marker style (circle, square, triangle, diamond, plus, ×, or none).
Axis mode Controls how the channel's Y axis is scaled:
  • Window auto — fit to the visible time window (default for most channels).
  • Window auto (clamped) — window-auto but capped by the channel's fixed range.
  • Full auto — fit to the entire dataset, not just the visible window.
  • Manual — your custom min/max, overridden by autoscale on each interaction.
  • Fixed — your custom min/max, never autoscaled.

Channel options are saved as part of the active preset (see Presets).

Groups and fixed Y ranges

Click Groups & Ranges at the top of the channel panel to open a popup that controls two tool-wide settings:

Both lists are global (apply to every subplot) and persist between sessions.

Cursor and region selection

Cursor

Left-click anywhere on a graph to place a vertical cursor line. Drag the cursor to move it. The cursor label in the top-right corner of each subplot shows the exact time and value of every plotted channel at the cursor position. For status / enum channels (for example ME's WarmupState), the label decodes the integer to its text name.

Region selection (stats)

Click and drag horizontally on a subplot to shade an X range instead of placing a cursor. A stats panel appears in the corner showing min, max, mean, and standard deviation for every plotted channel over the selected window. Click outside the region to dismiss it. Cursor and region are mutually exclusive — placing a cursor clears any active region and vice versa.

Markers

Markers are user-placed vertical annotations on the time axis with a short description and colour. Right-click on a subplot at the time of interest and choose Add Marker to create one; click an existing marker line to edit its description, change colour, or delete it.

Markers persist depending on the source log file:

Multiple logs and boundaries

When more than one log is loaded and included, DigiTune GTS merges them end-to-end into a single continuous timeline. Dashed vertical lines mark the point where each log ends and the next begins, so it is always clear which part of the combined view came from which session.

Time axis display

The time axis can be displayed in three ways, selectable from Settings → Log Viewer → Time Axis Display:

Performance: downsampling

On dense logs (many hundreds of thousands of samples) plotting every sample can be slow. The Downsampling Mode setting controls how channels are reduced to screen pixels:

Additional viewer settings (gridlines, hidden intermediate time axes, marker sidecars) are in Settings → Log Viewer.

Presets

A preset saves your current channel selection, overview channel, and all per-channel options. It does not save the time window — only which channels are active and how they look.

Saving a preset

  1. Configure the channels and options you want to display.
  2. Click Save in the Preset row.
  3. Enter a name for the preset and confirm. To overwrite an existing preset, choose the same name.

Loading a preset

Pick the preset from the Preset dropdown. The channel selection and options update immediately. If you edit channels after loading, a modified entry is added to the dropdown so you can switch back to the on-disk version without losing your in-progress changes.

Renaming and deleting

Rename renames the currently selected preset on disk. Delete removes it. Preset files are stored in %LOCALAPPDATA%\DigiTune\GTS\LogViewerPresets\; a small set of defaults is copied there on first run.

Auto-applied presets from warnings

When a log warning is raised (knock, lost sync, voltage instability, a failed AFR sensor, a lean mixture, etc.), clicking the warning's View link in the warnings dialog opens the Log Viewer with the most relevant preset pre-loaded (for example, Knock Analysis or AFR) so the suspect signals are on screen immediately. If a preset of that name does not exist, a sensible default is created.