Skip to content

How it works

Connect once, then let Ember read

Ember sits on your existing alerts, logs and deploys. When one pages, it runs the incident with the on-call: reading the evidence, ranking the cause, drafting the fix and writing the record.

01The loop

Four steps, one thread

01 · Connect

Point Ember at your signals

One alert source (PagerDuty, Opsgenie, Grafana) and one log source is enough to start. Add traces and the deploy feed to sharpen the reading.

02 · It reads

Ember does the triage

The moment an alarm fires, Ember correlates the logs, traces, metrics and recent changes, and pulls the lines that matter out of the noise.

03 · It ranks

Root cause and a drafted fix

A ranked cause with evidence and a confidence, and a drafted rollback or fix with the exact commands, fastest safe path first.

04 · You decide

The human runs it

Ember never touches production on its own. You run the fix. Ember logs each step and writes the timeline and postmortem as you go.

03How Ember responds

Alarm to postmortem, one thread

  1. 00:00

    The alarm fires

    Ember picks up the alert the moment it pages: the signal, the service, the severity, and the noise around it. It opens the incident and starts reading while you are still finding your laptop.

  2. +40s

    It reads the telemetry

    Logs, traces, metrics and the last deploys, correlated on a timeline. Ember pulls the lines that matter out of the ones that do not, and lines the errors up against what changed.

  3. +2m

    Root cause and a drafted fix

    A ranked root cause in plain language, with the evidence it keyed on and a confidence. Beside it, a drafted rollback or fix with the exact commands, fastest safe path first.

  4. resolved

    The timeline writes itself

    Every step is logged as it happens. When you stand down, the incident timeline and a first-draft postmortem are already written, ready to edit and share.

SEV2 · PAGERDUTY00:00

checkout-api 5xx rate 8.4% (threshold 1%) for 4m

p95 latency 2.9s · 3 services affected

Alarm fired. The clock starts.

READING TELEMETRY+40s
15:02:11pool timeout acquiring connection after 5000ms (redis)
15:02:12upstream payments 503 after 3 retries
15:02:12redis connected_clients=200 maxclients=200
15:01:58deploy v2025.7.3 healthy, warmup complete
logstracesmetricsdeploysflags
ROOT CAUSE · DRAFTED FIX+2m
Most likely78%

Redis connection pool exhausted after deploy v2025.7.3

pool timeout 5000msclients 200/200deploy at 14:58
Drafted rollbackkubectl rollout undo deploy/checkout-api
RESOLVED · POSTMORTEM DRAFTED+11m
00:00Alarm fired: checkout-api 5xx 8.4%
+2mCause ranked: Redis pool exhausted
+4mRollback approved in Slack, run by on-call
+9mError rate back to baseline, resolved

Action items: add a test for the pool regression, alert on Redis saturation, shorten the rollback path.

04Where the human stays

Ember decides nothing on production

Ember is a commander, not an actor. It reads, ranks and drafts. A person approves and runs anything that changes production, and every step is recorded.

Drafts, never executes

Rollbacks and fixes are shown with the exact commands. A human runs them.

Explicit approvals

On Team, a rollback can be approved from the incident thread in Slack, and the approval is logged.

Full audit

Every read, rank and action is on the timeline, so the postmortem is a record, not a reconstruction.

See it on your own incident.

Start free and run a real alarm through Ember in a minute.