Dashboards
Put the metrics you watch on one page.
Chart request latency next to heap usage next to CPU, from the OpenTelemetry metrics your services already report. Variables filter every widget at once, and a copied link opens the same view for anyone on the project. Every project also opens on an overview of its health.
- Six visualizations
- Time series, stats, bars, pies and tables
- Variables
- One selection filters every widget
- Formulas
- Combine queries, such as A / B
- Shared by link
- Same range, services and variable values
Filter every widget at once
A new dashboard comes with $service, $env, $version and $route. Pick values in a chip and every widget whose metric carries that attribute narrows to them.
- Up to 8 variables, each tied to one attribute your metrics carry
- A widget filter can use $service as a value, and drops it when nothing is selected
- Selections live in the URL as var.service=api, so a link keeps them
Build a widget against live data
The widget editor previews the chart with the current time range and services while you pick a metric, an aggregation, a group by and filters. Aggregations follow the metric type, so a histogram starts on P95 and a counter on rate per second.
- Time series, stat, sparkline, bars, pie and table visualizations
- Up to 6 queries per widget, each drawing its 10 largest groups
- Drag and resize on a 12-column grid, or move widgets with the arrow keys
Ratios and percentages from formulas
Formulas combine a widget's queries by letter into one series, such as A / B for a ratio or A * 100 for a percentage. An assistant can build the same widget through the MCP server.
- Up to 4 formulas per widget, each with its own legend
- Numbers, +, -, *, / and parentheses between query letters
- Values format as numbers, durations, percentages or bytes, or follow the metric's unit
{
"project": "storefront",
"dashboardId": 2,
"title": "Heap used of limit",
"type": "chart",
"queries": [
{
"metric": "v8js.memory.heap.used",
"aggregation": "max",
"filters": [{ "key": "service.name", "values": ["$service"] }]
},
{
"metric": "v8js.memory.heap.limit",
"aggregation": "max",
"filters": [{ "key": "service.name", "values": ["$service"] }]
}
],
"display": {
"values": "percent",
"formulas": [{ "expression": "A / B", "legend": "heap used" }],
"hideQueries": true
}
}Keep a chart you found in Metrics
Add to dashboard on a metric's page turns the chart into a time series widget with the same aggregation, grouping and filters. Pick an existing dashboard or name a new one.
- The widget keeps the chart style, line, area or bars
- Filters other than "is" are listed as not carried over
- A new dashboard and its first widget are saved together
Shared with the project, changed by its creator
Every dashboard is visible to everyone who can view its project. Only its creator and org admins can rename it, edit its widgets or delete it. Everyone else sees it read-only, with Duplicate to make their own copy.
- Copy link keeps the range, environment, services and variable values
- Copy link to this exact window pins the start and end for everyone
- Delete has an Undo that brings the dashboard back with its widgets
An overview for every project
Each project opens on an overview that needs no setup. It reads the traces your services send and tells whoever is on call whether the app is healthy and what to look at first.
- Alerts, uptime, incidents and new issues in one strip, refreshed every 30 seconds
- Eight cards with a sparkline and the change against the previous period
- Traffic and latency charts with deployment markers, then the slowest endpoints and queries
Works with
Where the numbers come from
- AdonisJS agentRuntime and host metrics with no extra code.
- OpenTelemetryAny gauge, sum or histogram you record with the metrics API.
- MetricsAdd to dashboard from any metric's chart.
- Scope controlsWidgets follow the range, environment and services above.
- DeploymentsReleases marked on the overview's traffic and latency charts.
- MCP serverAssistants create dashboards and add, edit or remove widgets.
Questions
Try it on your own stack.
Every feature is on every plan, priced by the telemetry you send.