diff --git a/internal/trace/constants.go b/internal/trace/constants.go index 21a66e6..36cf649 100644 --- a/internal/trace/constants.go +++ b/internal/trace/constants.go @@ -12,6 +12,7 @@ const ( traceIDHeader = "x-datadog-trace-id" parentIDHeader = "x-datadog-parent-id" samplingPriorityHeader = "x-datadog-sampling-priority" + originHeader = "x-datadog-origin" ) const ( diff --git a/internal/trace/context.go b/internal/trace/context.go index ac8320e..6ccab85 100644 --- a/internal/trace/context.go +++ b/internal/trace/context.go @@ -163,6 +163,9 @@ func getTraceContext(ctx context.Context, headers map[string]string) (TraceConte tc[samplingPriorityHeader] = samplingPriority tc[traceIDHeader] = traceID tc[parentIDHeader] = parentID + if origin, ok := headers[originHeader]; ok { + tc[originHeader] = origin + } return tc, true }