Skip to content
DocsChartsReplay lanesLast updated Nov 2, 2026

Replay lanes

Where each alert went: pager, chat or digest. Sample data: alerts from Fri 9 to Fri 16, 1 paged right away, 8 to chat, 22 held for the digest.

Last week's alerts replayed under the rulesOver 8 days (FRI 9 to FRI 16): pager 1 right away, chat 8 right away, digest 22 held; 7 digests carried 22 held alerts.PAGERCHATDIGEST1RIGHT AWAY8RIGHT AWAY22HELD3344242FRI 9SUN 11TUE 13FRI 16PAGERCHATHELDDIGEST SENT
Last week's alerts replayed under the rules
Digest sentAlerts in it
SAT 103
SUN 113
MON 124
TUE 134
WED 142
THU 154
FRI 162
Last week's alerts replayed under the rulesOver 8 days (FRI 9 to FRI 16): pager 1 right away, chat 8 right away, digest 22 held; 7 digests carried 22 held alerts.PAGERCHATDIGEST1NOW8NOW22HELD3344242FRI 9SUN 11WED 14FRI 16PAGERCHATHELDDIGEST SENT
Last week's alerts replayed under the rules
Digest sentAlerts in it
SAT 103
SUN 113
MON 124
TUE 134
WED 142
THU 154
FRI 162

Installation

  1. 1

    Set up the registry once

    Your token in .env and @chartory in components.json. Skip this when another chart is already installed.

    Installation guide
  2. 2

    Add the chart

    One command adds the Replay lanes component to your project.

    npx shadcn add @chartory/replay-lanes
  3. 3

    Use it

    Pass your rows. The props are the Figma properties.

    usage.tsx
    import { ReplayLanes }  from "@/components/chartory/replay-lanes"<ReplayLanes  data={alertRoutes}  size="m"  legend/>

Props

<ReplayLanes>

Every prop but data is a Figma property with the same name and values.

PropTypeDefault
data: The chart's data. The tables below list every field.ReplayLanesDataRequired
size: The size class. Each one is laid out again from the data."xs" | "s" | "m" | "l""m"
legend: Shows the legend row under the plot.booleantrue
color: The data colour of the primary marks (data/primary)."cat-1" | "cat-2" | "cat-3" | "cat-4""cat-1"

ReplayLanesData

The data prop: one object for the whole chart.

PropTypeDefault
days: The number of days.numberRequired
dl: The day labels.string[]Required
quiet: The quiet ranges: [start, end].[number, number][]Required
lanes: One entry per lane.ReplayLanesLane[]Required
digests: One entry per digest.ReplayLanesDigest[]Required

ReplayLanesLane

One object per entry in lanes.

PropTypeDefault
label: The name shown on the chart.stringRequired
tok: The colour token, e.g. "data/primary".stringRequired
items: One entry per item.ReplayLanesItem[]Required
total: The total.numberRequired
totalText: The total's label.stringRequired
totalShort: The total's label at the small sizes.stringRequired

ReplayLanesItem

One object per entry in lanes.items.

PropTypeDefault
d: The day.numberRequired
held?: Marks the item as held.booleanfalse

ReplayLanesDigest

One object per entry in digests.

PropTypeDefault
d: The day of the digest.numberRequired
n: The count.numberRequired

The data as a JSON Schema: schemas/replay-lanes.json

Replay lanes: a React and Figma chart in four sizes

What does a replay lanes show?

Replay lanes split a week of alerts into lanes by where they were sent, such as pager, chat and digest, so you see what woke people up and what waited. Use it for alert routing reviews and noise reduction.

Chartory ships it as a Figma component and a React component with the same name. The code installs from the shadcn registry with one command and lands in your project as a file you own.

What is the Replay lanes component?

It is one <ReplayLanes> component. Its props are the Figma properties with the same names and values, and the props table above lists them. The data is alerts with a time and a route.

Sizes XS, S, M and L re-lay the chart out from the data instead of scaling it, so labels stay readable at every size.

When should I use it?

  • Is routing the point? Yes means the replay lanes fit.
  • Are there lanes per route? Yes means the replay lanes fit.
  • Is it alerts, not shifts? Yes means the replay lanes fit.

When does another type fit better?

  • Fires per rule. Use Alert fire strip instead.
  • Every event in one row. Use Event barcode instead.
  • Who is on call. Use Rota lanes instead.

Replay lanes questions

Installing, data, Figma and plans.

  • Yes. It installs through the shadcn registry with the shadcn CLI, and the file lands in your project.

Stay in the loop

New charts, by email.

Get an email when new chart types and releases ship.

Unsubscribe any time.