Live metrics
The Live metrics screen lets you watch, without refreshing, the requests, errors and p95 latency of the last
minute, the new traces and the incident changes of your tenant, pushed by the server (Server-Sent Events). Portal
path: /observability/metrics (menu Observability > Live metrics). Support engineers and administrators keep
it open during a deployment or an incident.
What the screen shows
| Area | Content |
|---|---|
| Connection badge | Live while the stream is open, Reconnecting while the portal opens it again. |
| Cards | Requests (1 min), Errors (1 min), Error rate, p95 latency (ms) of the last minute. |
| Live chart tab | Requests, errors and p95 latency: one point per tick of the server stream (last minute window). Waiting for the first measurement until the first tick. |
| New traces tab | Root spans received since the page opened: Start, Name, Status, Duration (ms), Trace id. The tab shows their count. |
| Incident changes tab | Incidents created or changed since the page opened: Updated, Title, Severity, Status, Change (created or updated). The tab shows their count. |
The tab is kept in the address (?tab=traces, ?tab=incidents).
Actions
| Button or action | What it does | API call | Roles |
|---|---|---|---|
| Opening the screen | Opens the stream for 300 seconds; the server sends a metrics event at each tick (every 2 seconds by default), a trace event per new root span and an incident event per incident change. | GET /v1/telemetry/stream (timeout=300) | platform_admin, tenant_admin, auditor, viewer, support_engineer |
| Automatic reconnection | When the stream closes (timeout or network loss), the portal waits 3 seconds and reopens it with the Last-Event-ID header, so no event is lost. | GET /v1/telemetry/stream | Same roles |
| Live chart, New traces, Incident changes | Switch the tab. | None | Same roles |
The screen has no button that changes data.
Roles
| Role | Access |
|---|---|
platform_admin, tenant_admin, auditor, viewer, support_engineer | Open the screen and follow the stream of their tenant (ROLES of services/control-plane/src/eai/domains/observability/slo.py, reused by services/control-plane/src/eai/domains/observability/live.py). |
| Other roles | The Observability section is hidden; the page shows Your roles do not open this page. |
The stream needs a tenant context: the rows are those of the tenant of the caller.
Typical tasks
Watch a deployment
- Open the screen. Go to Observability > Live metrics before the deployment starts.
Expected result: the badge shows Live and the cards fill within a few seconds.
If it fails: if the badge stays on Reconnecting, check the network path to the Control Plane (a proxy must
not buffer
text/event-stream). - Follow the chart. In Live chart, watch the Errors (1 min) and p95 latency (ms) lines while the new version rolls out. Expected result: the error line stays flat and the latency stays under its target. If it fails: open New traces and click through to Traces to find the failing requests.
Follow an incident
- Open the Incident changes tab. Every incident created or changed appears without refresh.
Expected result: the tab count grows when an incident changes, with Change set to
createdorupdated. If it fails: No incident created or changed since the page opened. means nothing changed yet. - Open the incident. Go to Incidents to act on it. Expected result: the incident shows the same status. If it fails: check that you have a role of the security section.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Badge stuck on Reconnecting | The stream cannot be opened: network, proxy buffering, or an error answer. | Check the proxy (no buffering for text/event-stream) and your session. |
| Waiting for the first measurement stays | No tick received yet. | Wait a few seconds; reload the page. |
| Cards at zero | No root span in the last minute. | Expected when the tenant has no traffic; traces arrive with POST /v1/telemetry/spans. |
Error forbidden or tenant_required (HTTP 403) on the stream | No observability role, or no tenant. | Ask for the viewer or support_engineer role in your tenant. |