Merge pull request #18469 from roidelapluie/roidelapluie/tracing-fix-insecure-http-3.11

tracing: fix startup failure for insecure OTLP HTTP tracing
This commit is contained in:
Julien
2026-04-07 14:41:22 +02:00
committed by GitHub
2 changed files with 20 additions and 6 deletions

View File

@@ -207,6 +207,14 @@ func getClient(tracingCfg config.TracingConfig) (otlptrace.Client, error) {
opts := []otlptracehttp.Option{otlptracehttp.WithEndpoint(tracingCfg.Endpoint)}
if tracingCfg.Insecure {
opts = append(opts, otlptracehttp.WithInsecure())
} else {
// Use of TLS Credentials forces the use of TLS. Therefore it can
// only be set when `insecure` is set to false.
tlsConf, err := config_util.NewTLSConfig(&tracingCfg.TLSConfig)
if err != nil {
return nil, err
}
opts = append(opts, otlptracehttp.WithTLSClientConfig(tlsConf))
}
// Currently, OTEL supports only gzip compression.
if tracingCfg.Compression == config.GzipCompression {
@@ -219,12 +227,6 @@ func getClient(tracingCfg config.TracingConfig) (otlptrace.Client, error) {
opts = append(opts, otlptracehttp.WithTimeout(time.Duration(tracingCfg.Timeout)))
}
tlsConf, err := config_util.NewTLSConfig(&tracingCfg.TLSConfig)
if err != nil {
return nil, err
}
opts = append(opts, otlptracehttp.WithTLSClientConfig(tlsConf))
client = otlptracehttp.NewClient(opts...)
}

View File

@@ -117,6 +117,18 @@ func TestUninstallingTracerProvider(t *testing.T) {
require.Equal(t, noop.NewTracerProvider(), otel.GetTracerProvider())
}
func TestInstallingTracerProviderHTTPInsecure(t *testing.T) {
m := NewManager(promslog.NewNopLogger())
cfg := config.Config{
TracingConfig: config.TracingConfig{
Endpoint: "localhost:4318",
ClientType: config.TracingClientHTTP,
Insecure: true,
},
}
require.NoError(t, m.ApplyConfig(&cfg))
}
func TestTracerProviderShutdown(t *testing.T) {
m := NewManager(promslog.NewNopLogger())
cfg := config.Config{