added event wrappers, bug fixes, API improvements
This commit is contained in:
@ -8,19 +8,17 @@ import (
|
||||
"os/signal"
|
||||
"time"
|
||||
|
||||
"git.ma-al.com/gora_filip/observer/pkg/tracer"
|
||||
"git.ma-al.com/gora_filip/pkg/attr/layer_attr"
|
||||
"git.ma-al.com/gora_filip/pkg/event"
|
||||
"git.ma-al.com/gora_filip/pkg/exporters"
|
||||
tracing "git.ma-al.com/gora_filip/pkg/fiber_tracing"
|
||||
"git.ma-al.com/gora_filip/pkg/level"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
main := fiber.New(fiber.Config{
|
||||
StreamRequestBody: true,
|
||||
})
|
||||
main := fiber.New()
|
||||
|
||||
exps := make([]exporters.TraceExporter, 0)
|
||||
exps = append(exps, exporters.DevConsoleExporter())
|
||||
@ -28,7 +26,7 @@ func main() {
|
||||
if err == nil {
|
||||
exps = append(exps, gelfExp)
|
||||
}
|
||||
jaegerExp, err := exporters.OtlpHTTPExporter()
|
||||
jaegerExp, err := exporters.OtlpHTTPExporter(otlptracehttp.WithEndpointURL("http://localhost:4318/v1/traces"))
|
||||
if err == nil {
|
||||
exps = append(exps, jaegerExp)
|
||||
}
|
||||
@ -41,26 +39,7 @@ func main() {
|
||||
}))
|
||||
defer tracing.ShutdownTracer()
|
||||
|
||||
main.Get("/", func(c *fiber.Ctx) error {
|
||||
ctx, span := tracing.FStart(c, layer_attr.Handler{
|
||||
Level: level.DEBUG,
|
||||
}.AsOpts())
|
||||
defer span.End()
|
||||
|
||||
span.AddEvent(
|
||||
"smthing is happening",
|
||||
layer_attr.Handler{
|
||||
Level: level.INFO,
|
||||
}.AsOpts(),
|
||||
)
|
||||
|
||||
err := Serv(ctx)
|
||||
if err != nil {
|
||||
return tracer.RecordError(span, err)
|
||||
}
|
||||
|
||||
return c.SendString("xd")
|
||||
})
|
||||
main.Get("/", Handler)
|
||||
|
||||
// handle interrupts (shutdown)
|
||||
c := make(chan os.Signal, 1)
|
||||
@ -77,8 +56,29 @@ func main() {
|
||||
|
||||
}
|
||||
|
||||
func Handler(c *fiber.Ctx) error {
|
||||
ctx, span := tracing.FStart(c, layer_attr.Handler{
|
||||
Level: level.DEBUG,
|
||||
}.AsOpts())
|
||||
defer span.End()
|
||||
event.NewInSpan(event.Event{
|
||||
Level: level.WARN,
|
||||
ShortMessage: "a warning event",
|
||||
}, span)
|
||||
|
||||
err := Serv(ctx)
|
||||
if err != nil {
|
||||
return event.NewErrInSpan(event.Error{Err: err, Level: level.ERR}, span)
|
||||
}
|
||||
|
||||
return c.SendStatus(fiber.StatusOK)
|
||||
}
|
||||
|
||||
func Serv(ctx context.Context) *fiber.Error {
|
||||
ctx, span := tracer.Service(ctx, "service", "service span")
|
||||
ctx, span := tracing.Start(ctx, "service span", layer_attr.Service{
|
||||
Level: level.INFO,
|
||||
Name: "some service",
|
||||
}.AsOpts())
|
||||
defer span.End()
|
||||
|
||||
for range []int{1, 2, 3} {
|
||||
@ -94,7 +94,10 @@ func Serv(ctx context.Context) *fiber.Error {
|
||||
}
|
||||
|
||||
func Repo(ctx context.Context) error {
|
||||
ctx, span := tracer.Repository(ctx, "repo", "repo span")
|
||||
ctx, span := tracing.Start(ctx, "repo span", layer_attr.Repo{
|
||||
Level: level.DEBUG,
|
||||
Name: "some repo",
|
||||
}.AsOpts())
|
||||
defer span.End()
|
||||
|
||||
for range []int{1, 2, 3} {
|
||||
|
Reference in New Issue
Block a user