diff --git a/CHANGELOG.md b/CHANGELOG.md index 5760e39f19fc..3219f9bb6186 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Main (unreleased) +- [BUGFIX] Do not immediately cancel context when creating a new trace + processor. This was preventing scrape_configs in traces from + functioning. (@lheinlen) + - [FEATURE] Operator: The Grafana Agent Operator can now generate a Kubelet service to allow a ServiceMonitor to collect Kubelet and cAdvisor metrics. This requires passing a `--kubelet-service` flag to the Operator in diff --git a/pkg/traces/promsdprocessor/prom_sd_processor.go b/pkg/traces/promsdprocessor/prom_sd_processor.go index 97e31dba648c..47dd6f30479b 100644 --- a/pkg/traces/promsdprocessor/prom_sd_processor.go +++ b/pkg/traces/promsdprocessor/prom_sd_processor.go @@ -40,7 +40,6 @@ type promServiceDiscoProcessor struct { func newTraceProcessor(nextConsumer consumer.Traces, operationType string, scrapeConfigs []*config.ScrapeConfig) (component.TracesProcessor, error) { ctx, cancel := context.WithCancel(context.Background()) - defer cancel() logger := log.With(util.Logger, "component", "traces service disco") mgr := discovery.NewManager(ctx, logger, discovery.Name("traces service disco")) @@ -54,6 +53,7 @@ func newTraceProcessor(nextConsumer consumer.Traces, operationType string, scrap err := mgr.ApplyConfig(managerConfig) if err != nil { + cancel() return nil, err } @@ -62,6 +62,7 @@ func newTraceProcessor(nextConsumer consumer.Traces, operationType string, scrap case "": // Use Upsert by default operationType = OperationTypeUpsert default: + cancel() return nil, fmt.Errorf("unknown operation type %s", operationType) }