diff --git a/pkg/go.mod b/pkg/go.mod index e13a919..56cf6d7 100644 --- a/pkg/go.mod +++ b/pkg/go.mod @@ -3,27 +3,45 @@ module github.com/samims/hcaas/pkg go 1.24.4 require ( + github.com/IBM/sarama v1.45.2 go.opentelemetry.io/otel v1.37.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0 go.opentelemetry.io/otel/sdk v1.37.0 - google.golang.org/grpc v1.73.0 + go.opentelemetry.io/otel/trace v1.37.0 ) require ( github.com/cenkalti/backoff/v5 v5.0.2 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/eapache/go-resiliency v1.7.0 // indirect + github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 // indirect + github.com/eapache/queue v1.1.0 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect + github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 // indirect + github.com/hashicorp/errwrap v1.0.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/go-uuid v1.0.3 // indirect + github.com/jcmturner/aescts/v2 v2.0.0 // indirect + github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect + github.com/jcmturner/gofork v1.7.6 // indirect + github.com/jcmturner/gokrb5/v8 v8.4.4 // indirect + github.com/jcmturner/rpc/v2 v2.0.3 // indirect + github.com/klauspost/compress v1.18.0 // indirect + github.com/pierrec/lz4/v4 v4.1.22 // indirect + github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0 // indirect go.opentelemetry.io/otel/metric v1.37.0 // indirect - go.opentelemetry.io/otel/trace v1.37.0 // indirect go.opentelemetry.io/proto/otlp v1.7.0 // indirect + golang.org/x/crypto v0.39.0 // indirect golang.org/x/net v0.41.0 // indirect golang.org/x/sys v0.33.0 // indirect golang.org/x/text v0.26.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect + google.golang.org/grpc v1.73.0 // indirect google.golang.org/protobuf v1.36.6 // indirect ) diff --git a/pkg/tracing/tracer.go b/pkg/tracing/tracer.go index ec6e55c..447144a 100644 --- a/pkg/tracing/tracer.go +++ b/pkg/tracing/tracer.go @@ -79,6 +79,10 @@ func (t *Tracer) AddAttributes(span trace.Span, attrs ...attribute.KeyValue) { span.SetAttributes(attrs...) } +func (t *Tracer) AddEvent(span trace.Span, name string, attrs ...attribute.KeyValue) { + span.AddEvent(name, trace.WithAttributes(attrs...)) +} + // AddGoogleCloudAttributes adds Google Cloud specific attributes func (t *Tracer) AddGoogleCloudAttributes(span trace.Span, projectID, region, zone string) { span.SetAttributes( @@ -131,3 +135,11 @@ func (t *Tracer) AddKafkaAttributes(span trace.Span, topic, operation string, pa func GetTracer(name string) trace.Tracer { return otel.Tracer(name) } + +// GetTraceID extracts the trace ID from the context +func (t *Tracer) GetTraceID(ctx context.Context) string { + if span := trace.SpanFromContext(ctx); span.SpanContext().IsValid() { + return span.SpanContext().TraceID().String() + } + return "" +}