AI-powered reliability engineering analysis

Your code ships.
Your metrics don't lie.
Horion finds the gap.

Connect your repo. Horion analyzes metrics, logs, and traces instrumentation in your code, scores each pillar, and opens a PR with the actual fixes.

horion — analysis complete
$ horion analyze --repo acme/payments --type full

  Cloning repo...        done
  Walking 47 files...    done
  Running LLM analysis...

  Pillar       Score   Grade   Findings
  ─────────────────────────────────────
  Metrics        48      D       12
  Logs           72      C        4
  Traces         63      C        7
  ─────────────────────────────────────
  Global         61      C       23

  3 critical  ·  11 warning  ·  9 info

  Fix PR ready: github.com/acme/payments/pull/84

how it works

01

Connect your repository

Install the Horion app on your org. Every push and PR triggers an automatic analysis. Or run manually anytime from the dashboard.

GitHub
GitLab
Bitbucket
horion.yml
# .github/horion.yml
on:
  - push
  - pull_request

analysis:
  type: full
  pillars:
    - metrics
    - logs
    - traces

notify:
  fix_pr: true       # auto-open a fix PR
  comment_on_pr: true
analysis output
{
  "score_global": 61,
  "score_metrics": 48,   // missing histograms
  "score_logs":    72,   // high noise on DEBUG
  "score_traces":  63,   // no span propagation
  "findings": [
    {
      "severity": "critical",
      "pillar": "metrics",
      "title": "No latency histogram on /checkout",
      "file_path": "src/handlers/checkout.py",
      "line_start": 34
    }
  ]
}
02

Horion scores your instrumentation

The agent clones your repo, walks every file, and grades metrics coverage, log signal-to-noise ratio, and trace propagation — each on a 0–100 scale.

OpenTelemetryOpenTelemetry
DatadogDatadog
GrafanaGrafana
PrometheusPrometheus
03

Review findings in-context

Each finding is pinned to the exact file and line. The suggested fix is shown as a complete code snippet — not a vague description.

src/handlers/checkout.py line 34
# before
- logger.info("checkout started")
- result = process_payment(cart)
- logger.info("checkout done")
# after (Horion suggestion)
+ CHECKOUT_LATENCY = Histogram(
+ "checkout_latency_seconds",
+ "End-to-end checkout duration",
+ buckets=[.05,.1,.25,.5,1,2.5,5]
+ )
+ with CHECKOUT_LATENCY.time():
+ result = process_payment(cart)
github pull request
horion-bot opened a PR 3 minutes ago

[horion] fix observability — 4 findings

  branch: horion/fix-observability-2024-04-01

  | file                        | finding             |
  |-----------------------------|---------------------|
  | src/handlers/checkout.py    | latency histogram   |
  | src/workers/email.py        | span propagation    |
  | src/api/users.py            | DEBUG log noise     |
  | infra/otel-collector.yaml   | pipeline drop rule  |

  Score before: 61  ->  Score after (est.): 84
04

Merge the fix PR

One click enqueues Claude to write the actual patches, push a branch, and open a PR. You review, merge, and ship better observability.

Ready to illuminate your stack?

50 free credits every month. No credit card required.

get started free