Telemetry
Explore

Filter, aggregate, and visualize a table without starting from blank SQL

Explore gives operators and product teams a fast path from event fields to samples, tables, lines, bars, and stacked areas while keeping the generated query visible.

Outcomes

  • Validate new instrumentation with exact sample rows.
  • Build common time-series views with filters and aggregations.
  • Hand the generated SQL to a deeper analysis when the question outgrows the controls.

How it works

A reviewable workflow from signal to decision

1

Inspect samples first

Confirm that fields contain the expected values and types before aggregating them. This catches instrumentation mistakes early.

2

Choose the metric and grain

Select the aggregation, numeric field, time bucket, and filters that match the question. Keep incomplete newest buckets in mind.

3

Promote useful views

Add the result to a dashboard or alert when it becomes part of a recurring workflow. Use Query for multi-table and multi-CTE logic.

Exploring structured events

A real product capture moving from event samples to filters, aggregation, and a visual result.

Boundaries

What this does not replace

  • Explore is optimized for one-table investigation; joins, several CTEs, and reusable analytical definitions belong in Query.
  • A chart cannot compensate for incomplete instrumentation, mixed units, or unstable route and event names.
  • High-cardinality raw identifiers are better used for restricted drill-down than as top-level chart dimensions.

Inspectable proof path

From event contract to a visible answer

This example uses a declared schema, read-only SQL, and deterministic synthetic results. It demonstrates the workflow without presenting sample data as a customer benchmark.

1. Event contract

One row in api_requests, with the types used by the query made explicit.

timestamp_utc
Timestamp
route_template
Utf8
status_code
Int64
latency_ms
Float64
Browse event contracts

2. Read-only SQL

Which API routes have the highest meaningful 5xx error rate?

SELECT
  route_template,
  COUNT(*) AS requests,
  SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END) AS errors,
  100.0 * SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS error_rate_pct
FROM api_requests
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY route_template
HAVING COUNT(*) >= 20
ORDER BY error_rate_pct DESC
LIMIT 10;

3. Synthetic result

The checkout route is the clearest reliability risk even though search has more total traffic.

route_templaterequestserrors
/api/checkout255
/api/search251
/api/profile200
Inspect query, result, and caveats

Capabilities

What is included

Samples and table views for raw event inspection
Line, bar, and stacked-area charts
Count, sum, average, min, max, and percentile aggregations
Time ranges, nested-field filters, split series, and explicit columns
Add-to-dashboard and create-alert actions from results

See the analysis

SQL recipes that use this capability

Customer evidence

How teams use this workflow

Related capabilities

Continue the event-to-decision workflow

Start with one production workflow

Use a focused prompt, send synthetic events, and verify the first useful query before expanding coverage.