Overview
What the platform noticed about your integration before you did.
The Overview page is the first screen of Konsole. It carries four figures for the period you select, and below them a list of anomaly cards, each one a rule that fired against your own traffic.
The four figures
| Figure | How it is computed |
|---|---|
| Requests | Every API call in the range, for the current environment |
| Errors | Calls that returned 400 or above |
| Average latency | Mean duration_ms across the range |
| p95 latency | The 95th percentile, which is the one that matches what users feel |
Each figure carries a delta against the previous period of the same length, so a seven day view compares itself to the seven days before it.
Read p95, not the average
An average hides the tail. If the average is 180 ms and p95 is 4,200 ms, one call in twenty is taking over four seconds, and those are the ones your customers abandon.
The anomaly cards
Eight rules run against your account. They are ordered by severity, and each card links to the view that shows the underlying rows.
| Card | Fires when |
|---|---|
| High p95 latency on an endpoint | p95 above 2 s over the last 24 hours, on at least 2 calls. Marked high above 5 s |
| High error rate on an endpoint | A quarter or more of calls to that path returned an error, on at least 2 calls |
| Failed webhook deliveries | At least 3 failures to one endpoint in the last hour |
| Authentication errors | 401 responses in the last 24 hours. Marked high from 20 |
| Dormant webhook endpoint | An endpoint older than 14 days that has received nothing for 14 days |
| Unused API key | A key older than 30 days, never used or unused for 60 days |
| Signing secret older than 6 months | The endpoint's secret has not been rotated in 180 days |
| Latency degradation | Yesterday's average is materially above the 7 day baseline |
The first two fire on as few as two requests, deliberately. A fresh integration making four calls, three of which fail, is exactly the case where a percentage based rule would stay silent and be useless.
Some cards are hygiene, not incidents
An unused key and a six month old secret are not outages. They are reminders that the cheapest moment to reduce your exposure is before anything leaks.
The one click diagnostic
Cards about webhooks, authentication and latency carry a Diagnose button. It runs a bundle of checks server side and returns a verdict rather than sending you to read logs yourself.
For a webhook endpoint, the bundle is seven checks, in this order.
- 1
Endpoint exists
It has not been deleted since the card was generated.
- 2
Endpoint enabled
A disabled endpoint receives nothing, which explains most silent endpoints.
- 3
URL well formed
A URL that does not parse is a URL that was pasted wrong.
- 4
HTTPS required in live
Live deliveries go to HTTPS only.
- 5
Signing secret configured
Without it, nothing can be signed and nothing is sent.
- 6
Endpoint reachable
An outbound
HEADprobe from Wajub to your URL, right now. - 7
Recent failure rate
How many of the recent attempts failed, so you can tell a blip from an outage.
The verdict counts what failed and what merely warned. A failure names something you must fix before retrying; a warning is something to look at.
Diagnose is rate limited to 30 runs a minute
Each run may make an outbound HTTP request to your server, so the route is throttled. In normal use you will never notice it.
For an authentication card, the bundle counts 401 responses over the last 24 hours. For a
latency card, it checks the sample size, then lists the slowest endpoints of the last 24 hours.
What is cached, and for how long
The page loads its panels after the shell, and each panel is cached per team and per environment. A change you make will not appear instantly.
| Panel | Cached for |
|---|---|
| The four figures | 60 seconds |
| Anomaly cards | 60 seconds |
| Health digest | 10 minutes |
| Trends, status code breakdown, webhook trends | 5 minutes |
| Endpoint list | 2 minutes |
If you have just fixed an endpoint and the card is still there, wait a minute before concluding that the fix did not work.