1
0
mirror of https://github.com/redis/go-redis.git synced 2025-07-28 06:42:00 +03:00

chore: update otel example

This commit is contained in:
Vladimir Mihailenco
2021-11-05 16:17:17 +02:00
parent 38d398f630
commit c7e913ce48
4 changed files with 198 additions and 44 deletions

View File

@ -7,11 +7,10 @@ import (
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/codes"
"go.opentelemetry.io/otel/exporters/stdout/stdouttrace"
sdktrace "go.opentelemetry.io/otel/sdk/trace"
"github.com/go-redis/redis/extra/redisotel/v8"
"github.com/go-redis/redis/v8"
"github.com/uptrace/opentelemetry-go-extra/otelplay"
)
var tracer = otel.Tracer("redisexample")
@ -19,8 +18,8 @@ var tracer = otel.Tracer("redisexample")
func main() {
ctx := context.Background()
stop := configureOpentelemetry(ctx)
defer stop()
shutdown := otelplay.ConfigureOpentelemetry(ctx)
defer shutdown()
rdb := redis.NewClient(&redis.Options{
Addr: ":6379",
@ -34,6 +33,8 @@ func main() {
span.RecordError(err)
span.SetStatus(codes.Error, err.Error())
}
otelplay.PrintTraceID(ctx)
}
func handleRequest(ctx context.Context, rdb *redis.Client) error {
@ -68,22 +69,3 @@ func handleRequest(ctx context.Context, rdb *redis.Client) error {
return nil
}
func configureOpentelemetry(ctx context.Context) func() {
provider := sdktrace.NewTracerProvider()
otel.SetTracerProvider(provider)
exp, err := stdouttrace.New(stdouttrace.WithPrettyPrint())
if err != nil {
panic(err)
}
bsp := sdktrace.NewBatchSpanProcessor(exp)
provider.RegisterSpanProcessor(bsp)
return func() {
if err := provider.Shutdown(ctx); err != nil {
panic(err)
}
}
}