public void MultipleSpans() { var mockConsumer = new Mock <IConsumer <TraceProto> >(); var tracer = SimpleManagedTracer.Create(mockConsumer.Object, CreateTrace()); var annotation = new Dictionary <string, string>(); annotation.Add("annotation-key", "annotation-value"); Predicate <IEnumerable <TraceProto> > matcher = (IEnumerable <TraceProto> t) => { var spans = t.Single().Spans; return(spans.Count == 5 && IsValidSpan(spans[0], "child-one", spans[4].SpanId) && IsValidSpan(spans[1], "grandchild-one", spans[3].SpanId, SpanKind.RpcClient) && IsValidSpan(spans[2], "grandchild-two", spans[3].SpanId) && TraceUtils.IsValidAnnotation(spans[2], annotation) && IsValidSpan(spans[3], "child-two", spans[4].SpanId) && !string.IsNullOrWhiteSpace(spans[0].Labels[Labels.StackTrace]) && IsValidSpan(spans[4], "root")); }; mockConsumer.Setup(c => c.Receive(Match.Create(matcher))); tracer.StartSpan("root"); tracer.StartSpan("child-one"); tracer.SetStackTrace(EmptyStackTrace); tracer.EndSpan(); tracer.StartSpan("child-two"); tracer.StartSpan("grandchild-one", StartSpanOptions.Create(SpanKind.RpcClient)); tracer.EndSpan(); tracer.StartSpan("grandchild-two"); tracer.AnnotateSpan(annotation); tracer.EndSpan(); tracer.EndSpan(); tracer.EndSpan(); mockConsumer.VerifyAll(); }
public void CanTrace_False() { var rateLimiter = TraceUtils.GetRateLimiter(999); Assert.False(rateLimiter.CanTrace()); }
public void CanTrace() { var rateLimiter = TraceUtils.GetRateLimiter(1001); Assert.True(rateLimiter.CanTrace()); }