private static ShoeBoxEventData ConvertToShoeboxTrace(EventData eventData) { ShoeBoxEventData sbEventData = new ShoeBoxEventData(); var traceRecord = new ShoeBoxTraceRecord() { time = eventData.Timestamp, level = eventData.Level.GetName(), category = null }; traceRecord.properties.Add(nameof(eventData.Keywords), eventData.Keywords); traceRecord.properties.Add(nameof(eventData.ProviderName), eventData.ProviderName); foreach (var payload in eventData.Payload) { traceRecord.properties.Add(payload.Key, payload.Value); } sbEventData.records.Add(traceRecord); return(sbEventData); }
private static ShoeBoxEventData ConvertToShoeboxMetric(EventData eventData, IReadOnlyCollection <EventMetadata> metadataCollection) { ShoeBoxEventData sbEventData = new ShoeBoxEventData(); foreach (var metadata in metadataCollection) { double metricValue = default(double); string metricValueProperty = metadata["metricValueProperty"]; if (string.IsNullOrEmpty(metricValueProperty)) { double.TryParse(metadata["metricValue"], out metricValue); } else { eventData.GetValueFromPayload(metricValueProperty, (double v) => metricValue = v); } var metricRecord = new ShoeBoxMetricRecord() { last = metricValue, metricName = metadata["metricName"], time = eventData.Timestamp, timeGrain = null, dimensions = new Dictionary <string, object>() }; foreach (var payload in eventData.Payload) { metricRecord.dimensions.Add(payload.Key, payload.Value); } sbEventData.records.Add(metricRecord); } return(sbEventData); }