Skip to content

Commit

Permalink
enscapulate err field in jtracer
Browse files Browse the repository at this point in the history
Signed-off-by: Afzal Ansari <[email protected]>
  • Loading branch information
afzal442 committed Jul 14, 2023
1 parent 2018857 commit b54e872
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 20 deletions.
6 changes: 3 additions & 3 deletions cmd/query/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -131,10 +131,10 @@ func main() {
if err := storageFactory.Close(); err != nil {
logger.Error("Failed to close storage factory", zap.Error(err))
}
if err = jtracer.Close(context.Background()); err != nil {
svc.Logger.Fatal("Error shutting down tracer provider", zap.Error(err))
}
})
if err = jtracer.Close(context.Background()); err != nil {
svc.Logger.Fatal("Error shutting down tracer provider", zap.Error(err))
}
return nil
},
}
Expand Down
23 changes: 6 additions & 17 deletions pkg/jtracer/jtracer.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import (
"fmt"
"sync"

"github.com/go-logr/zapr"
"github.com/opentracing/opentracing-go"
"go.opentelemetry.io/otel"
otbridge "go.opentelemetry.io/otel/bridge/opentracing"
Expand All @@ -30,28 +29,26 @@ import (
sdktrace "go.opentelemetry.io/otel/sdk/trace"
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
"go.opentelemetry.io/otel/trace"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)

type JTracer struct {
OT opentracing.Tracer
OTEL trace.TracerProvider
log *zap.Logger
closer func() error
err error
}

var once sync.Once

func New() JTracer {
jt := JTracer{}
opentracingTracer, otelTracerProvider, logger, closed := jt.initBoth()
opentracingTracer, otelTracerProvider, closed, error := jt.initBoth()

return JTracer{
OT: opentracingTracer,
OTEL: otelTracerProvider,
log: logger,
closer: closed,
err: error,
}

Check warning on line 52 in pkg/jtracer/jtracer.go

View check run for this annotation

Codecov / codecov/patch

pkg/jtracer/jtracer.go#L43-L52

Added lines #L43 - L52 were not covered by tests
}

Expand All @@ -60,18 +57,10 @@ func NoOp() JTracer {
}

// initBoth initializes OpenTelemetry SDK and uses OTel-OpenTracing Bridge
func (jt JTracer) initBoth() (opentracing.Tracer, trace.TracerProvider, *zap.Logger, func() error) {
zc := zap.NewDevelopmentConfig()
zc.Level = zap.NewAtomicLevelAt(zapcore.Level(-8)) // level used by OTEL's Debug()
logger, err := zc.Build()
if err != nil {
panic(err)
}
otel.SetLogger(zapr.NewLogger(logger))

func (jt JTracer) initBoth() (opentracing.Tracer, trace.TracerProvider, func() error, error) {
traceExporter, err := otelExporter()
if err != nil {
logger.Sugar().Fatalf("failed to create exporter", zap.Any("error", err))
return nil, nil, nil, fmt.Errorf("failed to create exporter: %w", err)
}

Check warning on line 64 in pkg/jtracer/jtracer.go

View check run for this annotation

Codecov / codecov/patch

pkg/jtracer/jtracer.go#L60-L64

Added lines #L60 - L64 were not covered by tests

// Register the trace exporter with a TracerProvider, using a batch
Expand Down Expand Up @@ -100,7 +89,7 @@ func (jt JTracer) initBoth() (opentracing.Tracer, trace.TracerProvider, *zap.Log
return tracerProvider.Shutdown(context.Background())
}

Check warning on line 90 in pkg/jtracer/jtracer.go

View check run for this annotation

Codecov / codecov/patch

pkg/jtracer/jtracer.go#L86-L90

Added lines #L86 - L90 were not covered by tests

return otTracer, wrapperTracerProvider, logger, closer
return otTracer, wrapperTracerProvider, closer, nil

Check warning on line 92 in pkg/jtracer/jtracer.go

View check run for this annotation

Codecov / codecov/patch

pkg/jtracer/jtracer.go#L92

Added line #L92 was not covered by tests
}

func otelExporter() (sdktrace.SpanExporter, error) {
Expand Down

0 comments on commit b54e872

Please sign in to comment.