From 9cadab2684e5072cb353e3ca9a76e78382bf65f2 Mon Sep 17 00:00:00 2001 From: Kevin Wan Date: Sat, 22 Oct 2022 22:52:40 +0800 Subject: [PATCH] chore: refactor (#2545) * chore: refactor * chore: refactor --- core/stores/redis/hook.go | 2 +- core/stores/redis/hook_test.go | 31 ++++++++++++++++++----------- rest/handler/tracinghandler.go | 11 +++++----- rest/handler/tracinghandler_test.go | 2 +- 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/core/stores/redis/hook.go b/core/stores/redis/hook.go index 37f3644f..56593e2d 100644 --- a/core/stores/redis/hook.go +++ b/core/stores/redis/hook.go @@ -149,7 +149,7 @@ func logDuration(ctx context.Context, cmds []red.Cmder, duration time.Duration) } build.WriteString(mapping.Repr(arg)) } - buf.WriteString(mapping.Repr(build.String())) + buf.WriteString(build.String()) } logx.WithContext(ctx).WithDuration(duration).Slowf("[REDIS] slowcall on executing: %s", buf.String()) } diff --git a/core/stores/redis/hook_test.go b/core/stores/redis/hook_test.go index 7fb7551c..ba11983f 100644 --- a/core/stores/redis/hook_test.go +++ b/core/stores/redis/hook_test.go @@ -91,10 +91,10 @@ func TestHookProcessPipelineCase1(t *testing.T) { log.SetOutput(&buf) defer log.SetOutput(writer) - ctx, err := durationHook.BeforeProcessPipeline(context.Background(), []red.Cmder{red.NewCmd(context.Background())}) - if err != nil { - t.Fatal(err) - } + ctx, err := durationHook.BeforeProcessPipeline(context.Background(), []red.Cmder{ + red.NewCmd(context.Background()), + }) + assert.NoError(t, err) assert.Equal(t, "redis", tracesdk.SpanFromContext(ctx).(interface{ Name() string }).Name()) assert.Nil(t, durationHook.AfterProcessPipeline(ctx, []red.Cmder{ @@ -115,10 +115,10 @@ func TestHookProcessPipelineCase2(t *testing.T) { w, restore := injectLog() defer restore() - ctx, err := durationHook.BeforeProcessPipeline(context.Background(), []red.Cmder{red.NewCmd(context.Background())}) - if err != nil { - t.Fatal(err) - } + ctx, err := durationHook.BeforeProcessPipeline(context.Background(), []red.Cmder{ + red.NewCmd(context.Background()), + }) + assert.NoError(t, err) assert.Equal(t, "redis", tracesdk.SpanFromContext(ctx).(interface{ Name() string }).Name()) time.Sleep(slowThreshold.Load() + time.Millisecond) @@ -159,7 +159,9 @@ func TestHookProcessPipelineCase5(t *testing.T) { defer log.SetOutput(writer) ctx := context.WithValue(context.Background(), startTimeKey, "foo") - assert.Nil(t, durationHook.AfterProcessPipeline(ctx, []red.Cmder{red.NewCmd(context.Background())})) + assert.Nil(t, durationHook.AfterProcessPipeline(ctx, []red.Cmder{ + red.NewCmd(context.Background()), + })) assert.True(t, buf.Len() == 0) } @@ -167,11 +169,16 @@ func TestLogDuration(t *testing.T) { w, restore := injectLog() defer restore() - logDuration(context.Background(), []red.Cmder{red.NewCmd(context.Background(), "get", "foo")}, 1*time.Second) + logDuration(context.Background(), []red.Cmder{ + red.NewCmd(context.Background(), "get", "foo"), + }, 1*time.Second) assert.True(t, strings.Contains(w.String(), "get foo")) - logDuration(context.Background(), []red.Cmder{red.NewCmd(context.Background(), "get", "foo"), red.NewCmd(context.Background(), "set", "bar", 0)}, 1*time.Second) - assert.True(t, strings.Contains(w.String(), "get foo\\nset bar 0")) + logDuration(context.Background(), []red.Cmder{ + red.NewCmd(context.Background(), "get", "foo"), + red.NewCmd(context.Background(), "set", "bar", 0), + }, 1*time.Second) + assert.True(t, strings.Contains(w.String(), `get foo\nset bar 0`)) } func injectLog() (r *strings.Builder, restore func()) { diff --git a/rest/handler/tracinghandler.go b/rest/handler/tracinghandler.go index 4e9e5f1b..9e258dfc 100644 --- a/rest/handler/tracinghandler.go +++ b/rest/handler/tracinghandler.go @@ -12,11 +12,11 @@ import ( oteltrace "go.opentelemetry.io/otel/trace" ) -var dontTracingSpanNames sync.Map +var notTracingSpans sync.Map -// DontTracingSpanName disable tracing for the specified spanName. -func DontTracingSpanName(spanName string) { - dontTracingSpanNames.Store(spanName, lang.Placeholder) +// DontTraceSpan disable tracing for the specified span name. +func DontTraceSpan(spanName string) { + notTracingSpans.Store(spanName, lang.Placeholder) } // TracingHandler return a middleware that process the opentelemetry. @@ -36,8 +36,7 @@ func TracingHandler(serviceName, path string) func(http.Handler) http.Handler { spanName = r.URL.Path } - _, ok := dontTracingSpanNames.Load(spanName) - if ok { + if _, ok := notTracingSpans.Load(spanName); ok { return } diff --git a/rest/handler/tracinghandler_test.go b/rest/handler/tracinghandler_test.go index bbc60911..c1d224d6 100644 --- a/rest/handler/tracinghandler_test.go +++ b/rest/handler/tracinghandler_test.go @@ -60,7 +60,7 @@ func TestDontTracingSpanName(t *testing.T) { Sampler: 1.0, }) - DontTracingSpanName("bar") + DontTraceSpan("bar") for _, test := range []string{"", "bar", "foo"} { t.Run(test, func(t *testing.T) {