get trace info from context
Some checks failed
build / test (push) Has been cancelled
build / lint (push) Has been cancelled
codeql / analyze (go) (push) Has been cancelled

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
2024-07-17 17:37:06 +03:00
parent 2149a713d5
commit e887edb475
3 changed files with 90 additions and 16 deletions

View File

@@ -6,11 +6,13 @@ import (
"testing"
"github.com/opentracing/opentracing-go/mocktracer"
// jconfig "github.com/uber/jaeger-client-go/config"
"go.unistack.org/micro/v3/logger/slog"
"go.unistack.org/micro/v3/metadata"
"go.unistack.org/micro/v3/tracer"
)
func TestTraceID(t *testing.T) {
func TestNoopTraceID(t *testing.T) {
md := metadata.New(1)
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
@@ -30,8 +32,62 @@ func TestTraceID(t *testing.T) {
if v := sp.SpanID(); v != "44" {
t.Fatalf("invalid span span id %#+v", v)
}
l := slog.NewLogger()
if err := l.Init(); err != nil {
t.Fatal(err)
}
l.Info(ctx, "msg")
}
/*
func TestRealTraceID(t *testing.T) {
md := metadata.New(1)
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
ctx = metadata.NewIncomingContext(ctx, md)
jcfg := &jconfig.Configuration{
ServiceName: "test",
Sampler: &jconfig.SamplerConfig{
Type: "const",
Param: 1,
},
Reporter: &jconfig.ReporterConfig{
LogSpans: true,
QueueSize: 100,
},
}
jtr, closer, err := jcfg.NewTracer()
if err != nil {
t.Fatal(err)
}
defer closer.Close()
tr := NewTracer(Tracer(jtr))
if err := tr.Init(); err != nil {
t.Fatal(err)
}
var sp tracer.Span
ctx, sp = tr.Start(ctx, "test")
if v := sp.TraceID(); v != "43" {
t.Fatalf("invalid span trace id %#+v", v)
}
if v := sp.SpanID(); v != "44" {
t.Fatalf("invalid span span id %#+v", v)
}
l := slog.NewLogger()
if err := l.Init(); err != nil {
t.Fatal(err)
}
l.Info(ctx, "msg")
}
*
func TestTraceTags(t *testing.T) {
md := metadata.New(1)
ctx, cancel := context.WithCancel(context.Background())