Files
MarioandGitHub e0354d1bed Update Prometheus to v0.307.2, OTel collector contrib to v0.138.0, OTel to v1.44.0 (#5810)
* Update Prometheus to v0.307.2

* Update otel collector

* Update OTel collector
2025-10-28 11:30:17 +01:00

36 lines
972 B
Go

// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
package refconsumer // import "go.opentelemetry.io/collector/service/internal/refconsumer"
import (
"context"
"go.opentelemetry.io/collector/consumer"
"go.opentelemetry.io/collector/consumer/xconsumer"
"go.opentelemetry.io/collector/pdata/pprofile"
"go.opentelemetry.io/collector/pdata/xpdata/pref"
)
func NewProfiles(cons xconsumer.Profiles) xconsumer.Profiles {
return refProfiles{
consumer: cons,
}
}
type refProfiles struct {
consumer xconsumer.Profiles
}
// ConsumeProfiles measures telemetry before calling ConsumeProfiles because the data may be mutated downstream
func (c refProfiles) ConsumeProfiles(ctx context.Context, ld pprofile.Profiles) error {
if pref.MarkPipelineOwnedProfiles(ld) {
defer pref.UnrefProfiles(ld)
}
return c.consumer.ConsumeProfiles(ctx, ld)
}
func (c refProfiles) Capabilities() consumer.Capabilities {
return c.consumer.Capabilities()
}