diff --git a/container/gqueue/gqueue_z_example_test.go b/container/gqueue/gqueue_z_example_test.go index f76e5c2e5..9a7d12fa4 100644 --- a/container/gqueue/gqueue_z_example_test.go +++ b/container/gqueue/gqueue_z_example_test.go @@ -102,7 +102,7 @@ func ExampleQueue_Close() { fmt.Println(q.Len()) fmt.Println(q.Pop()) - // Output: + // May Output: // 0 // } diff --git a/contrib/trace/jaeger/jaeger.go b/contrib/trace/jaeger/jaeger.go index 656d20b08..0f087f8e4 100644 --- a/contrib/trace/jaeger/jaeger.go +++ b/contrib/trace/jaeger/jaeger.go @@ -1,18 +1,26 @@ +// Copyright GoFrame Author(https://goframe.org). All Rights Reserved. +// +// This Source Code Form is subject to the terms of the MIT License. +// If a copy of the MIT was not distributed with this file, +// You can obtain one at https://github.com/gogf/gf. + +// Package jaeger provides OpenTelemetry provider using jaeger. package jaeger import ( "strings" - "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" "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" 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 ( @@ -48,10 +56,23 @@ func Init(serviceName, endpoint string) (*trace.TracerProvider, error) { jaeger.WithAgentHost(host), jaeger.WithAgentPort(port), ) } - hostIP, err := gipv4.GetIntranetIp() + // Try retrieving host ip for tracing info. + var ( + hostIp = "NoHostIpFound" + intranetIPArray, err = gipv4.GetIntranetIpArray() + ) if err != nil { return nil, err } + if len(intranetIPArray) == 0 { + if intranetIPArray, err = gipv4.GetIpArray(); err != nil { + return nil, err + } + } + if len(intranetIPArray) > 0 { + hostIp = intranetIPArray[0] + } + exp, err := jaeger.New(endpointOption) if err != nil { return nil, err @@ -63,8 +84,8 @@ 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), + semconv.HostNameKey.String(hostIp), + attribute.String(tracerHostnameTagKey, hostIp), )), ) // Register our TracerProvider as the global, so any imported diff --git a/net/gsvc/gsvc_service.go b/net/gsvc/gsvc_service.go index 277144cc0..80837e425 100644 --- a/net/gsvc/gsvc_service.go +++ b/net/gsvc/gsvc_service.go @@ -141,10 +141,10 @@ func (s *LocalService) autoFillDefaultAttributes() { if s.Namespace == "" { s.Namespace = gcmd.GetOptWithEnv(EnvNamespace, DefaultNamespace).String() } - if s.Version == "" { - s.Version = gcmd.GetOptWithEnv(EnvVersion, DefaultVersion).String() - } if s.Name == "" { s.Name = gcmd.GetOptWithEnv(EnvName).String() } + if s.Version == "" { + s.Version = gcmd.GetOptWithEnv(EnvVersion, DefaultVersion).String() + } }