Measurement Noise Is Not Process Variation

LESSON

Probability, Random Processes, and Statistical Thinking

011 25 min beginner

Measurement Noise Is Not Process Variation

By the end of this lesson, you will be able to...

  • Separate a real process value from the noisy observation recorded by an instrument.

  • Diagnose bias, random error, resolution, missingness, and measurement-induced overhead.

  • Choose operational checks before declaring that a system changed.

Idea in one sentence: A changed measurement can mean a changed process, a changed instrument, or a changed set of observations, and the first job is to distinguish those paths.

Core Insight

Consider a service team whose latency dashboard changes after an observability-agent release. The p95 latency appears to rise from 120 ms to 160 ms. The incident channel immediately asks:

Did the service become slower, or did the new agent change what we measure?

The dashboard does not show the process directly. It shows observations produced by a measurement pipeline:

\[ \text{service process}\rightarrow\text{instrument}\rightarrow\text{collector}\rightarrow\text{dashboard} \]

Let:

A small observation model is:

\[ Y_i=X_i+B+\epsilon_i \]

This is not a claim that every telemetry system is linear. It is a way to ask which part of the pipeline changed.

Symptom, Boundary, and First Hypotheses

The symptom is “p95 rose by 40 ms.” That sentence is incomplete until we define:

Four hypotheses can produce the same dashboard movement:

  1. Process variation: the service or dependency really became slower.
  2. Random measurement noise: the same process is observed with different small errors.
  3. Systematic bias: every recorded span gains a fixed overhead or clock offset.
  4. Selection change: the collector keeps a different subset of requests or loses certain records.

The operational mistake is to treat the first plausible hypothesis as the cause before checking the observation path.

A Worked Measurement Table

Suppose four requests have true application latency \(X\) and the collector adds a small error \(\epsilon\):

Request True \(X\) (ms) Measurement error \(\epsilon\) (ms) Recorded \(Y=X+\epsilon\) (ms)
1 100 +5 105
2 110 -5 105
3 90 +5 95
4 100 -5 95

The true mean is:

\[ \bar X=(100+110+90+100)/4=100\text{ ms} \]

The recorded mean is also:

\[ \bar Y=(105+105+95+95)/4=100\text{ ms} \]

The random errors cancel in this small example. That does not mean every sample cancels perfectly. It means that zero-mean noise often widens the spread of observations without shifting the average systematically.

Now suppose the agent adds 20 ms of work to every traced request:

\[ Y_i=X_i+20 \]

The recorded mean becomes 120 ms even though the application process remains at 100 ms. The p95 can rise as well. More requests will make this estimate more stable, but they will not remove the bias \(B=20\).

This is the key operational distinction:

Resolution and Rounding

Instrumentation may store only whole milliseconds or 10 ms buckets. If true values are 101, 104, and 109 ms but the dashboard rounds to the nearest 10 ms, the displayed values can be 100, 100, and 110 ms.

Rounding can hide small changes and create artificial ties. It is usually different from random noise:

If a threshold is 105 ms and the metric is rounded to 10 ms, a value displayed as 110 ms may represent a true value just above 105 or much higher. A threshold decision needs the raw resolution or an explicit rounding rule.

Missingness Changes the Population You See

Suppose the collector drops spans when the service is overloaded. The dashboard then shows only the requests that were easy enough to record. The observed mean may fall while the real process is getting worse.

Define a recording indicator \(R_i\):

The dashboard may summarize:

\[ Y_i\mid R_i=1 \]

rather than all process outcomes \(X_i\). If \(R_i\) depends on latency, load, region, or failure state, the missingness is informative. Treating missing records as if they were random can create selection bias.

Operational checks should therefore report:

“No data” is not automatically “no problem.”

Measurement Can Change the Process

An instrument is not always passive. Tracing can add CPU, memory, network traffic, lock contention, or serialization work. Sampling every request may slow the service; sampling only slow requests may distort the distribution.

This creates a measurement trade-off:

More instrumentation can improve visibility, but its overhead can perturb the system or alter which observations survive collection.

The measurement must therefore be treated as part of the system under observation. Compare:

If the metric changes only when the instrument is enabled, the instrument is evidence in the causal path, not an impartial witness.

A Practical Diagnostic Path

