コード例 #1
0
        public void Trace_Simple_Buffer()
        {
            string rootSpanName = EntryData.GetMessage(nameof(Trace_Simple_Buffer), _testId);
            // Create annotations with very large labels to ensure the buffer is flushed.
            string label  = string.Join("", Enumerable.Repeat("1234567890", 1000));
            var    labels = new Dictionary <string, string>
            {
                { "key-one", label },
                { "key-two", label },
                { "key-three", label },
                { "key-four", label },
                { "key-five", label },
            };

            using (var consumer = SizedBufferingConsumer <TraceProto> .Create(_grpcConsumer, MessageSizer <TraceProto> .GetSize, BufferOptions.DefaultBufferSize / 2))
            {
                var tracer = CreateSimpleManagedTracer(consumer);
                using (tracer.StartSpan(rootSpanName))
                {
                    BlockUntilClockTick();
                    tracer.AnnotateSpan(labels);
                }
            }

            TraceProto trace = TraceEntryPolling.Default.GetTrace(rootSpanName, _startTime);

            TraceEntryVerifiers.AssertSingleSpan(trace, rootSpanName);
        }
コード例 #2
0
        public void Trace_Simple()
        {
            string rootSpanName = EntryData.GetMessage(nameof(Trace_Simple), _testId);

            using (CreateSimpleManagedTracer(_grpcConsumer).StartSpan(rootSpanName))
            {
                BlockUntilClockTick();
            }

            TraceProto trace = TraceEntryPolling.Default.GetTrace(rootSpanName, _startTime);

            TraceEntryVerifiers.AssertSingleSpan(trace, rootSpanName);
        }
コード例 #3
0
        public void Trace_SimpleStacktrace()
        {
            string rootSpanName = EntryData.GetMessage(nameof(Trace_SimpleStacktrace), _testId);

            var tracer = CreateSimpleManagedTracer(_grpcConsumer);

            using (tracer.StartSpan(rootSpanName))
            {
                BlockUntilClockTick();
                tracer.SetStackTrace(TraceEntryData.CreateStackTrace());
            }

            TraceProto trace = TraceEntryPolling.Default.GetTrace(rootSpanName, _startTime);

            TraceEntryVerifiers.AssertSingleSpan(trace, rootSpanName);
            TraceEntryVerifiers.AssertContainsStackTrace(trace.Spans[0],
                                                         nameof(TraceEntryData.CreateStackTrace), nameof(SimpleManagedTracerTest));
        }
コード例 #4
0
        public void Trace_SimpleAnnotation()
        {
            string rootSpanName = EntryData.GetMessage(nameof(Trace_SimpleAnnotation), _testId);
            var    labels       = new Dictionary <string, string>
            {
                { "annotation-key", "annotation-value" },
                { "some-key", "some-value" }
            };

            var tracer = CreateSimpleManagedTracer(_grpcConsumer);

            using (tracer.StartSpan(rootSpanName))
            {
                BlockUntilClockTick();
                tracer.AnnotateSpan(labels);
            }

            TraceProto trace = TraceEntryPolling.Default.GetTrace(rootSpanName, _startTime);

            TraceEntryVerifiers.AssertSingleSpan(trace, rootSpanName);
            TraceEntryVerifiers.AssertSpanLabelsExact(trace.Spans.First(), labels);
        }