You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2025/09/18 01:28:29 UTC

(dubbo-go) branch develop updated: feat(config): add Insecure option to tracing configuration (#3028)

This is an automated email from the ASF dual-hosted git repository.

alexstocks pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/dubbo-go.git


The following commit(s) were added to refs/heads/develop by this push:
     new a638cc00b feat(config): add Insecure option to tracing configuration (#3028)
a638cc00b is described below

commit a638cc00b22b457c01160bf5a8a03561c5ddc34f
Author: Xuetao Li <m1...@163.com>
AuthorDate: Thu Sep 18 09:28:23 2025 +0800

    feat(config): add Insecure option to tracing configuration (#3028)
---
 compat.go                   |  2 ++
 config/otel_config.go       |  2 ++
 global/otel_config.go       |  2 ++
 otel/trace/exporter.go      |  1 +
 otel/trace/options.go       |  6 ++++++
 otel/trace/otlp/exporter.go | 13 ++++++++++++-
 6 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/compat.go b/compat.go
index 730eb3367..970f72c41 100644
--- a/compat.go
+++ b/compat.go
@@ -388,6 +388,7 @@ func compatOtelConfig(c *global.OtelConfig) *config.OtelConfig {
 			Propagator:  c.TracingConfig.Propagator,
 			SampleMode:  c.TracingConfig.SampleMode,
 			SampleRatio: c.TracingConfig.SampleRatio,
+			Insecure:    c.TracingConfig.Insecure,
 		},
 	}
 }
@@ -903,6 +904,7 @@ func compatGlobalOtelConfig(c *config.OtelConfig) *global.OtelConfig {
 			Propagator:  c.TraceConfig.Propagator,
 			SampleMode:  c.TraceConfig.SampleMode,
 			SampleRatio: c.TraceConfig.SampleRatio,
+			Insecure:    c.TraceConfig.Insecure,
 		},
 	}
 }
diff --git a/config/otel_config.go b/config/otel_config.go
index 9e0c600a0..cf7a352e4 100644
--- a/config/otel_config.go
+++ b/config/otel_config.go
@@ -43,6 +43,7 @@ type OtelTraceConfig struct {
 	Propagator  string  `default:"w3c" yaml:"propagator" json:"propagator,omitempty" property:"propagator"`       // one of w3c(standard), b3(for zipkin),
 	SampleMode  string  `default:"ratio" yaml:"sample-mode" json:"sample-mode,omitempty" property:"sample-mode"`  // one of always, never, ratio
 	SampleRatio float64 `default:"0.5" yaml:"sample-ratio" json:"sample-ratio,omitempty" property:"sample-ratio"` // [0.0, 1.0]
+	Insecure    bool    `default:"false" yaml:"insecure" json:"insecure,omitempty" property:"insecure"`
 }
 
 func (oc *OtelConfig) Init(appConfig *ApplicationConfig) error {
@@ -95,6 +96,7 @@ func (c *OtelTraceConfig) toTraceProviderConfig(a *ApplicationConfig) *trace.Exp
 		ServiceNamespace: a.Organization,
 		ServiceName:      a.Name,
 		ServiceVersion:   a.Version,
+		Insecure:         c.Insecure,
 	}
 	return tpc
 }
diff --git a/global/otel_config.go b/global/otel_config.go
index fd4bbf243..5634a952b 100644
--- a/global/otel_config.go
+++ b/global/otel_config.go
@@ -29,6 +29,7 @@ type OtelTraceConfig struct {
 	Propagator  string  `default:"w3c" yaml:"propagator" json:"propagator,omitempty" property:"propagator"`       // one of w3c(standard), b3(for zipkin),
 	SampleMode  string  `default:"ratio" yaml:"sample-mode" json:"sample-mode,omitempty" property:"sample-mode"`  // one of always, never, ratio
 	SampleRatio float64 `default:"0.5" yaml:"sample-ratio" json:"sample-ratio,omitempty" property:"sample-ratio"` // [0.0, 1.0]
+	Insecure    bool    `default:"false" yaml:"insecure" json:"insecure,omitempty" property:"insecure"`
 }
 
 func DefaultOtelConfig() *OtelConfig {
@@ -67,5 +68,6 @@ func (c *OtelTraceConfig) Clone() *OtelTraceConfig {
 		Propagator:  c.Propagator,
 		SampleMode:  c.SampleMode,
 		SampleRatio: c.SampleRatio,
+		Insecure:    c.Insecure,
 	}
 }
diff --git a/otel/trace/exporter.go b/otel/trace/exporter.go
index e14afe7ad..ee3ec2d48 100644
--- a/otel/trace/exporter.go
+++ b/otel/trace/exporter.go
@@ -44,6 +44,7 @@ type ExporterConfig struct {
 	ServiceNamespace string
 	ServiceName      string
 	ServiceVersion   string
+	Insecure         bool
 }
 
 type Exporter interface {
diff --git a/otel/trace/options.go b/otel/trace/options.go
index be310879d..0e2ce9aa7 100644
--- a/otel/trace/options.go
+++ b/otel/trace/options.go
@@ -138,3 +138,9 @@ func WithEndpoint(endpoint string) Option {
 		opts.Otel.TracingConfig.Endpoint = endpoint
 	}
 }
+
+func WithInsecure() Option {
+	return func(opts *Options) {
+		opts.Otel.TracingConfig.Insecure = true
+	}
+}
diff --git a/otel/trace/otlp/exporter.go b/otel/trace/otlp/exporter.go
index ecf2f3812..e7a7d47c4 100644
--- a/otel/trace/otlp/exporter.go
+++ b/otel/trace/otlp/exporter.go
@@ -57,7 +57,18 @@ func newHttpExporter(config *trace.ExporterConfig) (trace.Exporter, error) {
 	if httpInstance == nil {
 		initHttpOnce.Do(func() {
 			customFunc := func() (sdktrace.SpanExporter, error) {
-				client := otlptracehttp.NewClient(otlptracehttp.WithEndpoint(config.Endpoint))
+				var client otlptrace.Client
+				if config.Insecure {
+					client = otlptracehttp.NewClient(
+						otlptracehttp.WithEndpoint(config.Endpoint),
+						otlptracehttp.WithInsecure(),
+					)
+				} else {
+					client = otlptracehttp.NewClient(
+						otlptracehttp.WithEndpoint(config.Endpoint),
+					)
+				}
+
 				return otlptrace.New(context.Background(), client)
 			}