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  }