Ejemplo n.º 1
0
        /// <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();
        }
Ejemplo n.º 2
0
        /// <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;
        }
Ejemplo n.º 3
0
        /// <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();
        }
Ejemplo n.º 4
0
        /// <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);
        }