private static Span.Types.Attributes FromIAttributes(IAttributes source) { var attributes = new Span.Types.Attributes { DroppedAttributesCount = source.DroppedAttributesCount, }; attributes.AttributeMap.Add(source.AttributeMap.ToDictionary( kvp => kvp.Key, kvp => kvp.Value.Match( s => new OpenTelemetry.Proto.Trace.V1.AttributeValue { StringValue = new TruncatableString() { Value = s } }, b => new OpenTelemetry.Proto.Trace.V1.AttributeValue { BoolValue = b }, l => new OpenTelemetry.Proto.Trace.V1.AttributeValue { IntValue = l }, d => new OpenTelemetry.Proto.Trace.V1.AttributeValue { DoubleValue = d }, o => new OpenTelemetry.Proto.Trace.V1.AttributeValue { StringValue = new TruncatableString() { Value = o?.ToString() } }))); return(attributes); }
private static Span.Types.Attributes FromIAttributeMap(IDictionary <string, IAttributeValue> source) { var attributes = new Span.Types.Attributes(); attributes.AttributeMap.Add(source.ToDictionary( kvp => kvp.Key, kvp => kvp.Value.Match( s => new Opencensus.Proto.Trace.V1.AttributeValue { StringValue = new TruncatableString() { Value = s } }, b => new Opencensus.Proto.Trace.V1.AttributeValue { BoolValue = b }, l => new Opencensus.Proto.Trace.V1.AttributeValue { IntValue = l }, d => new Opencensus.Proto.Trace.V1.AttributeValue { DoubleValue = d }, o => new Opencensus.Proto.Trace.V1.AttributeValue { StringValue = new TruncatableString() { Value = o?.ToString() } }))); return(attributes); }