Dmitriy Kononov
Let’s talkContact

News and analysis

Telemetry changes need the discipline of a data migration

OpenTelemetry, CNCF, Cloudflare, and Grafana are changing collection and processing. How to update metrics and filters while preserving incident evidence.

A collector upgrade can break diagnosis while the application continues serving requests. New names, filters, and remotely managed configuration change the data behind operational alerts. Treat a telemetry release as a migration with identified consumers, limited rollout, and a rollback path.

OpenTelemetry's October 13 post introduces versioned metrics for the hostmetrics process scraper. This is a release-candidate transition, not a stability announcement for the entire receiver. Grafana's October 8 announcement makes OpAMP support generally available in Fleet Management for supported OTel Collector distributions. Cloudflare describes Transformers for Logpush, processing records before export. An October 15 CNCF article discusses bringing carbon intensity into shared observability semantics. That last item is ongoing work, rather than a finished universal convention.

A functioning chart can silently change its meaning

The most difficult migration failure can look successful. Export has no errors, a dashboard opens, and its line moves. Yet units, attributes, or the set of observed processes may have changed. Before-and-after comparisons stop being valid. An alert expression can remain syntactically correct while no longer detecting the intended condition.

The announcements connect because centralized management speeds configuration distribution while export-time processing changes which evidence reaches storage. Both are useful at scale, and both increase the reach of a mistake. Successful configuration delivery and a correct resulting signal therefore require separate acceptance checks.

For each important metric, retain a compact contract describing meaning, unit, source, required attributes, and consumers. A consumer might be an alert, a customer-operation report, or an investigative query. Evaluate changes through those dependencies, rather than the absence of red messages in a collector log.

This is also a release-ownership problem. If one team maintains collection and another owns incident response, somebody must approve the changed interpretation. A technically correct collector deployment can still violate the operational contract. Configuration review should include the engineer who knows what the alert is supposed to catch.

Filtering changes future investigative options

Removing fields before export helps control volume and sensitive-data exposure. The removed field cannot simply be restored when an incident occurs later. If it joined an HTTP request to a background task, the investigation now has two disconnected halves.

That is not an argument for retaining everything. Start with the questions the team must answer and choose the minimum evidence needed. Secrets and complete user documents rarely establish the required relationship. Operation identifiers, release versions, and structured reason codes can be more useful than full message bodies.

The carbon discussion makes semantic contracts especially visible. Total energy and intensity per unit of useful work answer different questions. A fall in overall consumption caused by fewer completed tasks does not demonstrate a more efficient system. Preserve the calculation method and assumptions alongside the data, or a comparison becomes a persuasive but uninterpretable line.

Do not let a new signal bypass the scrutiny applied to existing ones. Define its functional unit and boundaries before introducing a management target. Otherwise, teams can improve the displayed number by moving work outside the measured scope without improving the process.

Hypothetical release for a document service

Imagine a service accepting documents and processing them through a queue. This is a proposed scenario. The team updates process metrics while introducing log redaction. Before release, it exercises a successful document, a worker failure, and a retry after timeout. Each path must still connect the request, job, and outcome.

Deploy the new configuration to a small group of nodes, comparing old and new output where the selected migration mechanism permits it. Check dashboard queries and a controlled alert condition. Bound the temporary cost of duplicated telemetry by duration and coverage. If the new signal cannot answer its intended question, roll back the configuration and preserve evidence of the difference.

Avoid combining semantic changes, retention changes, and critical alert rewrites without a way to evaluate each independently. A disappearing error could mean an application fix, a new filter, or a missing attribute. A release that removes the evidence needed to distinguish them has weakened operations even if its data bill falls.

Our guide to the server as a system's operational core connects these signals to application behavior. The Debian on Google Cloud case provides infrastructure context. When discussing ongoing support, start with the questions your signals must answer during a failure.