Screenshots
See Chronicle in Action
Alerts — firing alerts with rule, current value, time-since-fire, and one-click acknowledge
Features
Three Pillars, One Platform
Metrics, logs, and traces in the same system — plus alerts, SLOs, and incidents built on top. No vendor lock-in, no stitching, no "you need a third tool for traces."
Observability Pillars
Metrics, Logs, Traces — All Correlated
Metrics at Any Resolution
1-second raw samples, 1-minute / 5-minute / 1-hour continuous aggregates. The query engine picks the coarsest bucket that still resolves the query.
Structured Logs
Severity, body, attributes, trace-id, span-id, pattern-id, interestingness score. Query by any dimension. Correlate to traces with one click.
Distributed Traces
Spans with parent/child, operation, kind, status, duration, and attributes. Waterfall view. Jump from span to correlated logs via trace-id.
SLOs & Burn Rate
SLOs over any metric expression. Multi-window burn-rate alerts. Error budget remaining shown on every service page.
OpenTelemetry Native
No Vendor Lock-In, No Proprietary Agent
OTLP-HTTP JSON Ingest
Standards-compliant OTLP receivers for metrics, logs, and traces. Use any OTel SDK in any language and it just works.
Chronicle SDK
Three-line wire-up. init_chronicle(service_name) auto-instruments FastAPI, httpx, SQLAlchemy, asyncpg, and redis. The fleet adopted it in a day.
Resource Attribution
Every signal carries service.name, deployment.environment, and service.version. Deploy markers mark version transitions on every metric chart.
Prom & StatsD Adapters
Legacy metric sources keep working. remote_write from Prometheus and UDP StatsD both accepted and normalized.
AI Curation
The Boring 99% Sampled, the Weird 1% Kept
Log Interestingness Scoring
Mercury 2 scores every log line 0.0–1.0 for anomaly value. Sub-threshold lines sample down; above-threshold lines retain full fidelity.
Pattern Clustering
Similar log lines get a shared pattern_id. The top-500 patterns per service become a queryable library — you stop scrolling, you start filtering.
Sonnet 4.6 RCA Drafts
When an alert fires, Sonnet reads correlated traces, logs, recent deploys, and similar past incidents to draft a root-cause hypothesis — before the on-call pages in.
Natural-Language Query
"Show p95 latency for soulcore-inference since the last deploy." The NL translator maps plain English to structured queries and charts the result.
Fleet Integration
The Data Plane for the Whole Renkara Fleet
Vigil Dependency Flip
Vigil becomes a presentation layer for service health. Chronicle stores the probe data, Vigil shows the status page. Two tools, one source of truth.
Docket Auto-Filing
Recurring error signatures open a Docket card automatically. Alerts link to the filed card; fixes close both.
Codex Runbooks Inline
Alert rules carry a runbook_url annotation. The page renders the Codex runbook inline when the alert fires — no tab-switching during a fire.
Cadence On-Call, Courier Comms
On-call rotation lives in Cadence; paging looks up the shift. Customer-facing incident comms drafted from Courier templates.
How It Works
From Signal to Resolution
Emit
Services ship OTLP. Chronicle SDK wires it in three lines. Metrics, logs, and traces all share a trace_id from the entry span forward.
Curate
The ingest pipeline scores, clusters, and indexes. Interesting lines kept at full fidelity. Boring patterns sampled down. Nothing lost — everything findable.
Alert
Rules evaluate on a window. Firing alerts page via notification-service through the current on-call's Cadence-defined preferences. Runbook renders inline.
Resolve
Sonnet drafts the RCA before the on-call reads the page. Incident timeline captures every action. Postmortem seeds a Narrative blog post and a Slate follow-up.
Technical Specifications
Under the Hood
Backend
- FastAPI (Python 3.12+)
- PostgreSQL + TimescaleDB for metrics
- ClickHouse for logs + traces at scale
- Celery + Valkey workers
- OTLP-HTTP receivers (v1/metrics, v1/logs, v1/traces)
Frontend
- React 19 + TypeScript
- Vite build system
- Recharts for timeseries
- Composable dashboard widgets
- Light and dark mode
Ingest
- OTLP-HTTP JSON (primary)
- Prometheus remote_write adapter
- StatsD / Fluent Bit / syslog bridges
- Browser RUM endpoint
- Back-pressure-aware batching
AI
- Mercury 2 for log scoring + clustering
- Sonnet 4.6 for RCA drafting
- NL-to-query translator
- MCP-native — every query, dashboard, alert, and incident
Development
100% Built by Claude
Chronicle was built entirely by Claude (Anthropic) working alongside a single human supervisor. Sixteen phases across three pillars — metrics, logs, traces — plus alerts, SLOs, and incidents.