Open source · Apache 2.0 · Self-hosted
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.
docker compose up -d
Alerts stay in your stack: Datadog, Prometheus, Grafana. Automation stays in yours. ToTrackIt watches the clock.
How it works
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
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
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
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 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.
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
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.
# active processes past their deadline
totrackit_processes_overdue_current{name="account-activation"} 3.0
totrackit_processes_deadline_missed_total{name="account-activation"} 14.0
totrackit_processes_completed_on_time_total{name="account-activation"} 1247.0
totrackit_processes_completed_late_total{name="account-activation"} 9.0
What's in the box
On-track, missed, on-time, or late, computed in real time from timestamps. Never stale. Works for engineering SLOs and customer SLAs alike.
See instantly that the stuck runs share a segment: country, channel, provider, customer tier.
avg / p50 / p90 / p99 completion time per tag. Slow segments stand out before they breach.
A shareable URL per process with a period picker, impact breakdown, and every run.
Deadline events carry tags, context, and a deep link, ready for a pager bridge or your own automation.
One Docker Compose file: API, UI, PostgreSQL. Java 21 + Micronaut. Your data stays yours.