private static void SerializeRemoteDependencyTelemetry(RemoteDependencyTelemetry remoteDependencyTelemetry, JsonWriter writer) { writer.WriteStartObject(); remoteDependencyTelemetry.WriteTelemetryName(writer, "RemoteDependency"); remoteDependencyTelemetry.WriteEnvelopeProperties(writer); writer.WritePropertyName("data"); writer.WriteStartObject(); writer.WriteProperty("baseType", remoteDependencyTelemetry.BaseType); writer.WritePropertyName("baseData"); writer.WriteStartObject(); writer.WriteProperty("ver", remoteDependencyTelemetry.Data.ver); writer.WriteProperty("name", remoteDependencyTelemetry.Data.name); writer.WriteProperty("commandName", remoteDependencyTelemetry.Data.commandName); writer.WriteProperty("kind", (int)remoteDependencyTelemetry.Data.kind); writer.WriteProperty("value", remoteDependencyTelemetry.Data.value); writer.WriteProperty("count", remoteDependencyTelemetry.Data.count); writer.WriteProperty("dependencyKind", (int)remoteDependencyTelemetry.Data.dependencyKind); writer.WriteProperty("success", remoteDependencyTelemetry.Data.success); writer.WriteProperty("async", remoteDependencyTelemetry.Data.async); writer.WriteProperty("dependencySource", (int)remoteDependencyTelemetry.Data.dependencySource); writer.WriteProperty("properties", remoteDependencyTelemetry.Data.properties); writer.WriteEndObject(); writer.WriteEndObject(); writer.WriteEndObject(); }
internal void WriteTelemetry(ITelemetry telemetryItem) { if (telemetryItem == null) { CoreEventSource.Log.LogVerbose("telemetryItem param is null in EventSourceWriter.WriteTelemetry()"); } else if (eventSource.IsEnabled()) { if (telemetryItem is EventTelemetry) { EventTelemetry eventTelemetry = telemetryItem as EventTelemetry; WriteEvent("Event", eventTelemetry.Context, eventTelemetry.Data); } else if (telemetryItem is ExceptionTelemetry) { ExceptionTelemetry exceptionTelemetry = telemetryItem as ExceptionTelemetry; WriteEvent("Exception", exceptionTelemetry.Context, exceptionTelemetry.Data); } else if (telemetryItem is MetricTelemetry) { MetricTelemetry metricTelemetry = telemetryItem as MetricTelemetry; WriteEvent("Metric", metricTelemetry.Context, metricTelemetry.Data); } else if (telemetryItem is PageViewTelemetry) { PageViewTelemetry pageViewTelemetry = telemetryItem as PageViewTelemetry; WriteEvent("PageView", pageViewTelemetry.Context, pageViewTelemetry.Data); } else if (telemetryItem is RemoteDependencyTelemetry) { RemoteDependencyTelemetry remoteDependencyTelemetry = telemetryItem as RemoteDependencyTelemetry; WriteEvent("RemoteDependency", remoteDependencyTelemetry.Context, remoteDependencyTelemetry.Data); } else if (telemetryItem is RequestTelemetry) { RequestTelemetry requestTelemetry = telemetryItem as RequestTelemetry; WriteEvent("Request", requestTelemetry.Context, requestTelemetry.Data); } else if (telemetryItem is SessionStateTelemetry) { SessionStateTelemetry sessionStateTelemetry = telemetryItem as SessionStateTelemetry; sessionStateTelemetry.Data.state = (Coding4Fun.VisualStudio.ApplicationInsights.Extensibility.Implementation.External.SessionState)sessionStateTelemetry.State; WriteEvent("SessionState", sessionStateTelemetry.Context, sessionStateTelemetry.Data); } else if (telemetryItem is TraceTelemetry) { TraceTelemetry traceTelemetry = telemetryItem as TraceTelemetry; WriteEvent("Message", traceTelemetry.Context, traceTelemetry.Data); } else { string message = string.Format(CultureInfo.InvariantCulture, "Unknown telemtry type: {0}", new object[1] { telemetryItem.GetType() }); CoreEventSource.Log.LogVerbose(message); } } }