fix memory leak from global MeterProvider

This commit is contained in:
David Ashpole 2024-08-28 14:20:46 +00:00
parent 90c6cfd414
commit b42f8d32b5
No known key found for this signature in database
GPG Key ID: 76327DA4D864DC70
2 changed files with 13 additions and 0 deletions

View File

@ -37,6 +37,8 @@ import (
"github.com/coreos/go-systemd/v22/daemon"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/metric/noop"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
jsonpatch "gopkg.in/evanphx/json-patch.v4"
@ -121,6 +123,9 @@ import (
func init() {
utilruntime.Must(logsapi.AddFeatureGates(utilfeature.DefaultMutableFeatureGate))
// Prevent memory leak from OTel metrics, which we don't use:
// https://github.com/open-telemetry/opentelemetry-go-contrib/issues/5190
otel.SetMeterProvider(noop.NewMeterProvider())
}
const (

View File

@ -23,7 +23,9 @@ import (
"net"
"github.com/spf13/pflag"
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc"
"go.opentelemetry.io/otel/metric/noop"
"go.opentelemetry.io/otel/sdk/resource"
"go.opentelemetry.io/otel/semconv/v1.12.0"
"google.golang.org/grpc"
@ -48,6 +50,12 @@ var (
codecs = serializer.NewCodecFactory(cfgScheme)
)
func init() {
// Prevent memory leak from OTel metrics, which we don't use:
// https://github.com/open-telemetry/opentelemetry-go-contrib/issues/5190
otel.SetMeterProvider(noop.NewMeterProvider())
}
func init() {
install.Install(cfgScheme)
}