Example #1
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;
        }
        public static string ConvertToJson(this TelemetryMessage message)
        {
            var model = new TelemetryMessageModel
            {
                MessageId       = message.MessageId,
                EventDate       = message.EventDate,
                Cv              = message.WorkContext.Cv,
                Tag             = message.WorkContext.Tag,
                TelemetryType   = message.TelemetryType,
                EventSourceName = message.EventSourceName,
                EventName       = message.EventName,
                Message         = message.Message,
                Duration        = message.Duration,
                Value           = message.Value,
                Dimensions      = message.EventDimensions.ToDictionary(x => x.Key, x => x.Value),
                Exception       = message.Exception,
            };

            return(JsonConvert.SerializeObject(model));

            //return JsonSerializer.Serialize(model);
        }