1
0
mirror of https://github.com/redis/go-redis.git synced 2025-07-31 05:04:23 +03:00

Fix otel example

This commit is contained in:
Vladimir Mihailenco
2021-02-04 10:38:54 +02:00
parent 0a15359292
commit f8cbf483f4
2 changed files with 42 additions and 28 deletions

View File

@ -10,15 +10,17 @@ import (
"github.com/go-redis/redis/v8/extra/redisotel"
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/exporters/stdout"
"go.opentelemetry.io/otel/sdk/metric/controller/push"
"go.opentelemetry.io/otel/sdk/metric/processor/basic"
controller "go.opentelemetry.io/otel/sdk/metric/controller/basic"
processor "go.opentelemetry.io/otel/sdk/metric/processor/basic"
"go.opentelemetry.io/otel/sdk/metric/selector/simple"
sdktrace "go.opentelemetry.io/otel/sdk/trace"
)
func main() {
stop := runExporter()
defer stop()
ctx := context.Background()
stop := runExporter(ctx)
defer stop(ctx)
rdb := redis.NewClient(&redis.Options{
Addr: ":6379",
@ -26,7 +28,6 @@ func main() {
rdb.AddHook(redisotel.TracingHook{})
ctx := context.Background()
tracer := otel.Tracer("Example tracer")
ctx, span := tracer.Start(ctx, "start-test-span")
@ -56,10 +57,10 @@ func main() {
span.End()
}
func runExporter() func() {
func runExporter(ctx context.Context) func(context.Context) error {
exporter, err := stdout.NewExporter(stdout.WithPrettyPrint())
if err != nil {
log.Fatal(err.Error())
log.Fatal(err)
}
tp := sdktrace.NewTracerProvider(
@ -68,14 +69,17 @@ func runExporter() func() {
)
otel.SetTracerProvider(tp)
pusher := push.New(
basic.New(
ctrl := controller.New(
processor.New(
simple.NewWithExactDistribution(),
exporter,
),
exporter,
push.WithPeriod(1*time.Second),
controller.WithPusher(exporter),
controller.WithCollectPeriod(1*time.Second),
)
pusher.Start()
return pusher.Stop
if err := ctrl.Start(ctx); err != nil {
log.Fatal(err)
}
return ctrl.Stop
}