Пример #1
0
 /// <summary>
 /// Default construct
 /// </summary>
 public WorkContextBuilder()
 {
     Cv         = new CorrelationVector();
     Tag        = StringVector.Empty;
     EventLog   = new TelemetryLogNull();
     Dimensions = new EventDimensions();
 }
Пример #2
0
 /// <summary>
 /// Internal constructor for new instances
 /// </summary>
 /// <param name="workContext">copy from work context</param>
 private WorkContext(WorkContext workContext)
 {
     Cv                = workContext.Cv;
     Tag               = workContext.Tag;
     Container         = workContext.Container;
     CancellationToken = workContext.CancellationToken;
     Telemetry         = workContext.Telemetry;
     Dimensions        = new EventDimensions(workContext.Dimensions);
 }
Пример #3
0
        public TelemetryMessage(IWorkContext context, TelemetryType telemetryType, string eventSourceName, string eventName, string?message, double value, IEventDimensions?eventDimensions = null)
        {
            context = context ?? throw new ArgumentNullException(nameof(context));

            WorkContext     = context;
            TelemetryType   = telemetryType;
            EventSourceName = eventSourceName;
            EventName       = eventName;
            Message         = message;
            Value           = value;
            EventDimensions = new EventDimensions(eventDimensions?.Select(x => x) ?? Standard.EventDimensions.Empty) + context.Dimensions;
        }
Пример #4
0
        internal TelemetryMessage(TelemetryMessageModel messageDeserialize, IWorkContext context)
        {
            messageDeserialize = messageDeserialize ?? throw new ArgumentNullException(nameof(messageDeserialize));
            context            = context ?? throw new ArgumentNullException(nameof(context));

            MessageId       = messageDeserialize.MessageId;
            EventDate       = messageDeserialize.EventDate;
            WorkContext     = context;
            TelemetryType   = messageDeserialize.TelemetryType;
            EventSourceName = messageDeserialize.EventSourceName;
            EventName       = messageDeserialize.EventName;
            Message         = messageDeserialize.Message;
            Duration        = messageDeserialize.Duration;
            Value           = messageDeserialize.Value;
            EventDimensions = new EventDimensions(messageDeserialize.Dimensions?.Select(x => x) ?? Standard.EventDimensions.Empty) + context.Dimensions;
        }
Пример #5
0
        public TelemetryMessage(TelemetryMessage message, ITelemetrySecretManager?telemetrySecretManager = null)
        {
            message = message ?? throw new ArgumentNullException(nameof(message));

            MessageId       = message.MessageId;
            EventDate       = message.EventDate;
            WorkContext     = message.WorkContext;
            TelemetryType   = message.TelemetryType;
            EventSourceName = message.EventSourceName;
            EventName       = message.EventName;
            Message         = telemetrySecretManager?.Mask(message.Message) ?? message.Message;
            Duration        = message.Duration;
            Value           = message.Value;
            EventDimensions = new EventDimensions(message.EventDimensions.Select(x => x));
            Exception       = message.Exception;
        }
Пример #6
0
        public IReadOnlyList <string> GetProperties()
        {
            var list = new List <string>
            {
                $"{nameof(MessageId)}={Message}",
                $"{nameof(EventDate)}={EventDate}",
                $"{nameof(TelemetryType)}={TelemetryType}",
                $"{nameof(EventSourceName)}={EventSourceName}",
                $"{nameof(WorkContext.Cv)}={WorkContext.Cv}",
                $"{nameof(WorkContext.Tag)}={WorkContext.Tag}",
                $"{nameof(EventName)}={EventName}",
                $"{nameof(Duration)}={Duration?.ToString() ?? "<none>"}",
                $"{nameof(Value)}={Value?.ToString() ?? "<none>"}",
                $"{nameof(MessageId)}={Message ?? "<none>"}",
                $"{nameof(Exception)}={Exception?.ToString() ?? "<none>"}",
            };

            EventDimensions?.ForEach(x => list.Add($"{x.Key}={x.Value}"));

            return(list);
        }