update to latest micro #46
2
go.mod
2
go.mod
@ -4,7 +4,7 @@ go 1.20
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/opentracing/opentracing-go v1.2.0
|
github.com/opentracing/opentracing-go v1.2.0
|
||||||
go.unistack.org/micro/v4 v4.0.10
|
go.unistack.org/micro/v4 v4.0.13
|
||||||
)
|
)
|
||||||
|
|
||||||
require github.com/stretchr/testify v1.8.3 // indirect
|
require github.com/stretchr/testify v1.8.3 // indirect
|
||||||
|
4
go.sum
4
go.sum
@ -8,6 +8,6 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
|
|||||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY=
|
github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY=
|
||||||
github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||||
go.unistack.org/micro/v4 v4.0.10 h1:uKqED/n/zrJd4NGxm9OOUw26UMibgYFhf89MOTnM1go=
|
go.unistack.org/micro/v4 v4.0.13 h1:wyprk+KNAv/zR6bri6p6ucmXcJ9WyZ/vzru4zjPd8dA=
|
||||||
go.unistack.org/micro/v4 v4.0.10/go.mod h1:QT3gOIE4qGgBiQGm2Pad/62Sl5R53QfrgYHD448aX14=
|
go.unistack.org/micro/v4 v4.0.13/go.mod h1:ZDgU9931vm2l7X6RN/6UuwRIVp24GRdmQ7dKmegArk4=
|
||||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
|
@ -65,6 +65,25 @@ type otSpan struct {
|
|||||||
statusMsg string
|
statusMsg string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type spanContext interface {
|
||||||
|
TraceID() fmt.Stringer
|
||||||
|
SpanID() fmt.Stringer
|
||||||
|
}
|
||||||
|
|
||||||
|
func (os *otSpan) TraceID() string {
|
||||||
|
if spanctx, ok := os.span.Context().(spanContext); ok {
|
||||||
|
return spanctx.TraceID().String()
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (os *otSpan) SpanID() string {
|
||||||
|
if spanctx, ok := os.span.Context().(spanContext); ok {
|
||||||
|
return spanctx.SpanID().String()
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
func (os *otSpan) SetStatus(st tracer.SpanStatus, msg string) {
|
func (os *otSpan) SetStatus(st tracer.SpanStatus, msg string) {
|
||||||
os.status = st
|
os.status = st
|
||||||
os.statusMsg = msg
|
os.statusMsg = msg
|
||||||
@ -78,6 +97,10 @@ func (os *otSpan) Tracer() tracer.Tracer {
|
|||||||
return &otTracer{tracer: os.span.Tracer()}
|
return &otTracer{tracer: os.span.Tracer()}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (os *otSpan) AddLogs(kv ...interface{}) {
|
||||||
|
os.span.LogKV(kv...)
|
||||||
|
}
|
||||||
|
|
||||||
func (os *otSpan) Finish(opts ...options.Option) {
|
func (os *otSpan) Finish(opts ...options.Option) {
|
||||||
if len(os.opts.Labels)%2 != 0 {
|
if len(os.opts.Labels)%2 != 0 {
|
||||||
os.opts.Labels = os.opts.Labels[:len(os.opts.Labels)-1]
|
os.opts.Labels = os.opts.Labels[:len(os.opts.Labels)-1]
|
||||||
|
@ -1,50 +0,0 @@
|
|||||||
package opentracing
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"sync"
|
|
||||||
"testing"
|
|
||||||
|
|
||||||
opentracing "github.com/opentracing/opentracing-go"
|
|
||||||
"go.unistack.org/micro/v4/metadata"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestStartSpanFromIncomingContext(t *testing.T) {
|
|
||||||
md := metadata.New(2)
|
|
||||||
md.Set("key", "val")
|
|
||||||
|
|
||||||
var g sync.WaitGroup
|
|
||||||
|
|
||||||
ctx, cancel := context.WithCancel(context.Background())
|
|
||||||
defer cancel()
|
|
||||||
ctx = metadata.NewIncomingContext(ctx, md)
|
|
||||||
|
|
||||||
tracer := opentracing.GlobalTracer()
|
|
||||||
|
|
||||||
g.Add(8000)
|
|
||||||
cherr := make(chan error)
|
|
||||||
for i := 0; i < 8000; i++ {
|
|
||||||
go func() {
|
|
||||||
defer g.Done()
|
|
||||||
_, sp, err := startSpanFromIncomingContext(ctx, tracer, "test")
|
|
||||||
if err != nil {
|
|
||||||
cherr <- err
|
|
||||||
}
|
|
||||||
sp.Finish()
|
|
||||||
}()
|
|
||||||
}
|
|
||||||
|
|
||||||
for {
|
|
||||||
select {
|
|
||||||
default:
|
|
||||||
g.Wait()
|
|
||||||
close(cherr)
|
|
||||||
case err, ok := <-cherr:
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
} else if !ok {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user