Exemple #1
0
        private static void AddClientSendReceiveAnnotations(Span span, DateTime startTime, TimeSpan timeOffset)
        {
            var endtime = startTime + timeOffset;

            span.AddAnnotation(new ZipkinAnnotation(startTime, zipkinCoreConstants.CLIENT_SEND));
            span.AddAnnotation(new ZipkinAnnotation(endtime, zipkinCoreConstants.CLIENT_RECV));
            span.SetAsComplete(endtime);
        }
Exemple #2
0
        private static TimeSpan?GetSpanDuration(TimeSpan offset, params string[] annotations)
        {
            var spanState      = new SpanState(1, null, 2, isSampled: null, isDebug: false);
            var span           = new Span(spanState, TimeUtils.UtcNow);
            var annotationTime = span.SpanCreated;

            Array.ForEach(annotations, a =>
                          span.AddAnnotation(new ZipkinAnnotation(annotationTime, a)));

            span.SetAsComplete(annotationTime.Add(offset));

            return(span.Duration);
        }
Exemple #3
0
        public void MinimumDurationShouldBeAMicrosecond()
        {
            var spanState      = new SpanState(1, null, 2, isSampled: null, isDebug: false);
            var span           = new Span(spanState, TimeUtils.UtcNow);
            var annotationTime = span.SpanCreated;

            span.AddBinaryAnnotation(new BinaryAnnotation(zipkinCoreConstants.LOCAL_COMPONENT,
                                                          Encoding.UTF8.GetBytes("lc1"), AnnotationType.STRING, annotationTime,
                                                          SerializerUtils.DefaultServiceName, SerializerUtils.DefaultEndPoint));
            span.SetAsComplete(annotationTime.AddTicks(1));

            Assert.NotNull(span.Duration);
            Assert.AreEqual(0.001, span.Duration.Value.TotalMilliseconds);
        }
Exemple #4
0
 public void Visit(ClientRecv clientRecv)
 {
     AddTimestampedAnnotation(zipkinCoreConstants.CLIENT_RECV);
     _span.SetAsComplete(_record.Timestamp);
 }