Esempio n. 1
0
 public SpanState(long traceId, long?parentSpanId, long spanId, SpanFlags flags)
 {
     TraceId      = traceId;
     ParentSpanId = parentSpanId;
     SpanId       = spanId;
     Flags        = flags;
 }
Esempio n. 2
0
 public SpanState(long traceIdHigh, long traceId, long?parentSpanId, long spanId, SpanFlags flags)
     : this(traceIdHigh, traceId, parentSpanId, spanId,
            flags.HasFlag(SpanFlags.SamplingKnown) ? flags.HasFlag(SpanFlags.Sampled) : (bool?)null,
            flags.HasFlag(SpanFlags.Debug))
 {
     Flags = flags;
 }
Esempio n. 3
0
        public void TraceSamplingForced(SpanFlags initialFlags)
        {
            var spanState = new SpanState(1, 0, 1, initialFlags);
            var trace     = Trace.CreateFromId(spanState);

            trace.ForceSampled();

            Assert.AreEqual(SamplingStatus.Sampled, trace.CurrentSpan.SamplingStatus);
        }
Esempio n. 4
0
        public SpanState(long traceIdHigh, long traceId, long?parentSpanId, long spanId, bool?isSampled, bool isDebug,
                         List <object> extra)
        {
            TraceIdHigh  = traceIdHigh;
            TraceId      = traceId;
            ParentSpanId = parentSpanId;
            SpanId       = spanId;
            Sampled      = isSampled;
            Debug        = isDebug;
#pragma warning disable 618
            Flags = GetFlagsForBackwardCompatibility(isSampled, isDebug);
#pragma warning restore 618
            Extra = extra;
        }
        public void SampledHeaderFollowFlagsValueForCompatibility(SpanFlags flags, string expectedHeader)
        {
            var spanFlagNotSampled = Trace.CreateFromId(new SpanState(1, 2, 250, flags));

            var headers = new Dictionary <string, string>();

            _injector.Inject(spanFlagNotSampled, headers);

            if (expectedHeader != null)
            {
                Assert.AreEqual(expectedHeader, headers[ZipkinHttpHeaders.Sampled]);
            }
            else
            {
                Assert.IsFalse(headers.ContainsKey(ZipkinHttpHeaders.Sampled));
            }
        }
Esempio n. 6
0
        public void FlagsAreCorrectlyParsed(string flagStr, SpanFlags expectedFlags)
        {
            var parsedFlags = ZipkinHttpHeaders.ParseFlagsHeader(flagStr);

            Assert.AreEqual(expectedFlags, parsedFlags);
        }
Esempio n. 7
0
 /// <summary>
 /// Indicate that this span is relevant and should be sent.
 /// </summary>
 internal void SetSampled()
 {
     Flags = Flags | SpanFlags.SamplingKnown | SpanFlags.Sampled;
 }
Esempio n. 8
0
 public SpanState(long traceId, long?parentSpanId, long spanId, SpanFlags flags)
     : this(NoTraceIdHigh, traceId, parentSpanId, spanId, flags)
 {
 }