Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
PassThroughPropagator.cs
Go to the documentation of this file.
2
3namespace System.Diagnostics;
4
6{
8
9
11
12
14 {
15 if (setter == null)
16 {
17 return;
18 }
20 if (parentId != null)
21 {
22 setter(carrier, isW3c ? "traceparent" : "Request-Id", parentId);
23 if (!string.IsNullOrEmpty(traceState))
24 {
25 setter(carrier, "tracestate", traceState);
26 }
27 if (baggage != null)
28 {
30 }
31 }
32 }
33
34 public override void ExtractTraceIdAndState(object carrier, PropagatorGetterCallback getter, out string traceId, out string traceState)
35 {
36 LegacyPropagator.Instance.ExtractTraceIdAndState(carrier, getter, out traceId, out traceState);
37 }
38
40 {
41 return LegacyPropagator.Instance.ExtractBaggage(carrier, getter);
42 }
43
45 {
47 while (true)
48 {
49 Activity activity2 = activity?.Parent;
50 if (activity2 == null)
51 {
52 break;
53 }
55 }
56 traceState = activity?.TraceStateString;
57 parentId = activity?.ParentId ?? activity?.Id;
59 baggage = activity?.Baggage;
60 }
61}
static bool TryConvertIdToContext(string traceParent, string traceState, out ActivityContext context)
Definition Activity.cs:915
static ? Activity Current
Definition Activity.cs:662
delegate void PropagatorSetterCallback(object? carrier, string fieldName, string fieldValue)
static void InjectBaggage(object carrier, IEnumerable< KeyValuePair< string, string > > baggage, PropagatorSetterCallback setter)
delegate void PropagatorGetterCallback(object? carrier, string fieldName, out string? fieldValue, out IEnumerable< string >? fieldValues)
static DistributedContextPropagator Instance
static DistributedContextPropagator Instance
override IReadOnlyCollection< string > Fields
override void Inject(Activity activity, object carrier, PropagatorSetterCallback setter)
static void GetRootId(out string parentId, out string traceState, out bool isW3c, out IEnumerable< KeyValuePair< string, string > > baggage)
override IEnumerable< KeyValuePair< string, string > > ExtractBaggage(object carrier, PropagatorGetterCallback getter)
override void ExtractTraceIdAndState(object carrier, PropagatorGetterCallback getter, out string traceId, out string traceState)