unitel/helper.go

41 lines
964 B
Go
Raw Normal View History

2024-07-23 17:46:15 +02:00
package unitel
import (
"context"
"github.com/getsentry/sentry-go"
"github.com/gofiber/fiber/v2"
)
func GetHubFromFiberContext(ctx *fiber.Ctx) *sentry.Hub {
return sentry.GetHubFromContext(ctx.UserContext())
}
func MustGetHubFromContext(ctx context.Context) *sentry.Hub {
hub := sentry.GetHubFromContext(ctx)
if hub == nil {
panic("sentry hub not found in context")
}
return hub
}
func AddBreadcrumbToFiberCtx(c *fiber.Ctx, breadcrumb *sentry.Breadcrumb, hint *sentry.BreadcrumbHint) {
if hub := GetHubFromFiberContext(c); hub != nil {
hub.AddBreadcrumb(breadcrumb, hint)
}
}
func AddBreadcrumbToContext(c context.Context, breadcrumb *sentry.Breadcrumb) {
if hub := sentry.GetHubFromContext(c); hub != nil {
hub.AddBreadcrumb(breadcrumb, nil)
}
}
func (o *Telemetry) Trace(ctx context.Context, op string, options []SpanStartOpt, fn func(context.Context)) {
2024-07-23 17:46:15 +02:00
tx := o.StartSpan(ctx, op, op, options...)
defer tx.End()
fn(tx.Context())
}