Open
Conversation
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
ArthurSens
added a commit
to ArthurSens/prometheus-opentelemetry-collector
that referenced
this pull request
Mar 4, 2026
Point the stackdriver_exporter modules to the actual PR commit (prometheus-community/stackdriver_exporter#477) so the build no longer depends on a local filesystem layout. Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com> Made-with: Cursor
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com> Made-with: Cursor
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
Adds a new
otelcollector/Go module that implements the prometheus-collector-bridge interfaces, enabling the stackdriver exporter to run as a native OpenTelemetry Collector receiver.This is a proof of concept for the upstream proposal prometheus/proposals#69, which aims to embed existing Prometheus exporters inside OTel Collector distributions.
Design decisions
Separate Go module (
otelcollector/): Keeps all OTel Collector dependencies (bridge, collector SDK, pdata, etc.) out of the main module's dependency tree. The parent module is imported via a localreplacedirective.Single long-lived registry: The bridge expects
ExporterLifecycleManager.Start()to return one*prometheus.Registrythat it periodically gathers from. We create it once at startup and register aMonitoringCollectorper resolved project, rather than the per-request registries used by the HTTP handler.Full config parity: Every CLI flag (except deprecated and web-server-specific ones) is mapped to
exporter_configvia mapstructure tags.