Esempio n. 1
0
        public SpanBuilderDecorator([NotNull] ISpanBuilder builder, [NotNull] string kind, [CanBeNull] string operationName)
        {
            this.builder       = builder;
            this.operationName = operationName;

            builder.SetAnnotation(WellKnownAnnotations.Common.Kind, kind);
        }
Esempio n. 2
0
            public NewTraceContextUsing([NotNull] ITracer tracer, [CanBeNull] ISpanBuilder currentSpan, [CanBeNull] Guid?traceId)
            {
                this.tracer = tracer;

                oldContext = tracer.CurrentContext;

                tracer.CurrentContext = traceId.HasValue ? new TraceContext(traceId.Value, Guid.Empty) : null;

                builder = tracer.BeginSpan();

                if (oldContext != null)
                {
                    builder.SetAnnotation("ParentTraceId", oldContext.TraceId);
                    builder.SetAnnotation("ParentTraceSpanId", oldContext.SpanId);
                }

                currentSpan?.SetAnnotation("ChildTraceId", builder.CurrentSpan.TraceId);
            }
Esempio n. 3
0
 public void SetAnnotation(string key, object value, bool allowOverwrite = true)
 {
     builder.SetAnnotation(key, value, allowOverwrite);
 }