package main import ( "github.com/gogf/gf/contrib/trace/jaeger/v2" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/net/ghttp" "github.com/gogf/gf/v2/net/gtrace" "github.com/gogf/gf/v2/os/gctx" ) const ( ServiceName = "http-server" JaegerUdpEndpoint = "localhost:6831" ) func main() { var ctx = gctx.New() tp, err := jaeger.Init(ServiceName, JaegerUdpEndpoint) if err != nil { g.Log().Fatal(ctx, err) } defer tp.Shutdown(ctx) s := g.Server() s.Group("/", func(group *ghttp.RouterGroup) { group.GET("/hello", HelloHandler) }) s.SetPort(8199) s.Run() } func HelloHandler(r *ghttp.Request) { ctx, span := gtrace.NewSpan(r.Context(), "HelloHandler") defer span.End() value := gtrace.GetBaggageVar(ctx, "name").String() r.Response.Write("hello:", value) }