private static void LogTelemetry()

in src/Microsoft.VisualStudio.SlnGen/Program.cs [348:383]


        private static void LogTelemetry(ProgramArguments arguments, TimeSpan evaluationTime, int evaluationCount, int customProjectTypeGuidCount, int solutionItemCount, Guid solutionGuid)
        {
            try
            {
                TelemetryClient.PostEvent(
                        "execute",
                        new Dictionary<string, object>
                        {
                            ["AssemblyInformationalVersion"] = ThisAssembly.AssemblyInformationalVersion,
                            ["DevEnvFullPathSpecified"] = (!arguments.DevEnvFullPath?.LastOrDefault().IsNullOrWhiteSpace()).ToString(),
                            ["EntryProjectCount"] = arguments.Projects?.Length.ToString(),
                            ["Folders"] = arguments.EnableFolders().ToString(),
                            ["CollapseFolders"] = arguments.EnableCollapseFolders().ToString(),
                            ["IsCoreXT"] = CurrentDevelopmentEnvironment.IsCorext.ToString(),
                            ["IsNetCore"] = IsNetCore.ToString(),
                            ["LaunchVisualStudio"] = arguments.ShouldLaunchVisualStudio().ToString(),
                            ["SolutionFileFullPathSpecified"] = (!arguments.SolutionFileFullPath?.LastOrDefault().IsNullOrWhiteSpace()).ToString(),
#if NETFRAMEWORK
                            ["Runtime"] = $".NET Framework {Environment.Version}",
#elif NETCOREAPP
                            ["Runtime"] = $".NET Core {Environment.Version}",
#endif
                            ["UseBinaryLogger"] = arguments.BinaryLogger.HasValue.ToString(),
                            ["UseFileLogger"] = arguments.FileLoggerParameters.HasValue.ToString(),
                            ["CustomProjectTypeGuidCount"] = customProjectTypeGuidCount,
                            ["ProjectCount"] = evaluationCount,
                            ["ProjectEvaluationMilliseconds"] = evaluationTime.TotalMilliseconds,
                            ["SolutionItemCount"] = solutionItemCount,
                            ["VS.Platform.Solution.Project.SccProvider.SolutionId"] = solutionGuid == Guid.Empty ? string.Empty : solutionGuid.ToString("B"),
                        });
            }
            catch (Exception)
            {
                // Ignored
            }
        }