1. Event contract
One row in agent_events, with the types used by the query made explicit.
- timestamp_utc
- Timestamp
- event_name
- Utf8
- data.tool_name
- Utf8
- data.status
- Utf8
- data.args.operation
- Utf8
- data.latency_ms
- Float64
Send pragmatic JSON events for product flows, APIs, jobs, webhooks, agents, and business operations. Telemetry creates and evolves the table schema so the data is ready for SQL.
Outcomes
How it works
Start where a user, worker, API, webhook, or agent produces a meaningful outcome. A small event at the boundary is easier to trust than a giant payload.
Include stable identifiers, status, duration, environment, feature, and categorized error context. Keep secrets and raw private content out.
Send synthetic test events, inspect the inferred schema, and run the first query. Add more coverage only after the event contract is useful.

Structured event tables in Telemetry
An actual Telemetry workspace showing ingested event tables and the query surface used to verify them.
Boundaries
Inspectable proof path
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.
One row in agent_events, with the types used by the query made explicit.
Which AI tools and arguments are associated with the most failed calls?
SELECT
"data.tool_name" AS tool_name,
"data.args.operation" AS operation,
COUNT(*) AS calls,
SUM(CASE
WHEN "data.status" = 'failed' THEN 1 ELSE 0
END) AS failures,
100.0 * SUM(CASE
WHEN "data.status" = 'failed' THEN 1 ELSE 0
END) / NULLIF(COUNT(*), 0) AS failure_rate_pct,
approx_percentile_cont("data.latency_ms", 0.95) AS p95_latency_ms
FROM agent_events
WHERE event_name = 'agent_tool_called'
AND timestamp_utc >= now() - INTERVAL '7 days'
GROUP BY "data.tool_name", "data.args.operation"
HAVING COUNT(*) >= 20
ORDER BY failure_rate_pct DESC, calls DESC;CRM lookup is both the least reliable tool operation and the slowest at p95.
| tool_name | operation | calls |
|---|---|---|
| crm_lookup | search_contact | 842 |
| order_api | fetch_order | 2210 |
| knowledge_search | semantic_search | 4510 |
Capabilities
See the analysis
Filter dotted nested fields and rank failing tools without flattening the original event payload.
Open recipeFind services, workers, or scheduled tasks that stopped reporting before a failure event appeared.
Open recipeUse SQL to rank API routes by 5xx error rate while protecting the result from low-volume noise.
Open recipeCustomer evidence
“Telemetry is one of the easiest ways to go from dumping in your data to actually understanding it.”
Shayan Taslim, LogSnag
Review the documented workflow“Telemetry makes it super easy to track, analyze, and visualize what's going on in my business. It's the perfect mix of simple and powerful.”
Namu Kang, Browserflow
Review the documented workflowRelated capabilities
SQL workbench and Query API
Explore
Shared dashboards
Use a focused prompt, send synthetic events, and verify the first useful query before expanding coverage.