From b48c418bf8fb8a0876e877199eea8feaf119d8fa Mon Sep 17 00:00:00 2001 From: Jorropo Date: Fri, 8 Dec 2023 11:49:34 +0100 Subject: [PATCH] tracing: outline span creation in StartSpan so string concat can be inlined and folded at compiletime Fixes #67 --- bitswap/client/internal/tracing.go | 7 ++++++- bitswap/internal/tracing.go | 7 ++++++- blockservice/internal/tracing.go | 7 ++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/bitswap/client/internal/tracing.go b/bitswap/client/internal/tracing.go index aac2544d2..def7caf1f 100644 --- a/bitswap/client/internal/tracing.go +++ b/bitswap/client/internal/tracing.go @@ -8,5 +8,10 @@ import ( ) func StartSpan(ctx context.Context, name string, opts ...trace.SpanStartOption) (context.Context, trace.Span) { - return otel.Tracer("go-bitswap").Start(ctx, "Bitswap."+name, opts...) + return startSpan(ctx, "Bitswap.Client."+name, opts...) +} + +// outline logic so the string concatenation can be inlined and executed at compile time +func startSpan(ctx context.Context, name string, opts ...trace.SpanStartOption) (context.Context, trace.Span) { + return otel.Tracer("go-bitswap").Start(ctx, name, opts...) } diff --git a/bitswap/internal/tracing.go b/bitswap/internal/tracing.go index aac2544d2..ef5d1e9ae 100644 --- a/bitswap/internal/tracing.go +++ b/bitswap/internal/tracing.go @@ -8,5 +8,10 @@ import ( ) func StartSpan(ctx context.Context, name string, opts ...trace.SpanStartOption) (context.Context, trace.Span) { - return otel.Tracer("go-bitswap").Start(ctx, "Bitswap."+name, opts...) + return startSpan(ctx, "Bitswap."+name, opts...) +} + +// outline logic so the string concatenation can be inlined and executed at compile time +func startSpan(ctx context.Context, name string, opts ...trace.SpanStartOption) (context.Context, trace.Span) { + return otel.Tracer("go-bitswap").Start(ctx, name, opts...) } diff --git a/blockservice/internal/tracing.go b/blockservice/internal/tracing.go index 44ffbfccc..ee04673f4 100644 --- a/blockservice/internal/tracing.go +++ b/blockservice/internal/tracing.go @@ -8,5 +8,10 @@ import ( ) func StartSpan(ctx context.Context, name string, opts ...trace.SpanStartOption) (context.Context, trace.Span) { - return otel.Tracer("go-blockservice").Start(ctx, "Blockservice."+name, opts...) + return startSpan(ctx, "Blockservice."+name, opts...) +} + +// outline logic so the string concatenation can be inlined and executed at compile time +func startSpan(ctx context.Context, name string, opts ...trace.SpanStartOption) (context.Context, trace.Span) { + return otel.Tracer("go-blockservice").Start(ctx, name, opts...) }