Appearance
Microseconds and Milliseconds
Unlike other monitors, latency stores and computes every timing as an integer number of microseconds (µs). The units compared:
| Unit | Symbol | In one second |
|---|---|---|
| second | s | 1 |
| millisecond | ms | 1,000 |
| microsecond | µs | 1,000,000 |
A millisecond is one thousandth of a second, the human friendly unit for latency (aka "180 ms"). A microsecond is one thousandth of a millisecond, a millionth of a second. So 1 ms = 1,000 µs, and a 10-second timeout is 10,000,000 µs.
Probes measure with a high-resolution clock, which returns fractional milliseconds, sub-millisecond precision. Real phases live down there: a warm DNS answer is around 300 µs (0.3 ms), a local TCP connect can be around 40 µs. Rounded to whole milliseconds, those phases collapse to 0, and the breakdown that makes these metrics useful is lost.
So our pipeline uses µs as the canonical unit and refuses to convert early:
- Capture: the probe's fractional-ms measurement becomes an integer µs once, at the moment of recording.
- Storage: ClickHouse holds each phase (and each segment's start and duration) as a
UInt32of µs. Integer, compact, exact. - Rules and the wire: the alerting engine compares in µs and the API serves the same. No floating-point drift creeps in.
- Display: the screen is the only place µs becomes ms or s, and every value expands for detail.
For what each timed phase measures, see Anatomy of a Check.