Skip to content

Commit 80e7515

Browse files
committed
Update example module, tidy
1 parent aa456e5 commit 80e7515

File tree

6 files changed

+68
-219
lines changed

6 files changed

+68
-219
lines changed

example/otel/example-client.go

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,43 +9,21 @@ import (
99
"github.com/go-redis/redis/v8"
1010
"github.com/go-redis/redis/v8/extra/redisotel"
1111
"go.opentelemetry.io/otel"
12-
meterStdout "go.opentelemetry.io/otel/exporters/metric/stdout"
13-
traceStdout "go.opentelemetry.io/otel/exporters/trace/stdout"
12+
"go.opentelemetry.io/otel/exporters/stdout"
1413
"go.opentelemetry.io/otel/sdk/metric/controller/push"
14+
"go.opentelemetry.io/otel/sdk/metric/processor/basic"
15+
"go.opentelemetry.io/otel/sdk/metric/selector/simple"
1516
sdktrace "go.opentelemetry.io/otel/sdk/trace"
1617
)
1718

1819
func main() {
19-
<-time.After(1 * time.Second)
20+
stop := runExporter()
21+
defer stop()
2022

2123
rdb := redis.NewClient(&redis.Options{
2224
Addr: ":6379",
2325
})
2426

25-
meterExporter, err := meterStdout.NewExportPipeline(meterStdout.Config{PrettyPrint: true},
26-
push.WithPeriod(1*time.Second))
27-
if err != nil {
28-
log.Fatal(err.Error())
29-
} else {
30-
otel.SetMeterProvider(meterExporter.Provider())
31-
}
32-
33-
traceExporter, err := traceStdout.NewExporter(traceStdout.Options{
34-
PrettyPrint: true,
35-
})
36-
if err != nil {
37-
log.Fatal(err.Error())
38-
}
39-
40-
if tp, err := sdktrace.NewProvider(
41-
sdktrace.WithSyncer(traceExporter),
42-
sdktrace.WithConfig(sdktrace.Config{DefaultSampler: sdktrace.AlwaysSample()}),
43-
); err != nil {
44-
log.Fatal(err.Error())
45-
} else {
46-
otel.SetTraceProvider(tp)
47-
}
48-
4927
rdb.AddHook(redisotel.TracingHook{})
5028

5129
ctx := context.Background()
@@ -77,3 +55,27 @@ func main() {
7755
<-time.After(5 * time.Second)
7856
span.End()
7957
}
58+
59+
func runExporter() func() {
60+
exporter, err := stdout.NewExporter(stdout.WithPrettyPrint())
61+
if err != nil {
62+
log.Fatal(err.Error())
63+
}
64+
65+
tp := sdktrace.NewTracerProvider(
66+
sdktrace.WithSyncer(exporter),
67+
sdktrace.WithConfig(sdktrace.Config{DefaultSampler: sdktrace.AlwaysSample()}),
68+
)
69+
otel.SetTracerProvider(tp)
70+
71+
pusher := push.New(
72+
basic.New(
73+
simple.NewWithExactDistribution(),
74+
exporter,
75+
),
76+
exporter,
77+
push.WithPeriod(1*time.Second),
78+
)
79+
pusher.Start()
80+
return pusher.Stop
81+
}

example/otel/go.mod

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
module github.com/go-redis/redis/example
1+
module github.com/go-redis/redis/example/otel
22

33
go 1.14
44

55
require (
6-
github.com/benbjohnson/clock v1.0.3 // indirect
76
github.com/go-redis/redis/v8 v8.4.4
8-
github.com/opentracing/opentracing-go v1.1.1-0.20190913142402-a7454ce5950e // indirect
7+
github.com/go-redis/redis/v8/extra/redisotel v0.0.0-00010101000000-000000000000
98
go.opentelemetry.io/otel v0.15.0
9+
go.opentelemetry.io/otel/exporters/stdout v0.15.0
1010
go.opentelemetry.io/otel/sdk v0.15.0
11-
google.golang.org/genproto v0.0.0-20191009194640-548a555dbc03 // indirect
1211
)
1312

1413
replace github.com/go-redis/redis/v8 => ../../
14+
15+
replace github.com/go-redis/redis/v8/extra/redisotel => ../../extra/redisotel

0 commit comments

Comments
 (0)