private static void SerializeTraceTelemetry(TraceTelemetry traceTelemetry, JsonWriter writer) { writer.WriteStartObject(); traceTelemetry.WriteTelemetryName(writer, TraceTelemetry.TelemetryName); traceTelemetry.WriteEnvelopeProperties(writer); writer.WritePropertyName("data"); { writer.WriteStartObject(); // TODO: MetricTelemetry should write type as this.data.baseType once Common Schema 2.0 compliant. writer.WriteProperty("baseType", traceTelemetry.BaseType); writer.WritePropertyName("baseData"); { writer.WriteStartObject(); writer.WriteProperty("ver", traceTelemetry.Data.ver); writer.WriteProperty("message", traceTelemetry.Message); if (traceTelemetry.SeverityLevel.HasValue) { writer.WriteProperty("severityLevel", traceTelemetry.SeverityLevel.Value.ToString()); } writer.WriteProperty("properties", traceTelemetry.Properties); // TODO: handle case where the property dictionary doesn't need to be instantiated. writer.WriteEndObject(); } writer.WriteEndObject(); } writer.WriteEndObject(); }
/// <summary> /// Serializes this object in JSON format. /// </summary> private static void SerializePerformanceCounter(PerformanceCounterTelemetry performanceCounter, JsonWriter writer) { writer.WriteStartObject(); performanceCounter.WriteTelemetryName(writer, PerformanceCounterTelemetry.TelemetryName); performanceCounter.WriteEnvelopeProperties(writer); writer.WritePropertyName("data"); { writer.WriteStartObject(); writer.WriteProperty("baseType", performanceCounter.BaseType); writer.WritePropertyName("baseData"); { writer.WriteStartObject(); writer.WriteProperty("ver", performanceCounter.Data.ver); writer.WriteProperty("categoryName", performanceCounter.Data.categoryName); writer.WriteProperty("counterName", performanceCounter.Data.counterName); writer.WriteProperty("instanceName", performanceCounter.Data.instanceName); writer.WriteProperty("value", performanceCounter.Data.value); writer.WriteProperty("properties", performanceCounter.Data.properties); writer.WriteEndObject(); } writer.WriteEndObject(); } writer.WriteEndObject(); }
private static void SerializeRequestTelemetry(RequestTelemetry requestTelemetry, JsonWriter jsonWriter) { jsonWriter.WriteStartObject(); requestTelemetry.WriteTelemetryName(jsonWriter, RequestTelemetry.TelemetryName); requestTelemetry.WriteEnvelopeProperties(jsonWriter); jsonWriter.WritePropertyName("data"); { jsonWriter.WriteStartObject(); // TODO: MetricTelemetry should write type as this.data.baseType once Common Schema 2.0 compliant. jsonWriter.WriteProperty("baseType", requestTelemetry.BaseType); jsonWriter.WritePropertyName("baseData"); { jsonWriter.WriteStartObject(); jsonWriter.WriteProperty("ver", requestTelemetry.Data.ver); jsonWriter.WriteProperty("id", requestTelemetry.Data.id); jsonWriter.WriteProperty("name", requestTelemetry.Data.name); jsonWriter.WriteProperty("startTime", requestTelemetry.Timestamp); jsonWriter.WriteProperty("duration", requestTelemetry.Duration); jsonWriter.WriteProperty("success", requestTelemetry.Data.success); jsonWriter.WriteProperty("responseCode", requestTelemetry.Data.responseCode); jsonWriter.WriteProperty("url", requestTelemetry.Data.url); jsonWriter.WriteProperty("measurements", requestTelemetry.Data.measurements); jsonWriter.WriteProperty("httpMethod", requestTelemetry.Data.httpMethod); jsonWriter.WriteProperty("properties", requestTelemetry.Data.properties); jsonWriter.WriteEndObject(); } jsonWriter.WriteEndObject(); } jsonWriter.WriteEndObject(); }
private static void SerializeSessionStateTelemetry(SessionStateTelemetry sessionStateTelemetry, JsonWriter jsonWriter) { jsonWriter.WriteStartObject(); sessionStateTelemetry.WriteEnvelopeProperties(jsonWriter); sessionStateTelemetry.WriteTelemetryName(jsonWriter, SessionStateTelemetry.TelemetryName); jsonWriter.WritePropertyName("data"); { jsonWriter.WriteStartObject(); jsonWriter.WriteProperty("baseType", typeof(SessionStateData).Name); jsonWriter.WritePropertyName("baseData"); { jsonWriter.WriteStartObject(); jsonWriter.WriteProperty("ver", 2); jsonWriter.WriteProperty("state", sessionStateTelemetry.State.ToString()); jsonWriter.WriteEndObject(); } jsonWriter.WriteEndObject(); } jsonWriter.WriteEndObject(); }
private static void SerializePageViewTelemetry(PageViewTelemetry pageViewTelemetry, JsonWriter writer) { writer.WriteStartObject(); pageViewTelemetry.WriteTelemetryName(writer, PageViewTelemetry.TelemetryName); pageViewTelemetry.WriteEnvelopeProperties(writer); writer.WritePropertyName("data"); { writer.WriteStartObject(); // TODO: MetricTelemetry should write type as this.data.baseType once Common Schema 2.0 compliant. writer.WriteProperty("baseType", pageViewTelemetry.BaseType); writer.WritePropertyName("baseData"); { writer.WriteStartObject(); writer.WriteProperty("ver", pageViewTelemetry.Data.ver); writer.WriteProperty("name", pageViewTelemetry.Data.name); writer.WriteProperty("url", pageViewTelemetry.Data.url); writer.WriteProperty("duration", pageViewTelemetry.Data.duration); writer.WriteProperty("measurements", pageViewTelemetry.Data.measurements); writer.WriteProperty("properties", pageViewTelemetry.Data.properties); writer.WriteEndObject(); } writer.WriteEndObject(); } writer.WriteEndObject(); }
private static void SerializeDependencyTelemetry(DependencyTelemetry dependencyTelemetry, JsonWriter writer) { writer.WriteStartObject(); dependencyTelemetry.WriteTelemetryName(writer, DependencyTelemetry.TelemetryName); dependencyTelemetry.WriteEnvelopeProperties(writer); writer.WritePropertyName("data"); { writer.WriteStartObject(); // TODO: DependencyTelemetry should write type as this.data.baseType once Common Schema 2.0 compliant. writer.WriteProperty("baseType", dependencyTelemetry.BaseType); writer.WritePropertyName("baseData"); { writer.WriteStartObject(); writer.WriteProperty("ver", dependencyTelemetry.Data.ver); writer.WriteProperty("name", dependencyTelemetry.Data.name); writer.WriteProperty("id", dependencyTelemetry.Data.id); writer.WriteProperty("commandName", dependencyTelemetry.Data.commandName); writer.WriteProperty("kind", (int)dependencyTelemetry.Data.kind); writer.WriteProperty("value", dependencyTelemetry.Data.value); writer.WriteProperty("resultCode", dependencyTelemetry.Data.resultCode); writer.WriteProperty("dependencyKind", (int)dependencyTelemetry.Data.dependencyKind); writer.WriteProperty("success", dependencyTelemetry.Data.success); writer.WriteProperty("async", dependencyTelemetry.Data.async); writer.WriteProperty("dependencySource", (int)dependencyTelemetry.Data.dependencySource); writer.WriteProperty("dependencyTypeName", dependencyTelemetry.Data.dependencyTypeName); writer.WriteProperty("properties", dependencyTelemetry.Data.properties); writer.WriteEndObject(); } writer.WriteEndObject(); } writer.WriteEndObject(); }
private static void SerializeMetricTelemetry(MetricTelemetry metricTelemetry, JsonWriter writer) { writer.WriteStartObject(); metricTelemetry.WriteTelemetryName(writer, MetricTelemetry.TelemetryName); metricTelemetry.WriteEnvelopeProperties(writer); writer.WritePropertyName("data"); { writer.WriteStartObject(); // TODO: MetricTelemetry should write type as this.data.baseType once Common Schema 2.0 compliant. writer.WriteProperty("baseType", metricTelemetry.BaseType); writer.WritePropertyName("baseData"); { writer.WriteStartObject(); writer.WriteProperty("ver", metricTelemetry.Data.ver); writer.WritePropertyName("metrics"); { writer.WriteStartArray(); writer.WriteStartObject(); writer.WriteProperty("name", metricTelemetry.Metric.name); writer.WriteProperty("kind", metricTelemetry.Metric.kind.ToString()); writer.WriteProperty("value", metricTelemetry.Metric.value); writer.WriteProperty("count", metricTelemetry.Metric.count); writer.WriteProperty("min", metricTelemetry.Metric.min); writer.WriteProperty("max", metricTelemetry.Metric.max); writer.WriteProperty("stdDev", metricTelemetry.Metric.stdDev); writer.WriteEndObject(); writer.WriteEndArray(); } writer.WriteProperty("properties", metricTelemetry.Data.properties); writer.WriteEndObject(); } writer.WriteEndObject(); } writer.WriteEndObject(); }
private static void SerializeExceptionTelemetry(ExceptionTelemetry exceptionTelemetry, JsonWriter writer) { writer.WriteStartObject(); exceptionTelemetry.WriteTelemetryName(writer, ExceptionTelemetry.TelemetryName); exceptionTelemetry.WriteEnvelopeProperties(writer); writer.WritePropertyName("data"); { writer.WriteStartObject(); writer.WriteProperty("baseType", exceptionTelemetry.BaseType); writer.WritePropertyName("baseData"); { writer.WriteStartObject(); writer.WriteProperty("ver", exceptionTelemetry.Data.ver); writer.WriteProperty( "handledAt", Utils.PopulateRequiredStringValue(exceptionTelemetry.Data.handledAt, "handledAt", typeof(ExceptionTelemetry).FullName)); writer.WriteProperty("properties", exceptionTelemetry.Data.properties); writer.WriteProperty("measurements", exceptionTelemetry.Data.measurements); writer.WritePropertyName("exceptions"); { writer.WriteStartArray(); SerializeExceptions(exceptionTelemetry.Exceptions, writer); writer.WriteEndArray(); } if (exceptionTelemetry.Data.severityLevel.HasValue) { writer.WriteProperty("severityLevel", exceptionTelemetry.Data.severityLevel.Value.ToString()); } writer.WriteEndObject(); } writer.WriteEndObject(); } writer.WriteEndObject(); }
private static void SerializeEventTelemetry(EventTelemetry eventTelemetry, JsonWriter writer) { writer.WriteStartObject(); eventTelemetry.WriteTelemetryName(writer, EventTelemetry.TelemetryName); eventTelemetry.WriteEnvelopeProperties(writer); writer.WritePropertyName("data"); { writer.WriteStartObject(); writer.WriteProperty("baseType", eventTelemetry.BaseType); writer.WritePropertyName("baseData"); { writer.WriteStartObject(); writer.WriteProperty("ver", eventTelemetry.Data.ver); writer.WriteProperty("name", eventTelemetry.Data.name); writer.WriteProperty("measurements", eventTelemetry.Data.measurements); writer.WriteProperty("properties", eventTelemetry.Data.properties); writer.WriteEndObject(); } writer.WriteEndObject(); } writer.WriteEndObject(); }
private static void SerializeDependencyTelemetry(DependencyTelemetry dependencyTelemetry, JsonWriter writer) { writer.WriteStartObject(); dependencyTelemetry.WriteTelemetryName(writer, DependencyTelemetry.TelemetryName); dependencyTelemetry.WriteEnvelopeProperties(writer); writer.WritePropertyName("data"); { writer.WriteStartObject(); writer.WriteProperty("baseType", dependencyTelemetry.BaseType); writer.WritePropertyName("baseData"); { writer.WriteStartObject(); writer.WriteProperty("ver", dependencyTelemetry.Data.ver); writer.WriteProperty("name", dependencyTelemetry.Data.name); writer.WriteProperty("id", dependencyTelemetry.Data.id); writer.WriteProperty("commandName", dependencyTelemetry.Data.commandName); writer.WriteProperty("value", dependencyTelemetry.Data.value); writer.WriteProperty("resultCode", dependencyTelemetry.Data.resultCode); writer.WriteProperty("dependencyKind", (int)dependencyTelemetry.Data.dependencyKind); writer.WriteProperty("success", dependencyTelemetry.Data.success); writer.WriteProperty("dependencyTypeName", dependencyTelemetry.Data.dependencyTypeName); writer.WriteProperty("properties", dependencyTelemetry.Data.properties); writer.WriteEndObject(); } writer.WriteEndObject(); } writer.WriteEndObject(); }
public void WritePropertyNameThrowsArgumentExceptionWhenPropertyNameIsEmptyToPreventOurOwnErrors() { using (var stringWriter = new StringWriter(CultureInfo.InvariantCulture)) { var jsonWriter = new JsonWriter(stringWriter); Assert.Throws<ArgumentException>(() => jsonWriter.WritePropertyName(string.Empty)); } }