From fa24095b8884a456dba90682fa437ce04e459429 Mon Sep 17 00:00:00 2001 From: Lukasz Raczylo Date: Wed, 29 Jan 2025 23:42:58 +0000 Subject: [PATCH] Staticheck fixes --- logging/logger_bench_test.go | 4 ++-- logging/logger_test.go | 25 ------------------------- monitoring/helpers.go | 1 - proxy.go | 11 +++++------ tracing/tracing.go | 18 +++++------------- tracing/tracing_test.go | 9 +++++---- 6 files changed, 17 insertions(+), 51 deletions(-) diff --git a/logging/logger_bench_test.go b/logging/logger_bench_test.go index 6067026..c0e4115 100644 --- a/logging/logger_bench_test.go +++ b/logging/logger_bench_test.go @@ -55,9 +55,9 @@ func Benchmark_NewLogger(b *testing.B) { for _, tt := range tests { b.Run(tt.name, func(b *testing.B) { for i := 0; i < b.N; i++ { - got := New() + logger := New() if tt.triggers.ModLevel.Level != 0 { - got = got.SetMinLogLevel(tt.triggers.ModLevel.Level) + logger.SetMinLogLevel(tt.triggers.ModLevel.Level) } } }) diff --git a/logging/logger_test.go b/logging/logger_test.go index e802fe1..a02e038 100644 --- a/logging/logger_test.go +++ b/logging/logger_test.go @@ -3,7 +3,6 @@ package libpack_logger import ( "bytes" "fmt" - "os" "reflect" "testing" "time" @@ -11,30 +10,6 @@ import ( "github.com/goccy/go-json" ) -func captureStderr(f func()) string { - originalStderr := os.Stderr - r, w, _ := os.Pipe() - os.Stderr = w - f() - w.Close() - var buf bytes.Buffer - buf.ReadFrom(r) - os.Stderr = originalStderr - return buf.String() -} - -func captureStdOut(f func()) string { - originalStdout := os.Stdout - r, w, _ := os.Pipe() - os.Stdout = w - f() - w.Close() - var buf bytes.Buffer - buf.ReadFrom(r) - os.Stdout = originalStdout - return buf.String() -} - func (suite *LoggerTestSuite) Test_LogMessageString() { msg := &LogMessage{ Message: "test message", diff --git a/monitoring/helpers.go b/monitoring/helpers.go index 9ca8557..11dc056 100644 --- a/monitoring/helpers.go +++ b/monitoring/helpers.go @@ -17,7 +17,6 @@ var sortedLabelKeysCache = struct { }{} func (ms *MetricsSetup) get_metrics_name(name string, labels map[string]string) string { - const unknownPodName = "unknown" var buf bytes.Buffer podName := getPodName() diff --git a/proxy.go b/proxy.go index f06135d..515617a 100644 --- a/proxy.go +++ b/proxy.go @@ -40,10 +40,9 @@ func createFasthttpClient(timeout int) *fasthttp.Client { // proxyTheRequest handles the request proxying logic. func proxyTheRequest(c *fiber.Ctx, currentEndpoint string) error { - var span trace.Span - ctx := context.Background() - if cfg.Tracing.Enable && tracer != nil { + var span trace.Span + spanCtx := context.Background() // Extract trace information from header if traceHeader := c.Get("X-Trace-Span"); traceHeader != "" { spanInfo, err := libpack_tracing.ParseTraceHeader(traceHeader) @@ -53,14 +52,14 @@ func proxyTheRequest(c *fiber.Ctx, currentEndpoint string) error { Pairs: map[string]interface{}{"error": err.Error()}, }) } else { - if spanCtx, err := tracer.ExtractSpanContext(spanInfo); err == nil { - ctx = trace.ContextWithSpanContext(ctx, spanCtx) + if extractedSpanCtx, err := tracer.ExtractSpanContext(spanInfo); err == nil { + spanCtx = trace.ContextWithSpanContext(spanCtx, extractedSpanCtx) } } } // Start a new span - span, ctx = tracer.StartSpan(ctx, "proxy_request") + span, _ = tracer.StartSpan(spanCtx, "proxy_request") defer span.End() } diff --git a/tracing/tracing.go b/tracing/tracing.go index 55854e3..5cd854d 100644 --- a/tracing/tracing.go +++ b/tracing/tracing.go @@ -12,8 +12,6 @@ import ( sdktrace "go.opentelemetry.io/otel/sdk/trace" semconv "go.opentelemetry.io/otel/semconv/v1.21.0" "go.opentelemetry.io/otel/trace" - "google.golang.org/grpc" - "google.golang.org/grpc/credentials/insecure" ) type TracingSetup struct { @@ -27,23 +25,17 @@ type TraceSpanInfo struct { // NewTracing creates a new tracing setup with OTLP exporter func NewTracing(ctx context.Context, endpoint string) (*TracingSetup, error) { - if ctx == nil { - return nil, fmt.Errorf("context cannot be nil") + if ctx.Err() != nil { + return nil, fmt.Errorf("invalid context: %v", ctx.Err()) } if endpoint == "" { return nil, fmt.Errorf("endpoint cannot be empty") } - conn, err := grpc.DialContext(ctx, endpoint, - grpc.WithTransportCredentials(insecure.NewCredentials()), - grpc.WithBlock(), - grpc.WithReturnConnectionError(), + exporter, err := otlptracegrpc.New(ctx, + otlptracegrpc.WithEndpoint(endpoint), + otlptracegrpc.WithInsecure(), ) - if err != nil { - return nil, fmt.Errorf("failed to create gRPC connection to collector: %w", err) - } - - exporter, err := otlptracegrpc.New(ctx, otlptracegrpc.WithGRPCConn(conn)) if err != nil { return nil, fmt.Errorf("failed to create trace exporter: %w", err) } diff --git a/tracing/tracing_test.go b/tracing/tracing_test.go index dff062e..5371952 100644 --- a/tracing/tracing_test.go +++ b/tracing/tracing_test.go @@ -65,10 +65,11 @@ func TestNewTracing(t *testing.T) { assert.Contains(t, err.Error(), "endpoint cannot be empty") }) - t.Run("nil context", func(t *testing.T) { - _, err := NewTracing(nil, "localhost:4317") - assert.Error(t, err, "Expected error for nil context") - assert.Contains(t, err.Error(), "context cannot be nil") + t.Run("invalid context", func(t *testing.T) { + ctx, cancel := context.WithCancel(context.Background()) + cancel() // Cancel the context immediately + _, err := NewTracing(ctx, "localhost:4317") + assert.Error(t, err, "Expected error for invalid context") }) }