Skip to content

Commit c691efe

Browse files
committed
Use new OpenTelemetry SpanProcessor and SpanExporter
Signed-off-by: Aleksander Mistewicz <[email protected]>
1 parent bebf769 commit c691efe

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

server/embed/config_tracing.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ package embed
1717
import (
1818
"context"
1919
"fmt"
20+
"time"
2021

2122
"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
2223
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc"
@@ -76,6 +77,7 @@ func newTracingExporter(ctx context.Context, cfg *Config) (*tracingExporter, err
7677
}
7778

7879
traceProvider := tracesdk.NewTracerProvider(
80+
tracesdk.WithSpanProcessor(traceutil.NewLongSpanProcessor(traceutil.NewLogExporter(cfg.logger), 100*time.Millisecond)),
7981
tracesdk.WithBatcher(exporter),
8082
tracesdk.WithResource(res),
8183
tracesdk.WithSampler(

server/embed/etcd.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import (
3232
"time"
3333

3434
"github.com/soheilhy/cmux"
35+
tracesdk "go.opentelemetry.io/otel/sdk/trace"
3536
"go.uber.org/zap"
3637
"google.golang.org/grpc"
3738
"google.golang.org/grpc/credentials/insecure"
@@ -43,6 +44,7 @@ import (
4344
"go.etcd.io/etcd/client/v3/credentials"
4445
"go.etcd.io/etcd/pkg/v3/debugutil"
4546
runtimeutil "go.etcd.io/etcd/pkg/v3/runtime"
47+
"go.etcd.io/etcd/pkg/v3/traceutil"
4648
"go.etcd.io/etcd/server/v3/config"
4749
"go.etcd.io/etcd/server/v3/etcdserver"
4850
"go.etcd.io/etcd/server/v3/etcdserver/api/etcdhttp"
@@ -251,6 +253,12 @@ func StartEtcd(inCfg *Config) (e *Etcd, err error) {
251253
e.cfg.logger.Info(
252254
"distributed tracing setup enabled",
253255
)
256+
} else {
257+
// Initialize local trace logging even if distributed tracing is disabled.
258+
traceProvider := tracesdk.NewTracerProvider(
259+
tracesdk.WithSpanProcessor(traceutil.NewLongSpanProcessor(traceutil.NewLogExporter(e.cfg.logger), 100*time.Millisecond)),
260+
)
261+
traceutil.Init(traceProvider)
254262
}
255263

256264
srvcfg.PeerTLSInfo.LocalAddr = srvcfg.LocalAddress

0 commit comments

Comments
 (0)