Metrics & Monitors

Metrics & Monitors

Metrics aggregate a view’s data into charts. A metric needs a name, view, and timestamp field. Grouping and filters are optional.

Create a metric

  1. Open Metrics and click New Metric.
  2. Choose a view and timestamp field. The UI selects the first eligible date or string output field by default.
  3. Optionally choose Group By, a numeric value field, a unique-count field, and filters.
  4. Click Create Metric.

Tailglow backfills existing view data, then updates the metric from new data. The status indicates whether it is initializing, waiting for transforms, backfilling, active, in error, or cancelled.

Partial results and waiting shapes

Charts show available results with a compact coverage control in the header. Open it to see whether records need mapping or recovery work, or completeness is simply unverified. Unverified historical or time coverage can remain even when the source view has no pending shapes and its scripts are live. An amber region on Cartesian charts marks incomplete results with known mapping, recovery, or exclusion reasons; empty ranges show a no-data state. Trends and forecasts use verified complete buckets; they are unavailable when coverage is unknown or too little complete data remains. Monitors and storage sealing continue to use the verified boundary.

Use Inspect view, then Inspect on a waiting shape, to see missing fields, changed types, possible substitutions, and the fields each candidate TGL reads. The drawer lists the shape’s fields and types, using full paths for nested fields. Activity details shows its state, dates, source, stored rows, and schema observations. Pending shapes also show the next automatic check or requested hint. A small deferral-evidence count is not the total number of ingested records.

Excluding a version records a decision for that view and version, including future matching records. It does not erase existing materialized output. Charts retain an exclusion notice; other views make independent decisions.

Waiting for a schema mapping does not create a new late-data decision. Catch-up preserves original admission. Sealed history is rebuilt by re-backfilling the metric: a change to its data feed, or the re-backfill action, wipes its rollups and rebuilds them from the retained rows. Adding rows to the hot tier is not enough.

Metric settings

Metric settings are organized into four tabs. Display covers display value, time range, chart type, value unit, empty-interval handling, the maximum series shown, Compact Values, which rounds tooltip readings to compact notation such as 321.3M and is on by default, and Y Axis Min and Max, which pin either end of the y axis on line, area, and bar charts. Leave a bound empty and that side keeps fitting the data. Analysis covers trend lines, forecasting, and alert markers. Colors covers how series are pinned and painted. The metric’s name is edited in the settings header. Tailglow chooses the interval from the selected time range.

The Query tab lets you change the view, timestamp field, grouping, values, and filters. Changing it rebuilds the metric.

Tailglow supports line, area, bar, pie, scatter, radar, stat, gauge, calendar, and uptime charts. Trend lines and forecasts are available for line, area, and bar charts. Alert markers are available for line, area, bar, pie, radar, and calendar charts. With trend lines on, the tooltip reports each bucket’s distance from the trend, green above and red below, and a single-series chart adds the overall growth per period. A line whose direction the data does not support carries a small warning triangle instead.

Calendar and uptime charts render time itself, so they read best over day-sized buckets. A calendar shades one cell per day (per hour when the range is a week or less) by value, and a metric with several series sums them into one calendar. An uptime strip colors one cell per bucket using the value rules from the Colors tab; a metric with several series draws one strip per series plus an Overall row carrying the worst value of any series in each bucket. An uptime chart in By Value mode with no rules yet offers a one-click preset: 99.9 and above green, 99 and above amber, anything lower red. Click any cell on either chart to zoom into that period.

Forecasting

A forecast extends a metric’s best fit line past your latest data, so the chart shows where the metric is heading.

Turn it on from the Analysis tab of the metric’s settings with Show Forecast. Default Horizon sets how far ahead the chart looks: Next 7 days, Next 30 days, Next 90 days, End of quarter, End of year, or Next year. Relative horizons resolve when the chart is viewed, so a metric set to Next 30 days always looks 30 days past the day you open it. Model sets the shape of the projection. Auto follows whichever model fits the current data best, or you can pin Linear, Exponential, Logarithmic, Logistic, or Sinusoidal. Either way, the list marks the model that currently fits your data best.

Every line, area, and bar chart in the app carries a forecast control in its header, whether or not the metric has forecasting saved. Use it to change the horizon or the model for your own view. The metric’s saved settings do not change, and neither does what anyone else sees. Use metric default returns you to the saved settings, and your choice lasts only for the current visit.

