Exemplo n.º 1
0
        /// <inheritdoc/>
        public override byte[] ToByteArray(DistributedContext context)
        {
            if (context.CorrelationContext.Entries is null)
            {
                OpenTelemetrySdkEventSource.Log.FailedToInjectContext("entries are null");
            }

            return(EmptyByteArray);
        }
Exemplo n.º 2
0
        public override byte[] ToByteArray(DistributedContext tags)
        {
            if (tags.Entries is null)
            {
                throw new ArgumentNullException(nameof(tags));
            }

            return(EmptyByteArray);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="DistributedContextBuilder"/> struct using some context.
        /// </summary>
        /// <param name="context">Initial context.</param>
        public DistributedContextBuilder(DistributedContext context)
        {
            if (DistributedContext.Carrier is NoopDistributedContextCarrier)
            {
                this.entries = null;
                return;
            }

            this.entries = new List <DistributedContextEntry>(context.Entries);
        }
        /// <summary>
        /// Build a Distributed Context from current builder.
        /// </summary>
        /// <returns><see cref="DistributedContext"/> instance.</returns>
        public DistributedContext Build()
        {
            if (DistributedContext.Carrier is NoopDistributedContextCarrier || this.entries == null)
            {
                return(DistributedContext.Empty);
            }

            var context = new DistributedContext(this.entries);

            this.entries = null; // empty current builder entries.
            return(context);
        }