Every page of the console, and what it reads.
Bolt Sight is a hosted console for OpenTelemetry data. Each page reads one kind of telemetry that you send; this page says what it does, how you use it and the limits the app enforces. Panels show sample data.
Traces (Investigate)
Investigate pairs a filtered trace table with a workbench for the selected trace. Select a row, or paste a trace ID into the lookup field, and the evidence opens beside the list. Close trace returns to the full list with your filters intact.
How you use it
- Filter by service, status, duration range, span name and time range.
- Select a trace to open its Timeline, Trace (waterfall) and Logs tabs.
- Select a span to read its attributes, events and exceptions and the log lines written during it.
| Setting | Value |
|---|---|
| Filters | Service, status (OK, ERROR, UNSET), min and max duration, span name, time range |
| Trace view | Timeline, waterfall, span detail, correlated logs |
| String filters | Up to 256 characters |
| Time window | Up to 30 days per query; raw data older than 8 days has already been deleted |
| Span tree | Up to 100 levels deep |
| Built from | Spans sent as OTLP traces, plus logs that carry the same trace ID |
Logs
Search stored logs or switch to Live Tail. Every trace lists the log lines written during it, and a trace ID in a log opens that trace, so you can move between the two without copying IDs.
How you use it
- Search the body in full text and narrow by severity, service and attribute filters.
- Read the volume histogram, stacked by severity, to find when it started.
- Switch to Live Tail to stream new lines; pause to buffer them while you read.
| Setting | Value |
|---|---|
| Severity | TRC, DBG, INF, WRN, ERR, FTL |
| Search | Full text; up to 512 characters; up to 10 attribute filters |
| Search window | Up to 7 days |
| Volume | Histogram stacked by severity |
| Live Tail | WebSocket; pause buffers up to 1,000 lines; reconnects with backoff from 1 to 30 s |
| Built from | OTLP log records: severity, body, attributes, trace and span IDs |
Metrics
Pick a metric from the catalog, aggregate it, split it by attribute and read each series. The query lives in the URL, so a chart is a link you can share.
How you use it
- Choose a metric from the namespace tree, or search the catalog by name.
- Set the aggregation, group by up to five attributes and add attribute filters.
- Read the legend (min, max, average, current) and click a series name to hide or show it.
| Setting | Value |
|---|---|
| Aggregations | avg, sum, min, max, count, last |
| Group by | Up to 5 attributes |
| Filters | Up to 10 attribute key-value pairs |
| Resolution | Raw to 3 h; 1-minute to 7 d; 1-hour beyond |
| Points | Step sized for at most 500 per series |
| Built from | Gauge, sum and histogram metrics (exponential histograms and summaries are not stored) |
Dashboards
Dashboards put time-series charts and single-number panels under one time range. Each panel fetches its own data in parallel.
How you use it
- Open a saved dashboard to see its panels on a responsive 12-column grid (one column on a phone).
- Edit a dashboard to add a panel, set its title, type, metric, aggregation and group by, and drag or resize it, with undo and redo.
- Duplicate a dashboard to start a variation.
| Setting | Value |
|---|---|
| Panel types | Time-series, stat (a single value: current, average, sum and similar) |
| Layout | 12-column grid; drag and resize while editing |
| Time range | Shared by every panel |
| Who can change them | Editors and above; viewers can open them |
Alerts
A rule watches a metric or a log pattern. The condition must hold for a set time before the rule fires, so a short spike does not page anyone. When it fires, and again when it resolves, the rule notifies its channels.
How you use it
- Create a rule: choose metric or log, the condition and threshold, how long it must hold, a name and a severity.
- Attach one or more notification channels, and use Test on a channel before relying on it.
- Read the History tab for each state change with the value at that moment.
| Setting | Value |
|---|---|
| Query types | Metric or log |
| Operators | >, ≥, <, ≤ (no equality: float comparison is unreliable) |
| For duration | 60 to 3,600 s |
| States | ok, pending, firing, resolved |
| Severity | info, warning, critical |
| Evaluator | Every 30 s |
| Channels | Webhook, Slack, email, Telegram; up to 10 per rule; test and history |
Services and the dependency map
Services appear on their own from the service.name resource attribute; there is nothing to register. The catalog shows live request, error and latency numbers next to the ownership details you add, and the Map tab draws who calls whom.
How you use it
- Open the catalog for every service seen in the last 24 hours, with request count, error rate and P50, P95 and P99 latency.
- Open a service to add its team, language, description, repository URL, tags and a P99 target. Administrators edit this metadata.
- Switch to Map to see callers and callees drawn from traces; hover a node or edge for requests, error rate and duration.
| Setting | Value |
|---|---|
| Description | Up to 1,024 characters |
| Team, language, repository URL | Up to 256 characters each |
| Tags | Up to 10, each up to 64 characters |
| P99 target | Milliseconds, for comparison with the observed P99 |
| Map edges | Parent and child spans that belong to different services |
Errors
Exceptions recorded on spans are grouped by exception type and message, so a thousand occurrences of one failure read as one row with a count.
How you use it
- Filter the groups by service and time range.
- Open a group for its occurrences, each with trace ID, span, service, attributes and the stack trace.
- Follow a trace ID from an occurrence to the full waterfall.
| Setting | Value |
|---|---|
| Group columns | Exception type, message, service, occurrences, affected traces, first and last seen |
| Trend | Occurrences over time for each group, up to 500 points |
| Time window | Up to 30 days per query; raw data older than 8 days has already been deleted |
| Built from | Span events named exception (recordException in any OpenTelemetry SDK); stack traces up to 1 KB |
Web Vitals
The browser SDK reports Core Web Vitals as metrics. The page shows each vital with its rating and a chart, so a slow page load or a layout shift shows up beside your backend data.
How you use it
- Open Web Vitals for five cards, one per vital, each rated good, needs improvement or poor.
- Open the Metrics page and group a vital by page.url to compare pages.
- Pin the vitals you care about to a dashboard.
| Setting | Value |
|---|---|
| LCP, Largest Contentful Paint | Good up to 2,500 ms, poor above 4,000 ms |
| INP, Interaction to Next Paint | Good up to 200 ms, poor above 500 ms |
| CLS, Cumulative Layout Shift | Good up to 0.1, poor above 0.25 |
| FCP, First Contentful Paint | Good up to 1,800 ms, poor above 3,000 ms |
| TTFB, Time to First Byte | Good up to 800 ms, poor above 1,800 ms |
Also in the app
Pages that read data you choose to send.
| Events | Product events sent as log records whose body is an event name: section clicks and impressions, upsell clicks and conversions, recommendation clicks. The page shows section click-through, an upsell funnel, revenue by surface and recommendation click-through by source. |
|---|---|
| Jobs | Queue pressure and the history of each background job run across attempts, errors and request correlation. It reads job lifecycle events posted to the ingest endpoint; BullMQ is the source system accepted today. |
| Overview | A project landing page for what needs attention right now. |
| Command palette | Ctrl+K or ⌘K from anywhere: go to any page or project while keeping the current time range, create a dashboard or alert rule (editors and above), change the theme or sign out. |
| Themes | Light, dark or system, from the user menu or the command palette. |
Projects, access and billing
How a team shares one project, and who can change what.
| Projects | Everything is organized by project: telemetry, ingest keys, members, dashboards, alert rules and credits belong to one project and are not shared with another. |
|---|---|
| Roles | Each member of a project is an Owner, Editor or Viewer. Viewers read; Editors also create and change dashboards and alert rules; Owners also manage keys, allowed origins, members and billing. Account administrators can do what an Owner can. |
| Ingest keys | Create, name and revoke keys under Settings › API Keys. A key is shown once and can only send telemetry. Up to 50 keys per project, so every producer can have its own. |
| Allowed origins | Up to 20 exact origins per project for browser requests, for example https://app.example.com. |
| Billing | The project’s Billing page shows the credit balance and usage and is where credit packs are bought. It is available to the project owner or an administrator. |
| Sign-in | Email and password, or Google. Creating an account also creates your first project. |