NewTracedHTTPRequest creates a new tracer for the current HTTP request context.
(req *http.Request, connIndex uint8, log *zerolog.Logger)
| 78 | |
| 79 | // NewTracedHTTPRequest creates a new tracer for the current HTTP request context. |
| 80 | func NewTracedHTTPRequest(req *http.Request, connIndex uint8, log *zerolog.Logger) *TracedHTTPRequest { |
| 81 | ctx, exists := extractTrace(req) |
| 82 | if !exists { |
| 83 | return &TracedHTTPRequest{req, &cfdTracer{trace.NewNoopTracerProvider(), &NoopOtlpClient{}, log}, connIndex} |
| 84 | } |
| 85 | return &TracedHTTPRequest{req.WithContext(ctx), newCfdTracer(ctx, log), connIndex} |
| 86 | } |
| 87 | |
| 88 | func (tr *TracedHTTPRequest) ToTracedContext() *TracedContext { |
| 89 | return &TracedContext{tr.Context(), tr.cfdTracer} |