mirror of
https://github.com/pomerium/pomerium.git
synced 2025-04-29 18:36:30 +02:00
* update tracing config definitions * new tracing system * performance improvements * only configure tracing in envoy if it is enabled in pomerium * [tracing] refactor to use custom extension for trace id editing (#5420) refactor to use custom extension for trace id editing * set default tracing sample rate to 1.0 * fix proxy service http middleware * improve some existing auth related traces * test fixes * bump envoyproxy/go-control-plane * code cleanup * test fixes * Fix missing spans for well-known endpoints * import extension apis from pomerium/envoy-custom
32 lines
594 B
Go
32 lines
594 B
Go
package trace
|
|
|
|
import (
|
|
"unique"
|
|
|
|
oteltrace "go.opentelemetry.io/otel/trace"
|
|
)
|
|
|
|
var (
|
|
zeroSpanID oteltrace.SpanID
|
|
zeroTraceID = unique.Make(oteltrace.TraceID([16]byte{}))
|
|
)
|
|
|
|
func ToSpanID(bytes []byte) (oteltrace.SpanID, bool) {
|
|
switch len(bytes) {
|
|
case 0:
|
|
return zeroSpanID, true
|
|
case 8:
|
|
return oteltrace.SpanID(bytes), true
|
|
}
|
|
return zeroSpanID, false
|
|
}
|
|
|
|
func ToTraceID(bytes []byte) (unique.Handle[oteltrace.TraceID], bool) {
|
|
switch len(bytes) {
|
|
case 0:
|
|
return zeroTraceID, true
|
|
case 16:
|
|
return unique.Make(oteltrace.TraceID(bytes)), true
|
|
}
|
|
return zeroTraceID, false
|
|
}
|