You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore(telemetry): report all configuration sources with sequence tracking [config chaining] (#14122)
## Description
This PR updates the behavior of the telemetry writer to ensure that all
discovered configuration sources are submitted to the instrumentation
platform. Previously, only the effective (final) configuration value was
sent—typically the last value set in code within 60 seconds.
Now, the telemetry writer will queue and send every configuration object
it observes. Each configuration entry will include a seq_id field to
indicate the order in which configurations were applied. This allows the
telemetry intake system to reconstruct the full configuration history
and understand how a given value was derived.
## Motivation
Accurate tracking of configuration state is essential for debugging,
auditing, and understanding application behavior across environments. By
reporting every configuration source (e.g., environment variable, fleet
config, in-code setting), we provide full visibility into how and when
each setting was applied. The addition of seq_id enables the intake
pipeline to reliably determine the configuration precedence and
reconstruct state transitions over time.
Note: should follow this spec
https://docs.google.com/document/d/1vhIimn2vt4tDRSxsHn6vWSc8zYHl0Lv0Fk7CQps04C4/edit?tab=t.0
## Next Steps
- Update the get_config(...) and report_telemetry methods to:
- Queue a configuration event whenever a new configuration source is
discovered.
- Ensure that multiple sources for the same config key (e.g.,
environment variable, fleet config, code) are reported, each with its
own seq_id to reflect the correct order of precedence.
## Checklist
- [ ] PR author has checked that all the criteria below are met
- The PR description includes an overview of the change
- The PR description articulates the motivation for the change
- The change includes tests OR the PR description describes a testing
strategy
- The PR description notes risks associated with the change, if any
- Newly-added code is easy to change
- The change follows the [library release note
guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html)
- The change includes or references documentation updates if necessary
- Backport labels are set (if
[applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting))
## Reviewer Checklist
- [ ] Reviewer has checked that all the criteria below are met
- Title is accurate
- All changes are related to the pull request's stated goal
- Avoids breaking
[API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
changes
- Testing strategy adequately addresses listed risks
- Newly-added code is easy to change
- Release note makes sense to a user of the library
- If necessary, author has acknowledged and discussed the performance
implications of this PR as reported in the benchmarks PR comment
- Backport labels are set in a manner that is consistent with the
[release branch maintenance
policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
0 commit comments