Skip to main content

%Trace.Propagation

class %Trace.Propagation extends %Library.RegisteredObject

Provide Trace Context Propagation handling methods. Note that callers should always pass a viable Context (%Trace.Context) object, even for the Extract methods as these use the passed Context to derive the returned Context. A Context object, with the current ActiveSpan, can be obtained from %Trace.Context.GetCurrentContext().

Method Inventory

Methods

classmethod CSPRequestExtract(Request As %CSP.Request, Context As %Trace.Context) as %Trace.Context
Extract the W3C Trace Context from the HTTP Headers in a %CSP.Request object (i.e. %request). Returns a copy of the passed 'Context' with the extracted SpanContext. If no valid Trace Context is found, we return the copy of the 'Context' as passed in.
classmethod HttpExtract(ByRef Headers As %String, Context As %Trace.Context) as %Trace.Context
Extract the W3C Trace Context from HTTP headers. Headers are passed by reference as an array. Returns a copy of the passed 'Context' with the extracted SpanContext. If no valid Trace Context is found, we return the copy of the 'Context' as passed in.
classmethod HttpInject(ByRef Headers As %String, Context As %Trace.Context)
Inject the W3C Trace Context from the passed 'Context' into the HTTP headers array in 'Headers'. This will add Headers("traceparent") and Headers("tracestate").
classmethod HttpRequestInject(Request As %Net.HttpRequest, Context As %Trace.Context)
Inject the W3C Trace Context from the passed 'Context' into the Headers of an HttpRequest object.

Inherited Members

Inherited Methods

FeedbackOpens in a new tab