The projected part of the chart is drawn dashed, with a shaded band around it covering the range of likely values. The band is always shown with a forecast. In the tooltip, projected buckets add labeled columns: the estimate appears as a small chip on a track, with the bucket’s bounds beside it. A bucket that is still filling in shows the value recorded so far under Now, with Est. and Max for the projected landing and ceiling; a fully projected bucket shows Min and Max around the estimate. Buckets that are fully measured keep the plain tooltip.

When a fitted model explains little of a series’ history, or its first projection leaps far from recent values, that series carries a small warning triangle in the tooltip: the forecast still draws, but read it as low confidence.

Forecasts need a line, area, or bar chart. On a stacked bar chart every visible series gets its own fit, and the projected buckets draw as hatched ghost bars stacked in the same order as the bars. The tooltip reports each series’ projection plus a Total row. On a stacked line or area chart the forecast projects the stack’s total.

Late data

Most data arrives in order and charts simply fill forward. Data sent live is never late: an event without a timestamp of its own is stamped on arrival and always charts automatically.

Only events with an overridden timestamp, such as the SDK’s event_time field, can land in the past. This is normal when importing history, replaying a queue, or batching in an integration. How far back such an event may reach and still enter charts automatically is your project’s late data window.

The late data window

Open project Settings, then find the Late Data card under General. The window is a number of minutes, counted back from the newest data already in your charts:

  • Within the window, a late event folds into charts automatically. Nothing to do.
  • Beyond the window, the event is stored and counted, but stays out of charts until you fold it in with a re-backfill.

The default is 120 minutes, which covers most integrations. Set it to 0 to hold everything that arrives behind your charts: each such event is surfaced instead of charted. The maximum is 129,600 minutes (90 days).

The window is a promise about charts, not about storage. Late events are kept in your views either way; only their aggregation waits. Records, exports, and drains are unaffected.

Changing the window applies to events that arrive after the change. Events already held under the old window stay in Late Data Waiting until you re-backfill them.

Re-backfilling late data

When events are held out of charts, a Late Data Waiting card appears in the project’s general settings. Each row is one batch: the view it belongs to, how many events were held, and the event-time range they span.

Click Re-backfill to fold a batch in. The row shows Queued, and the events appear in charts as the fold completes, back to the earliest event in the batch.

Very large batches can appear in this list even when their events are inside the window. Folding a batch that touches many hours of history is expensive on a busy metric, so a batch beyond roughly a hundred thousand events, or one spread across more than 48 distinct hours, waits for the same one-click confirmation instead of folding silently. The window itself never changes on its own: only you decide what enters charts automatically.

Choosing a window

The default suits the common pattern of backfilling history first and then running live. If your integrations regularly submit data that is hours or days old, widen the window so those events chart without manual steps. If you report on recent data and want it locked quickly, narrow the window or set it to 0 and treat Late Data Waiting as your review queue.

Monitors

Open a metric and use its monitor control to manage monitors. Click the add icon to create one. A metric can have up to 15 monitors.

The drawer lets you choose threshold, sustained, existence, or no-data conditions, along with the evaluation window, frequency, alert length, occurrence threshold, expiry, series filters, and preview. A spanning alert remains open until it clears; an instant alert opens and ends at once.

Existence fires when the selected metric value is greater than zero. To detect that a feed has stopped, choose No data, then set an evaluation window such as 10 minutes. This condition counts observations across the whole window, even if the chart displays missing values as gaps. A measured value of zero still counts as data. Evaluation waits until the window is complete; a processing delay or unknown completeness does not itself mean data is missing.

Use Total when the whole feed must go quiet, Any series when any known series going quiet should open one alert, or Each series for a separate alert per quiet series. Series filters narrow the observations being watched. A metric with no known series can trigger a total no-data alert; per-series scopes need a known series to watch.

Evaluation windows have presets and a Custom duration in whole minutes. All time looks back to the metric’s creation and is unavailable for no-data conditions. The frequency controls how often the rule is checked; it is separate from the window.

The no-data preview checks the current window with the same rules as the evaluator. If the window is incomplete it reports that no verdict is available. It does not simulate scheduling or occurrence thresholds.

A blinking red indicator means an alert is currently open. Ended alerts remain shaded on the chart as history, with their original condition and end time, but do not keep the indicator blinking.