Ver código fonte

add jaeger.WithAgentEndpoint

xiandong 2 anos atrás
pai
commit
e575bf8317
2 arquivos alterados com 11 adições e 5 exclusões
  1. 5 1
      core/trace/agent.go
  2. 6 4
      core/trace/config.go

+ 5 - 1
core/trace/agent.go

@@ -57,7 +57,11 @@ func createExporter(c Config) (sdktrace.SpanExporter, error) {
 	// Just support jaeger and zipkin now, more for later
 	switch c.Batcher {
 	case kindJaeger:
-		return jaeger.New(jaeger.WithCollectorEndpoint(jaeger.WithEndpoint(c.Endpoint)))
+		if c.AgentHost != "" && c.AgentPort != "" {
+			return jaeger.New(jaeger.WithAgentEndpoint(jaeger.WithAgentHost(c.AgentHost), jaeger.WithAgentPort(c.AgentPort)))
+		} else {
+			return jaeger.New(jaeger.WithCollectorEndpoint(jaeger.WithEndpoint(c.Endpoint)))
+		}
 	case kindZipkin:
 		return zipkin.New(c.Endpoint)
 	case kindOtlpGrpc:

+ 6 - 4
core/trace/config.go

@@ -5,8 +5,10 @@ const TraceName = "go-zero"
 
 // A Config is an opentelemetry config.
 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"`
+	Name      string  `json:",optional"`
+	AgentHost string  `json:",optional"`
+	AgentPort string  `json:",optional"`
+	Endpoint  string  `json:",optional"`
+	Sampler   float64 `json:",default=1.0"`
+	Batcher   string  `json:",default=jaeger,options=jaeger|zipkin|otlpgrpc|otlphttp"`
 }