redis/extra/redisotel/example/main.go

40 lines
842 B
Go
Raw Normal View History

package main
import (
"context"
"github.com/go-redis/redis/extra/redisotel/v8"
"github.com/go-redis/redis/v8"
"go.opentelemetry.io/otel"
stdoutexporter "go.opentelemetry.io/otel/exporters/stdout/stdouttrace"
sdktrace "go.opentelemetry.io/otel/sdk/trace"
)
var tracer = otel.Tracer("app_or_package_name")
func main() {
exporter, err := stdoutexporter.New(stdoutexporter.WithPrettyPrint())
if err != nil {
panic(err)
}
provider := sdktrace.NewTracerProvider()
provider.RegisterSpanProcessor(sdktrace.NewSimpleSpanProcessor(exporter))
otel.SetTracerProvider(provider)
rdb := redis.NewClient(&redis.Options{
Addr: ":6379",
})
defer rdb.Close()
rdb.AddHook(redisotel.NewTracingHook())
ctx, span := tracer.Start(context.TODO(), "main")
defer span.End()
if err := rdb.Ping(ctx).Err(); err != nil {
panic(err)
}
}