Internal Tool

Chronicle

See everything. Correlate anything. Fix what matters.

Explore Features

Screenshots

See It in Action

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.

Accessibility

Built for Everyone

  • WCAG 2.1 AA Compliance

    4.5:1 contrast for body text, 3:1 for large text and UI components, in both light and dark themes.

  • Keyboard Navigation

    Every interaction reachable via keyboard. Logical tab order, visible focus indicators, Escape-to-dismiss for modals.

  • Screen Reader Support

    VoiceOver, NVDA, and JAWS tested. Semantic HTML, ARIA labels, live regions for dynamic updates.

  • Reduced Motion

    Respects prefers-reduced-motion. Usable at 200% zoom. Touch targets meet 44x44 minimum.

How It Works

From Signal to Resolution

  1. Step 1: 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.

  2. Step 2: Curate

    The ingest pipeline scores, clusters, and indexes. Interesting lines kept at full fidelity. Boring patterns sampled down. Nothing lost — everything findable.

  3. Step 3: Alert

    Rules evaluate on a window. Firing alerts page via notification-service through the current on-call's Cadence-defined preferences. Runbook renders inline.

  4. Step 4: 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

Every tool in the Renkara fleet was built by Claude (Anthropic) working alongside a single human supervisor. Every line of code, every test, every deployment: AI-authored with human direction. The leverage factor across the fleet runs in the 20x–50x range, with individual sessions regularly exceeding 100x.

See the daily leverage records for per-task numbers across the full build history.