Observability, a heartbeat, or a watchdog?

Three categories get sold as if they compete. They solve different problems, and the one you need depends on a question nobody asks you first: who is watching when this runs?

The three, in one line each

Tracing and observability (Langfuse, LangSmith, Helicone, Arize) record what happened inside a run: prompts, tokens, latency, tool calls, the chain of thought. They are built for the run you are already looking at, while you are building it.

A heartbeat monitor (Healthchecks.io, Dead Man's Snitch, Cronitor) records that a run checked in. They are built for the schedule, not for the work: the job pings, the page stays green.

A watchdog (this) records whether the work got done, for runs nobody is looking at. Start, end, cost, evidence, and an alert when any of it is missing or wrong.

Three questions that put you in one box

Are you debugging, or are you asleep? If you are iterating on a prompt and want to see why the model did something, you want tracing. Buy Langfuse or LangSmith, not us. We store no prompts and no outputs on purpose, so we cannot help you with that and never will.

Is checking in enough? If the only thing that can go wrong is that the job does not run, a heartbeat is the right tool and Healthchecks.io is free, open source and excellent. Use it. You do not need us.

Can the job finish and still have failed? This is the one that decides. A scraper that returns an empty list, a report builder whose upstream went quiet, an agent that hit a rate limit and gave up gracefully. All three exit zero, ping their monitor and show green. If that is your situation, neither of the first two categories will tell you.

What that looks like in numbers

Over 30 days our own fleet of 70 scheduled jobs produced 60 alerts across 4,104 runs. 12 of them were "the run never started", which is the part a heartbeat catches. The rest were not: failures with an exit code, cost or duration drifting away from a job's own baseline, and runs that reported success while the file they promised was missing.

Full breakdown with what each kind means: how often does an unattended job actually fail.

They stack, and that is normal

Tracing and a watchdog are not alternatives. Tracing answers "why did this run do that", a watchdog answers "should someone look at this run at all". Plenty of setups have both, with the watchdog as the thing that pages you and the tracer as the thing you open once it has.

The one pairing that is genuinely redundant is two heartbeat monitors. Pick one.

The part only one of the three has

A record you can prove was not edited afterwards. Every finished run here is hashed, every day of hashes sealed into a Merkle root, every root chained to the day before and anchored in Bitcoin. No tracer and no heartbeat does this, because their record is a row in their own database and you are asked to trust it.

That matters in exactly one situation: when someone other than you has to believe the record. Recompute a real run yourself, no account, and see what it does and does not cover for the EU AI Act.

Compare us against a specific tool

Each of these says where the other one is better, because a comparison that never does is an advert: all comparisons.

If you read this and conclude you need one of the others, that is a good outcome. Somebody who arrives with the wrong need cancels within a month, and we would rather not have the month.