1
0
mirror of https://github.com/go-kratos/kratos.git synced 2025-02-05 13:15:11 +02:00

add default tracer valuer

This commit is contained in:
longXboy 2021-06-03 17:29:56 +08:00 committed by longxboy
parent 4860f42637
commit 08d4db2c0c

View File

@ -6,6 +6,8 @@ import (
"strconv"
"strings"
"time"
"go.opentelemetry.io/otel/trace"
)
var (
@ -46,6 +48,18 @@ func Timestamp(layout string) Valuer {
}
}
// TraceID returns a traceid valuer.
func TraceID() Valuer {
return func(ctx context.Context) interface{} {
span := trace.SpanContextFromContext(ctx)
var traceID string
if span.HasTraceID() {
traceID = span.TraceID().String()
}
return traceID
}
}
func bindValues(ctx context.Context, keyvals []interface{}) {
for i := 1; i < len(keyvals); i += 2 {
if v, ok := keyvals[i].(Valuer); ok {