Open source · Apache 2.0 · Self-hosted

Every process has a deadline.
Know when it slips. And why.

Account activations, payments, KYC checks, deliveries. When they quietly run late, customers notice first. ToTrackIt tracks every run against its deadline, shows which country, channel, or provider the problem is hiding in, and fires an event so your systems can react before the customer does.

View on GitHub docker compose up -d

Alerts stay in your stack: Datadog, Prometheus, Grafana. Automation stays in yours. ToTrackIt watches the clock.

account-activation SLO 1h
act-9f27 country:DE kyc:provider-x
ON TRACK MISSED
Impacted tags · last 1h
country:DE
14 overdue
kyc:provider-x
9 late
country:FR
0 problems
p90 latency: DE 78m · FR 9m

How it works

Two API calls in. Alerts and automation out.

1

Instrument the process

Start each run with a deadline and business tags. Complete it when it finishes. That's the whole integration.

POST /processes/account-activation
{ "id": "act-9f27",
  "deadline": now + 1h,
  "tags": [country:DE, kyc:provider-x] }

PUT /processes/…/act-9f27/complete
2

Alert where you already page

ToTrackIt exposes deadline-shaped Prometheus metrics. Point a Datadog monitor or Prometheus alert at them. No new pager, no migration.

processes_overdue_current deadline_missed_total completed_on_time_total completed_late_total
3

Diagnose in one glance

The alert's deep link lands on the process page: every run in the period, impacted tags, and completion latency by segment: avg, p50, p90, p99.

# from the alert payload
"url": "https://totrackit.you.com/?name=account-activation"

When time runs low

Page a human. Or trigger a machine.

The same deadline event serves both. ToTrackIt doesn't run your workflows. It watches the clock on them and fires when time runs out.

A human reacts

A Datadog or Prometheus monitor fires on the overdue gauge. The alert's deep link lands the on-call on the process page: impacted tags, latency by segment, every run.

A machine reacts

Webhooks carry the run's tags, context, and URL. A warning event fires at 75% of the deadline budget, so your retry job, escalation queue, or customer notification can act before the breach.

{ "event": "process.deadline_missed",
  "tags": [country:DE], "context": { customerId },
  "url": "…/?process=account-activation/act-9f27" }

Observability-native

Speaks fluent Prometheus

Scrape /prometheus with the Datadog Agent or Prometheus. Build a metric-based SLO like "99% of activations complete within 1 hour", with error budgets and burn-rate alerts in the tool your team already trusts.

  • Per-process overdue gauge, refreshed every 30s
  • On-time / late / missed counters for SLO math
  • Warning and breach webhooks with deep links, before and after the deadline

What's in the box

Small surface. Sharp answers.

A deadline on every run

On-track, missed, on-time, or late, computed in real time from timestamps. Never stale. Works for engineering SLOs and customer SLAs alike.

Root cause by tags

See instantly that the stuck runs share a segment: country, channel, provider, customer tier.

Latency by segment

avg / p50 / p90 / p99 completion time per tag. Slow segments stand out before they breach.

Per-process pages

A shareable URL per process with a period picker, impact breakdown, and every run.

Webhooks for humans and machines

Deadline events carry tags, context, and a deep link, ready for a pager bridge or your own automation.

Self-hosted, Apache 2.0

One Docker Compose file: API, UI, PostgreSQL. Java 21 + Micronaut. Your data stays yours.

Track your first process in five minutes.