connect contexts managed by fiber middleware to join at c.UserContext()
This commit is contained in:
parent
372f4367ed
commit
d119563c7d
@ -15,6 +15,7 @@ import (
|
||||
"git.ma-al.com/maal-libraries/observer/pkg/level"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@ -42,6 +43,9 @@ func main() {
|
||||
main.Use(func(c *fiber.Ctx) error {
|
||||
span := tracing.SpanFromContext(c)
|
||||
span.AddEvent("pushed into a span an event from middleware")
|
||||
|
||||
span = trace.SpanFromContext(c.UserContext())
|
||||
span.AddEvent("span also available from c.UserContext()")
|
||||
return c.Next()
|
||||
})
|
||||
|
||||
|
@ -44,9 +44,11 @@ func Start(ctx context.Context, spanName string, opts ...trace.SpanStartOption)
|
||||
}
|
||||
|
||||
// NOTE: You can use [trace.WithAttributes] as a parameter to opts argument
|
||||
// Returns [c.UserContext] as [context.Context]
|
||||
func FStart(c *fiber.Ctx, opts ...trace.SpanStartOption) (context.Context, trace.Span) {
|
||||
ctx := fiberOpentelemetry.FromCtx(c)
|
||||
return fiberOpentelemetry.Tracer.Start(ctx, c.Method()+" "+c.Path(), opts...)
|
||||
link := trace.LinkFromContext(fiberOpentelemetry.FromCtx(c))
|
||||
opts = append(opts, trace.WithLinks(link))
|
||||
return fiberOpentelemetry.Tracer.Start(c.UserContext(), c.Method()+" "+c.Path(), opts...)
|
||||
}
|
||||
|
||||
// Retrieve span using [fiber.Ctx]
|
||||
|
Loading…
Reference in New Issue
Block a user