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

48 lines
1.3 KiB
Go

// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
package otelconftelemetry // import "go.opentelemetry.io/collector/service/telemetry/otelconftelemetry"
import (
"context"
config "go.opentelemetry.io/contrib/otelconf/v0.3.0"
noopmetric "go.opentelemetry.io/otel/metric/noop"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/config/configtelemetry"
"go.opentelemetry.io/collector/service/telemetry"
)
func createMeterProvider(
ctx context.Context,
set telemetry.MeterSettings,
componentConfig component.Config,
) (telemetry.MeterProvider, error) {
cfg := componentConfig.(*Config)
if cfg.Metrics.Level == configtelemetry.LevelNone {
set.Logger.Info("Internal metrics telemetry disabled")
return noopMeterProvider{MeterProvider: noopmetric.NewMeterProvider()}, nil
} else if cfg.Metrics.Views == nil && set.DefaultViews != nil {
cfg.Metrics.Views = set.DefaultViews(cfg.Metrics.Level)
}
res := newResource(set.Settings, cfg)
mpConfig := cfg.Metrics.MeterProvider
sdk, err := newSDK(ctx, res, config.OpenTelemetryConfiguration{
MeterProvider: &mpConfig,
})
if err != nil {
return nil, err
}
return sdk.MeterProvider().(telemetry.MeterProvider), nil
}
type noopMeterProvider struct {
noopmetric.MeterProvider
}
func (noopMeterProvider) Shutdown(context.Context) error {
return nil
}