static StartupMetadata GetStartupMetadata(StartupInfo startupInfo, IPlatformTelemetryDetails platformDetails, Dictionary <string, long> timings) { var assetType = StartupAssetType.FromStartupInfo(startupInfo); StartupType startupType = StartupType.Normal; if (startupInfo.Restarted && !IdeApp.IsInitialRunAfterUpgrade) { startupType = StartupType.ConfigurationChange; // Assume a restart without upgrading was the result of a config change } else if (IdeApp.IsInitialRun) { startupType = StartupType.FirstLaunch; } else if (IdeApp.IsInitialRunAfterUpgrade) { startupType = StartupType.FirstLaunchAfterUpgrade; } else if (Debugger.IsAttached) { startupType = StartupType.DebuggerPresent; } return(new StartupMetadata { CorrectedStartupTime = startupTimer.ElapsedMilliseconds, StartupType = Convert.ToInt32(startupType), AssetTypeId = assetType.Id, AssetTypeName = assetType.Name, IsInitialRun = IdeApp.IsInitialRun, IsInitialRunAfterUpgrade = IdeApp.IsInitialRunAfterUpgrade, TimeSinceMachineStart = platformDetails.TimeSinceMachineStart.Seconds, TimeSinceLogin = platformDetails.TimeSinceLogin.Seconds, Timings = timings }); }
public TextEditorKeyPressTimings(TextDocument document) { telemetry = IdeServices.DesktopService?.PlatformTelemetry; openTime = GetCurrentTime(); if (document != null) { lengthAtStart = document.Length; lineCountAtStart = document.LineCount; } }
internal void StartupCompleted(StartupInfo startupInfo, IPlatformTelemetryDetails platformTelemetryDetails) { var startupMetadata = GetStartupMetadata(startupInfo, platformTelemetryDetails); Counters.Startup.Inc(startupMetadata); // Start TTC timer ttcMetadata = new TimeToCodeMetadata { StartupTime = startupMetadata.CorrectedStartupTime }; ttcMetadata.AddProperties(startupMetadata); LoggingService.LogDebug("TTC starting"); }
static StartupMetadata GetStartupMetadata(StartupInfo startupInfo, IPlatformTelemetryDetails platformDetails) { var assetType = StartupAssetType.FromStartupInfo(startupInfo); return(new StartupMetadata { CorrectedStartupTime = startupTimer.ElapsedMilliseconds, StartupType = 0, AssetTypeId = assetType.Id.ToString(), AssetTypeName = assetType.Name, IsInitialRun = IdeApp.IsInitialRun, IsInitialRunAfterUpgrade = IdeApp.IsInitialRunAfterUpgrade, TimeSinceMachineStart = platformDetails.TimeSinceMachineStart.Seconds, TimeSinceLogin = platformDetails.TimeSinceLogin.Seconds }); }
internal void StartupCompleted(StartupInfo startupInfo, IPlatformTelemetryDetails platformTelemetryDetails) { var startupMetadata = GetStartupMetadata(startupInfo, platformTelemetryDetails); Counters.Startup.Inc(startupMetadata); // Start TTC timer ttcMetadata = new TimeToCodeMetadata { StartupTime = startupMetadata.CorrectedStartupTime }; ttcMetadata.AddProperties(startupMetadata); LoggingService.LogDebug("TTC starting"); foreach (var kvp in sectionTimings) { LoggingService.LogInfo("Startup section {0} {1} ms", kvp.Key, kvp.Value); } LoggingService.LogInfo("Startup sections {0} ms", startupTimer.ElapsedMilliseconds); }