When a metric changes unexpectedly, use this order:

  1. Freeze the definition. Write the start and stop boundaries, unit, aggregation, and inclusion rule.
  2. Check the data path. Compare raw events with dashboards, transformations, rounding, and sampling.
  3. Check calibration. Feed a known-duration or synthetic request through the instrument and measure its offset.
  4. Find independent evidence. Compare server timestamps with client, load-balancer, database, or queue measurements.
  5. Inspect missingness. Look for drops correlated with load, errors, regions, or the new agent.
  6. Stratify the signal. Separate status, endpoint, tenant, deployment, and operating mode.
  7. Run a controlled comparison. Use a canary, alternate collector, or short agent-disabled window when safe.
  8. State the remaining uncertainty. Report which hypotheses are supported and which are still possible.

The path avoids a common anti-pattern: changing the dashboard query until the chart looks familiar. A stable chart is not evidence of a stable process.

What the Summary Can and Cannot Tell You

A p95 shift can reveal a change in the observed distribution. It cannot, by itself, identify whether the change came from \(X\), \(B\), \(\epsilon\), or \(R\).

The mean of repeated measurements can reduce zero-mean noise. It does not remove systematic bias. A percentile can reveal tail behavior, but it can also move when sampling or missingness changes. An alert threshold can detect a symptom, but it does not name the cause.

Keep the observation model next to the metric definition. For a latency SLO, record:

Without this metadata, a historical comparison may compare two different measurements while appearing to compare two process states.

Common Confusions

Confusion: More observations always reveal the truth

Why it is tempting: repeated samples reduce random variation.

Better model: more observations reduce uncertainty only when the measurement and selection process remain appropriate. A stable bias or informative missingness can become more confidently wrong.

Confusion: A noisy metric means the process is noisy

Why it is tempting: the chart moves up and down.

Better model: variation can come from the process, the instrument, the aggregation window, or missingness. Compare independent measurements before assigning the source.

Confusion: Percentiles cannot be biased

Why it is tempting: a percentile seems more robust than a mean.

Better model: percentiles are still computed from observed data. Sampling slow requests preferentially or dropping them changes the observed percentile.

Confusion: Instrumentation is outside the system

Why it is tempting: the agent is called a monitoring tool.

Better model: the agent can add overhead and alter behavior. Measure the measurement path when its cost may affect the decision.

Check Your Understanding

Check: If every recorded latency gains a fixed 20 ms of agent overhead, will collecting more requests remove the shift?

Think first, then reveal.

Answer: No. More requests can estimate the biased value more precisely, but the systematic offset remains until it is measured or corrected.

Check: Why can dropping spans during overload make a service look faster?

Think first, then reveal.

Answer: The dashboard summarizes the recorded subset. If slow or failed requests are more likely to be missing, the observed population is easier than the real process.

Check: What independent evidence could distinguish a service slowdown from a tracing-agent overhead?

Think first, then reveal.

Answer: Compare application timing with an independent client, load-balancer, or synthetic measurement, and compare traced with untraced or canary traffic under the same workload.

Practice: Audit a CPU Alert

A CPU dashboard jumps from 55% to 80% after a collector update. Write a short diagnostic plan:

  1. Define what “CPU” includes and its aggregation window.
  2. Name one process-change hypothesis and one measurement-change hypothesis.
  3. Identify a possible resolution, missingness, or sampling issue.
  4. Choose an independent signal.
  5. State what result would support each hypothesis.

Model answer

Define whether CPU means host total, container quota, or process user-plus-system time, and whether the dashboard shows a one-minute average or a percentile. A process-change hypothesis is that a new workload or code path consumes more CPU. A measurement-change hypothesis is that the collector changed cgroup accounting or began including kernel time. Check counter units, reset behavior, sampling interval, dropped hosts, and container boundaries. Compare the collector with host-level counters, scheduler run queues, request throughput, and power or throttling signals. If independent counters rise with throughput and queue pressure, a real workload change is more plausible; if only the collector metric moves, inspect instrumentation and normalization first.

Connections

Lessons 008–010 taught intervals, reference comparisons, and fragile tails for observed data. This lesson asks whether the observation itself is trustworthy before applying those summaries. Lesson 012 will add time: even a well-measured signal can change because the process drifts, bursts, or remembers its recent state.

The track now has two explicit boundaries:

\[ \text{process uncertainty}\qquad\text{and}\qquad\text{observation uncertainty} \]

Good operational reasoning keeps both visible.

Resources

Key Takeaways

PREVIOUS Heavy Tails Make the Average Fragile NEXT Random Processes Put Uncertainty in Motion