From 7e854f88cae0ee3c355b349ec8eb4fdb04ca535e Mon Sep 17 00:00:00 2001 From: houseme Date: Tue, 3 May 2022 22:53:02 +0800 Subject: [PATCH] feat: Report trace-compatible device host name or IP archive parameters --- contrib/trace/jaeger/jaeger.go | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/contrib/trace/jaeger/jaeger.go b/contrib/trace/jaeger/jaeger.go index 72e5e9ac9..17176edfc 100644 --- a/contrib/trace/jaeger/jaeger.go +++ b/contrib/trace/jaeger/jaeger.go @@ -3,14 +3,21 @@ package jaeger import ( "strings" - "github.com/gogf/gf/v2/errors/gcode" - "github.com/gogf/gf/v2/errors/gerror" - "github.com/gogf/gf/v2/text/gregex" "go.opentelemetry.io/otel" + "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/exporters/jaeger" "go.opentelemetry.io/otel/sdk/resource" "go.opentelemetry.io/otel/sdk/trace" - "go.opentelemetry.io/otel/semconv/v1.7.0" + semconv "go.opentelemetry.io/otel/semconv/v1.4.0" + + "github.com/gogf/gf/v2/errors/gcode" + "github.com/gogf/gf/v2/errors/gerror" + "github.com/gogf/gf/v2/net/gipv4" + "github.com/gogf/gf/v2/text/gregex" +) + +const ( + tracerHostnameTagKey = "hostname" ) // Init initializes and registers jaeger to global TracerProvider. @@ -42,6 +49,10 @@ func Init(serviceName, endpoint string) (*trace.TracerProvider, error) { jaeger.WithAgentHost(host), jaeger.WithAgentPort(port), ) } + hostIP, err := gipv4.GetIntranetIp() + if err != nil { + return nil, err + } exp, err := jaeger.New(endpointOption) if err != nil { return nil, err @@ -53,9 +64,11 @@ func Init(serviceName, endpoint string) (*trace.TracerProvider, error) { trace.WithResource(resource.NewWithAttributes( semconv.SchemaURL, semconv.ServiceNameKey.String(serviceName), + semconv.HostNameKey.String(hostIP), + attribute.String(tracerHostnameTagKey, hostIP), )), ) - // Register our TracerProvider as the global so any imported + // Register our TracerProvider as the global, so any imported // instrumentation in the future will default to using it. otel.SetTracerProvider(tp) return tp, nil