collector: pass cpu and textfile config through runtime#3665
Draft
nicolastakashi wants to merge 6 commits into
Draft
collector: pass cpu and textfile config through runtime#3665nicolastakashi wants to merge 6 commits into
nicolastakashi wants to merge 6 commits into
Conversation
Signed-off-by: Nicolas Takashi <nicolas.tcs@hotmail.com>
Signed-off-by: Nicolas Takashi <nicolas.tcs@hotmail.com>
Signed-off-by: Nicolas Takashi <nicolas.tcs@hotmail.com>
Signed-off-by: Nicolas Takashi <nicolas.tcs@hotmail.com>
Signed-off-by: Nicolas Takashi <nicolas.tcs@hotmail.com>
4105392 to
d75fe55
Compare
Author
|
Relates to prometheus/opentelemetry-collector-bridge#41 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This continues the incremental refactor to make
node_exportereasier to embed outside the standalone binary.The broader goal is to support ongoing work to make Prometheus exporters embeddable inside the Prometheus OpenTelemetry Collector distribution as native receivers, without requiring each exporter to be rewritten as an OpenTelemetry component.
This PR builds on the earlier config, runtime, binary wiring, and runtime-state groundwork by moving a first slice of collector-specific configuration behind runtime-owned state.
Specifically, this PR:
cpucollector settings into runtime-owned configtextfilecollector settings into runtime-owned configcpucollector from runtime state instead of reading package-global flags during collector setup and updatetextfilecollector from runtime state instead of reading package-global flags during collector setupWhy
The goal of this change is to start moving individual collectors off mutable package-global configuration and onto explicit runtime-owned inputs.
Before this change, the
cpuandtextfilecollectors read their configuration directly from package-global CLI flag state. That made runtime behavior depend on mutable process-global values and limited how cleanly a runtime instance could be constructed and reused as an embeddable component.After this change,
collector.Runtimesnapshots the relevant collector configuration once and applies it when constructing/configuring collectors. Derived filtered runtimes continue to use the base runtime's captured collector configuration instead of re-reading current global flag values.This is intentionally a narrow first collector slice rather than a broad collector-wide rewrite. The intent of this PR is to establish and validate the pattern for moving collector-specific configuration behind runtime-owned state while preserving the current standalone binary behavior.
Stack
This PR is part of a stacked series and should be reviewed after the earlier config, runtime, binary wiring, and collector runtime-state groundwork PRs.
Those earlier PRs introduced reusable config and runtime layers and reduced shared runtime mutation. This PR starts applying that foundation to concrete collector configuration.