< 100ms
Query latency (PB scale)
10:1
Avg compression ratio
OTEL
Native collector
3-in-1
Logs, traces, metrics
Everything your on-call needs
πŸ“‹

Structured Logs

Ship JSON logs via Fluent Bit, Vector, or our SDK. Auto-parsed fields, full-text search, and long-term retention at S3 prices.

πŸ•ΈοΈ

Distributed Traces

OpenTelemetry-native trace ingestion. Waterfall views, service maps, and trace-to-log correlation out of the box.

πŸ“ˆ

Metrics

Prometheus-compatible scrape endpoints. Long-term storage with downsampling. Alert via PagerDuty, Slack, or webhooks.

SQL across all signals

One language, all your telemetry data. No proprietary query language to learn.

-- Error rate by service, last 15 minutes
SELECT
  service_name,
  COUNT(*) FILTER (WHERE level = 'ERROR') AS errors,
  COUNT(*) AS total,
  ROUND(100.0 * COUNT(*) FILTER (WHERE level = 'ERROR') / COUNT(*), 2) AS error_pct
FROM logs
WHERE _time > NOW() - INTERVAL '15 minutes'
GROUP BY service_name
ORDER BY error_pct DESC;