/// <summary> /// Track Events /// </summary> /// <param name="results">List of ICommandResult</param> public void TrackEvents(List <ICommandResult> results) { var telemetry = new ApplicationInsights.TelemetryClient { InstrumentationKey = AzureKey }; foreach (ICommandResult result in results) { var properties = new Dictionary <string, string>(); var metrics = new Dictionary <string, double>(); properties.Add("StartTime", result.StartTime.Value.ToLongDateString()); properties.Add("EndTime", result.StopTime.Value.ToLongDateString()); properties.Add("ExecutionId", ExecutionId); metrics.Add("ThinkTime", result.ThinkTime); metrics.Add("TransitionTime", result.TransitionTime); metrics.Add("ExecutionTime", result.ExecutionTime); metrics.Add("ExecutionAttempts", result.ExecutionAttempts); telemetry.TrackEvent(result.CommandName, properties, metrics); } telemetry.Flush(); }
/// <summary> /// Initializes the singleton application object. This is the first line of authored code /// executed, and as such is the logical equivalent of main() or WinMain(). /// </summary> public App() { TelemetryClient = new Microsoft.ApplicationInsights.TelemetryClient(); this.InitializeComponent(); this.Suspending += OnSuspending; }
/// <summary> /// Track Event /// </summary> /// <param name="perfNavTimingList">List of PerformanceNavigationTiming</param> /// <param name="apiName">Api Name</param> public void TrackEvents(List <PerformanceNavigationTiming> perfNavTimingList, string apiName) { var telemetry = new ApplicationInsights.TelemetryClient { InstrumentationKey = AzureKey }; foreach (var entry in perfNavTimingList) { var properties = new Dictionary <string, string>(); var metrics = new Dictionary <string, double>(); properties.Add("ExecutionId", ExecutionId); properties.Add("NavigationType", entry.NavigationType); properties.Add("ContentType", entry.ContentType); metrics.Add("FetchStart", entry.FetchStart); metrics.Add("LoadEventEnd", entry.LoadEventEnd); metrics.Add("NavigationStart", entry.NavigationStart); metrics.Add("DomContentLoadTime", entry.DomContentLoadTime); metrics.Add("DomParsingTime", entry.DomParsingTime); metrics.Add("RequestResponseTime", entry.RequestResponseTime); metrics.Add("PageRenderTime", entry.PageRenderTime); metrics.Add("NetworkLatency", entry.NetworkLatency); metrics.Add("RedirectTime", entry.RedirectTime); metrics.Add("RedirectCount", entry.RedirectCount); metrics.Add("PageLoadTime", entry.PageLoadTime); telemetry.TrackEvent(apiName, properties, metrics); } telemetry.Flush(); }
/// <summary> /// Track Events /// </summary> /// <param name="perfResourceList">List of PerformanceResource</param> /// <param name="apiName">Api Name</param> public void TrackEvents(List <PerformanceResource> perfResourceList, string apiName) { var telemetry = new ApplicationInsights.TelemetryClient { InstrumentationKey = AzureKey }; foreach (var entry in perfResourceList) { var properties = new Dictionary <string, string>(); var metrics = new Dictionary <string, double>(); properties.Add("ExecutionId", ExecutionId); properties.Add("Name", entry.Name); properties.Add("EntryType", entry.EntryType); properties.Add("ContentType", entry.ContentType); metrics.Add("Duration", entry.Duration); metrics.Add("StartTime", entry.StartTime); metrics.Add("RedirectTime", entry.RedirectTime); metrics.Add("DomainLookupStart", entry.DomainLookupStart); metrics.Add("DomainLookupEnd", entry.DomainLookupEnd); metrics.Add("DnsTime", entry.DnsTime); metrics.Add("TcpHandshake", entry.TcpHandshake); metrics.Add("ResponseStart", entry.ResponseStart); metrics.Add("ResponseEnd", entry.ResponseEnd); metrics.Add("ResponseTime", entry.ResponseTime); metrics.Add("ResourceTimingDuration", entry.ResourceTimingDuration); telemetry.TrackEvent(apiName, properties, metrics); } telemetry.Flush(); }
public AppInsightsLogger(string instrumentationKey, string sessionId) { _client = new ApplicationInsights.TelemetryClient() { InstrumentationKey = instrumentationKey }; _client.Context.Session.Id = _sessionId; _client.Context.Cloud.RoleName = "Capacity-Reports"; _sessionId = sessionId; }
/// <summary /> /// <param name="telemetryClient"></param> public ApplicationInsightsTelemetryPipeline(ApplicationInsights.TelemetryClient telemetryClient) { Util.ValidateNotNull(telemetryClient, nameof(telemetryClient)); _trackingClient = telemetryClient; }
/// <summary /> /// <param name="telemetryPipeline"></param> public ApplicationInsightsTelemetryPipeline(ApplicationInsights.Extensibility.TelemetryConfiguration telemetryPipeline) { Util.ValidateNotNull(telemetryPipeline, nameof(telemetryPipeline)); _trackingClient = new ApplicationInsights.TelemetryClient(telemetryPipeline); }