diff --git a/core/trace/agent.go b/core/trace/agent.go index a14e4973d..a900838df 100644 --- a/core/trace/agent.go +++ b/core/trace/agent.go @@ -3,13 +3,11 @@ package trace import ( "context" "fmt" - "net/url" "os" "sync" "github.com/zeromicro/go-zero/core/logx" "go.opentelemetry.io/otel" - "go.opentelemetry.io/otel/exporters/jaeger" "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc" "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp" "go.opentelemetry.io/otel/exporters/stdout/stdouttrace" @@ -20,12 +18,10 @@ import ( ) const ( - kindJaeger = "jaeger" kindZipkin = "zipkin" kindOtlpGrpc = "otlpgrpc" kindOtlpHttp = "otlphttp" kindFile = "file" - protocolUdp = "udp" ) var ( @@ -62,15 +58,7 @@ func StopAgent() { } func createExporter(c Config) (sdktrace.SpanExporter, error) { - // Just support jaeger and zipkin now, more for later switch c.Batcher { - case kindJaeger: - u, err := url.Parse(c.Endpoint) - if err == nil && u.Scheme == protocolUdp { - return jaeger.New(jaeger.WithAgentEndpoint(jaeger.WithAgentHost(u.Hostname()), - jaeger.WithAgentPort(u.Port()))) - } - return jaeger.New(jaeger.WithCollectorEndpoint(jaeger.WithEndpoint(c.Endpoint))) case kindZipkin: return zipkin.New(c.Endpoint) case kindOtlpGrpc: diff --git a/core/trace/agent_test.go b/core/trace/agent_test.go index 8afd36def..b40d48c85 100644 --- a/core/trace/agent_test.go +++ b/core/trace/agent_test.go @@ -27,21 +27,16 @@ func TestStartAgent(t *testing.T) { Name: "foo", } c2 := Config{ - Name: "bar", - Endpoint: endpoint1, - Batcher: kindJaeger, - } - c3 := Config{ Name: "any", Endpoint: endpoint2, Batcher: kindZipkin, } - c4 := Config{ + c3 := Config{ Name: "bla", Endpoint: endpoint3, Batcher: "otlp", } - c5 := Config{ + c4 := Config{ Name: "otlpgrpc", Endpoint: endpoint3, Batcher: kindOtlpGrpc, @@ -49,7 +44,7 @@ func TestStartAgent(t *testing.T) { "uptrace-dsn": "http://project2_secret_token@localhost:14317/2", }, } - c6 := Config{ + c5 := Config{ Name: "otlphttp", Endpoint: endpoint4, Batcher: kindOtlpHttp, @@ -58,22 +53,12 @@ func TestStartAgent(t *testing.T) { }, OtlpHttpPath: "/v1/traces", } - c7 := Config{ - Name: "UDP", - Endpoint: endpoint5, - Batcher: kindJaeger, - } - c8 := Config{ - Disabled: true, - Endpoint: endpoint6, - Batcher: kindJaeger, - } - c9 := Config{ + c6 := Config{ Name: "file", Endpoint: endpoint71, Batcher: kindFile, } - c10 := Config{ + c7 := Config{ Name: "file", Endpoint: endpoint72, Batcher: kindFile, @@ -87,9 +72,6 @@ func TestStartAgent(t *testing.T) { StartAgent(c5) StartAgent(c6) StartAgent(c7) - StartAgent(c8) - StartAgent(c9) - StartAgent(c10) defer StopAgent() // With sync.Once, only the first non-disabled config (c1) takes effect. @@ -164,24 +146,6 @@ func TestCreateExporter_ValidExporters(t *testing.T) { wantErr: true, errMsg: "unknown exporter", }, - { - name: "jaeger http", - config: Config{ - Name: "jaeger-http", - Endpoint: "http://localhost:14268/api/traces", - Batcher: kindJaeger, - }, - wantErr: false, - }, - { - name: "jaeger udp", - config: Config{ - Name: "jaeger-udp", - Endpoint: "udp://localhost:6831", - Batcher: kindJaeger, - }, - wantErr: false, - }, { name: "zipkin", config: Config{ diff --git a/core/trace/config.go b/core/trace/config.go index 5ab4ae58f..b97fd681d 100644 --- a/core/trace/config.go +++ b/core/trace/config.go @@ -8,7 +8,7 @@ type Config struct { Name string `json:",optional"` Endpoint string `json:",optional"` Sampler float64 `json:",default=1.0"` - Batcher string `json:",default=jaeger,options=jaeger|zipkin|otlpgrpc|otlphttp|file"` + Batcher string `json:",default=otlpgrpc,options=zipkin|otlpgrpc|otlphttp|file"` // OtlpHeaders represents the headers for OTLP gRPC or HTTP transport. // For example: // uptrace-dsn: 'http://project2_secret_token@localhost:14317/2' diff --git a/go.mod b/go.mod index 975cef04e..21f591bfc 100644 --- a/go.mod +++ b/go.mod @@ -23,7 +23,6 @@ require ( go.etcd.io/etcd/client/v3 v3.5.15 go.mongodb.org/mongo-driver/v2 v2.4.1 go.opentelemetry.io/otel v1.24.0 - go.opentelemetry.io/otel/exporters/jaeger v1.17.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.24.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0 go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.24.0 diff --git a/go.sum b/go.sum index 3256fb89f..94f3f7671 100644 --- a/go.sum +++ b/go.sum @@ -199,8 +199,6 @@ go.mongodb.org/mongo-driver/v2 v2.4.1 h1:hGDMngUao03OVQ6sgV5csk+RWOIkF+CuLsTPobN go.mongodb.org/mongo-driver/v2 v2.4.1/go.mod h1:jHeEDJHJq7tm6ZF45Issun9dbogjfnPySb1vXA7EeAI= go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= -go.opentelemetry.io/otel/exporters/jaeger v1.17.0 h1:D7UpUy2Xc2wsi1Ras6V40q806WM07rqoCWzXu7Sqy+4= -go.opentelemetry.io/otel/exporters/jaeger v1.17.0/go.mod h1:nPCqOnEH9rNLKqH/+rrUjiMzHJdV1BlpKcTwRTyKkKI= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0 h1:t6wl9SPayj+c7lEIFgm4ooDBZVb01IhLB4InpomhRw8= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0/go.mod h1:iSDOcsnSA5INXzZtwaBPrKp/lWu/V14Dd+llD0oI2EA= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.24.0 h1:Mw5xcxMwlqoJd97vwPxA8isEaIoxsta9/Q51+TTJLGE= diff --git a/rest/handler/tracehandler_test.go b/rest/handler/tracehandler_test.go index 84a4a51b9..a7e0ae916 100644 --- a/rest/handler/tracehandler_test.go +++ b/rest/handler/tracehandler_test.go @@ -21,10 +21,11 @@ import ( func TestOtelHandler(t *testing.T) { ztrace.StartAgent(ztrace.Config{ - Name: "go-zero-test", - Endpoint: "http://localhost:14268/api/traces", - Batcher: "jaeger", - Sampler: 1.0, + Name: "go-zero-test", + Endpoint: "http://localhost:14268", + OtlpHttpPath: "/v1/traces", + Batcher: "otlphttp", + Sampler: 1.0, }) defer ztrace.StopAgent() @@ -84,10 +85,11 @@ func TestTraceHandler(t *testing.T) { func TestDontTracingSpan(t *testing.T) { ztrace.StartAgent(ztrace.Config{ - Name: "go-zero-test", - Endpoint: "http://localhost:14268/api/traces", - Batcher: "jaeger", - Sampler: 1.0, + Name: "go-zero-test", + Endpoint: "http://localhost:14268", + OtlpHttpPath: "/v1/traces", + Batcher: "otlphttp", + Sampler: 1.0, }) defer ztrace.StopAgent() @@ -129,10 +131,11 @@ func TestDontTracingSpan(t *testing.T) { func TestTraceResponseWriter(t *testing.T) { ztrace.StartAgent(ztrace.Config{ - Name: "go-zero-test", - Endpoint: "http://localhost:14268/api/traces", - Batcher: "jaeger", - Sampler: 1.0, + Name: "go-zero-test", + Endpoint: "http://localhost:14268", + OtlpHttpPath: "/v1/traces", + Batcher: "otlphttp", + Sampler: 1.0, }) defer ztrace.StopAgent() diff --git a/rest/httpc/requests_test.go b/rest/httpc/requests_test.go index a5e66e494..b30902854 100644 --- a/rest/httpc/requests_test.go +++ b/rest/httpc/requests_test.go @@ -21,10 +21,11 @@ import ( func TestDoRequest(t *testing.T) { ztrace.StartAgent(ztrace.Config{ - Name: "go-zero-test", - Endpoint: "http://localhost:14268/api/traces", - Batcher: "jaeger", - Sampler: 1.0, + Name: "go-zero-test", + Endpoint: "http://localhost:14268", + OtlpHttpPath: "/v1/traces", + Batcher: "otlphttp", + Sampler: 1.0, }) defer ztrace.StopAgent() diff --git a/zrpc/internal/clientinterceptors/tracinginterceptor_test.go b/zrpc/internal/clientinterceptors/tracinginterceptor_test.go index 3c25d50c7..04465e980 100644 --- a/zrpc/internal/clientinterceptors/tracinginterceptor_test.go +++ b/zrpc/internal/clientinterceptors/tracinginterceptor_test.go @@ -23,10 +23,11 @@ import ( func TestOpenTracingInterceptor(t *testing.T) { ztrace.StartAgent(ztrace.Config{ - Name: "go-zero-test", - Endpoint: "http://localhost:14268/api/traces", - Batcher: "jaeger", - Sampler: 1.0, + Name: "go-zero-test", + Endpoint: "http://localhost:14268", + OtlpHttpPath: "/v1/traces", + Batcher: "otlphttp", + Sampler: 1.0, }) defer ztrace.StopAgent() diff --git a/zrpc/internal/serverinterceptors/tracinginterceptor_test.go b/zrpc/internal/serverinterceptors/tracinginterceptor_test.go index 2b3fee86b..1938bc515 100644 --- a/zrpc/internal/serverinterceptors/tracinginterceptor_test.go +++ b/zrpc/internal/serverinterceptors/tracinginterceptor_test.go @@ -32,10 +32,11 @@ func TestUnaryOpenTracingInterceptor_Disable(t *testing.T) { func TestUnaryOpenTracingInterceptor_Enabled(t *testing.T) { ztrace.StartAgent(ztrace.Config{ - Name: "go-zero-test", - Endpoint: "http://localhost:14268/api/traces", - Batcher: "jaeger", - Sampler: 1.0, + Name: "go-zero-test", + Endpoint: "http://localhost:14268", + OtlpHttpPath: "/v1/traces", + Batcher: "otlphttp", + Sampler: 1.0, }) defer ztrace.StopAgent()