Skip to content

Key Metrics and Thresholds

Applies to: All subscriptions

Purpose

Define what to measure, what healthy looks like, and the point at which someone should act. Thresholds here are starting points; the section ends with how to replace them with measured values.

Audience

Operations teams, infrastructure teams, the customer's integration owner.

Prerequisites

  • Health Endpoints
  • At least four weeks of real traffic, before setting final thresholds

Reference

Every threshold below is a starting point, not a measurement. Replace each with a value derived from your own baseline after four weeks. A threshold set from a document rather than from data produces either constant noise or silence.

Infrastructure

Metric Healthy Warn Act
Application CPU, sustained Under 60% 60–75% Above 75%
Application memory, peak Under 75% 75–85% Above 85%, or any out-of-memory event
Database CPU, sustained Under 50% 50–70% Above 70%
Disk free, any volume Above 30% 20–30% Below 20%
Database growth against forecast Within 25% 25–50% over Above 50% over — re-forecast now

Application

Metric Healthy Warn Act
Health probe Responding under 2s 2–5s Failing, or over 5s
Error rate Under 1% of requests 1–5% Above 5%
Response time, list screens Under 2s 2–5s Above 5s
Failed sign-ins At baseline Above baseline A sharp rise — check mail before authentication
Oldest incomplete job Under normal processing time Up to twice it Beyond twice it — worker or queue
Queue depth Rises and falls Rising steadily Only rising — nothing is consuming

The last row is the classic silent failure. A depth that only rises means jobs are enqueued and never processed, and the application looks perfectly healthy throughout.

Business

These are the metrics most teams omit and where the consequences live.

Metric Healthy Warn Act
Documents processed per day Within the normal range Outside it Zero during business hours
Validation rejection rate At your baseline 1.5× baseline 2× baseline — find the systemic cause
Government rejection rate Near zero Any sustained rise Any code recurring — validation should have caught it
Documents in quarantine Cleared daily Ageing beyond a day Ageing beyond three days
Oldest unregistered document Well inside the reporting window Half the window consumed Two-thirds consumed
Documents awaiting registration Cleared daily Growing Growing while the provider is healthy
e-Way Bills approaching expiry Actioned before the alert horizon Within the horizon Past it

The unregistered-document metric is the one with no remedy. Once the reporting window closes, the document cannot be registered — not by configuration, not by escalation, not by support. It is the only metric in this section where crossing the threshold is unrecoverable, and it deserves the most aggressive alerting.

Integration

Metric Healthy Warn Act
Documents received per ERP per hour Within the normal range Below it Zero during business hours
Ingest rejection rate per ERP At baseline Rising Sharply rising — an ERP change
Write-back backlog age Under the consumer's interval 2× the interval 4× the interval
Write-back backlog count Stable Rising Rising with rising age
Consecutive delivery failures Zero Any Threshold reached — the circuit will open
Dead-lettered events Zero Any Any, before retention expires
Provider call volume Within budget Approaching it Above it — check for a polling read

Alert on backlog age, not count. A steady count can hide a stuck head-of-queue indefinitely; a rising age cannot be hidden.

Security and compliance

Metric Healthy Act
Certificate days remaining Above 30 Below 30
Provider credential days remaining Above 30 Below 30
Failed authentication attempts At baseline A spike, or an unusual source
Accounts active but unused for 90 days None Any — access review overdue
Administrators At least 2 Fewer than 2

Establishing your own baselines

Week Action
1 Collect everything. Set no thresholds
2 Observe the daily and weekly shape, including month end
3 Calculate normal ranges from real data
4 Set thresholds above the observed normal, with headroom
Ongoing Review quarterly, and after any volume change

Month end matters. Many of these metrics have a monthly peak that a first-week baseline entirely misses, and thresholds set from a quiet week produce a wall of alerts on the last working day.

Validation

Check Pass condition
All four layers measured Infrastructure, application, business and integration all covered
Baselines measured, not assumed Four weeks of data behind each threshold
Month end included Baselines cover a full cycle
The unregistered-age metric exists Configured, with the most aggressive alerting
Backlog alerts use age Not count
ERP-side metrics exist The customer monitors what their ERP sends
Thresholds reviewed Quarterly, with a named owner
Every threshold has an owner Somebody acts when it fires

Troubleshooting

Symptom Cause Action
Constant alerting Thresholds set from a document rather than measurement Re-derive from your own baseline
Silence while problems occur Thresholds too loose, or the metric absent Check coverage of all four layers
Alert storm at month end Baselines from a quiet period Include a month end in the baseline
Queue depth rising only Nothing consuming Check the worker and the queue
Rejection rate doubled overnight An ERP or master data change Compare a current payload against one from before
Provider volume above budget An integration polling a read with a local answer Review the calling pattern
Backlog age rising, count flat Stuck head-of-queue Investigate the oldest event specifically
Documents unregistered past the window The metric was not monitored There is no remedy. Add the metric before it recurs