Two million lines have a shape

Every entry plotted by minute and by level, so the question “when did this start?” is answered by looking rather than by scrolling. Drag across a spike and the table beneath it holds only those entries.

Lives in the chart — every entry, by minute and level

drag to filter
Fig. 01OpenSSH_2k.log · 2,481 entries
Search OpenSSH_2k.log…
LLogier
OpenSSH_2k.log
INFOWARNERROR
07:07 – 07:15
time range · 8 min1,204 / 2,481 entries1×  − +
TimeStatusHostMessage
06:55:46WARNLabSZ/sshdinput_userauth_request: invalid user webmaster
06:55:46ERRORLabSZ/sshdpam_unix(sshd:auth): authentication failure
06:55:48ERRORLabSZ/sshdFailed password for invalid user webmaster
06:55:48INFOLabSZ/sshdConnection closed by 173.234.31.186 [preauth]
06:55:51INFOLabSZ/sshdConnection from 212.47.254.145 port 51022
06:55:53ERRORLabSZ/sshdFailed password for invalid user admin
06:55:53INFOLabSZ/sshdReceived disconnect from 212.47.254.145: 11: Bye
06:56:02WARNLabSZ/sshdpam_unix(sshd:auth): check pass; user unknown
The selection is the filter. Nothing is typed, no range is entered — the gesture that finds the spike is the same one that isolates it.
a daysix minutes

The same incident, three times.

A timeline is not one picture, it is a movement: scan the day, find the hour, land on the minute. Zoom goes to 10× and pans across the range, and every step below is the same file — only the bucket width changed.

01 · A whole day
INFOWARNERROR

06:00 – 19:00 · 1,440 buckets

One shape stands out. You have not read a line yet.

02 · One hour
INFOWARNERROR

06:55 – 07:15 · per minute

The spike has a beginning — and four minutes of nothing before it.

03 · Six minutes
INFOWARNERROR

07:07 – 07:13 · per minute

Drag here and the table below holds only these 1,204 entries.

A gap is not a zero.

A minute with no entries at all is drawn as a break in the line. Plotting it as zero would make a service that died quietly look exactly like one that was idle — and those need completely different responses at two in the morning.

Buckets are backfilled with explicit zeroes so the chart only ever breaks where a gap was deliberately recorded.

In Live Mode this matters more: pausing records a real [pausedAt, resumedAt] interval, and the chart draws that as a break rather than pretending no data was missed while you were away.

faq

Common questions

keep reading

Where this fits

  1. 01

    Anomaly detection

    A silence gap is one of the five findings — the chart shows you the break, the detector tells you it was worth noticing.

  2. 02

    Live Mode

    The same chart, drawn while entries are still arriving, with pauses recorded as real gaps.

Stop scrolling to find the start.

Open a file and the timeline is already drawn. The first useful question — when did this begin? — is answered before you read a single line.