gitee.com/woood2/luca@v1.0.4/cmd/cron/internal/middleware/trace.go (about) 1 package middleware 2 3 import ( 4 "context" 5 "gitee.com/woood2/luca/cmd/cron/internal/job" 6 "gitee.com/woood2/luca/internal/trace" 7 "github.com/openzipkin/zipkin-go" 8 "go.uber.org/zap" 9 ) 10 11 func Trace(name string, logger *zap.Logger) job.Middleware { 12 return func(next job.HandlerFunc) job.HandlerFunc { 13 return func(ctx context.Context){ 14 span:=trace.StartSpan(name) 15 defer span.Finish() 16 ctx=zipkin.NewContext(ctx, span) 17 next(ctx) 18 } 19 } 20 }