From f05900fc14e75bd43668a29a01ca993a3bd84623 Mon Sep 17 00:00:00 2001 From: Bettina Heim Date: Thu, 30 Apr 2020 08:25:12 -0700 Subject: [PATCH 1/2] Adding some telemetry info --- src/QsCompiler/LanguageServer/EditorState.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/QsCompiler/LanguageServer/EditorState.cs b/src/QsCompiler/LanguageServer/EditorState.cs index 4fd5599701..a47a8bbd10 100644 --- a/src/QsCompiler/LanguageServer/EditorState.cs +++ b/src/QsCompiler/LanguageServer/EditorState.cs @@ -111,6 +111,7 @@ internal bool QsProjectLoader(Uri projectFile, out ProjectInformation info) : AssemblyConstants.RuntimeCapabilities.Unknown; var sourceFiles = GetItemsByType(projectInstance, "QsharpCompile"); + var csharpFiles = GetItemsByType(projectInstance, "Compile").Where(file => !file.EndsWith(".g.cs")); var projectReferences = GetItemsByType(projectInstance, "ProjectReference"); var references = GetItemsByType(projectInstance, "Reference"); @@ -118,7 +119,9 @@ internal bool QsProjectLoader(Uri projectFile, out ProjectInformation info) var isExecutable = "QsharpExe".Equals(projectInstance.GetPropertyValue("ResolvedQsharpOutputType"), StringComparison.InvariantCultureIgnoreCase); var loadTestNames = "true".Equals(projectInstance.GetPropertyValue("ExposeReferencesViaTestNames"), StringComparison.InvariantCultureIgnoreCase); - var telemetryMeas = new Dictionary { ["sources"] = sourceFiles.Count() }; + var telemetryMeas = new Dictionary(); + telemetryMeas["sources"] = sourceFiles.Count(); + telemetryMeas["csharpfiles"] = csharpFiles.Count(); this.SendTelemetry("project-load", telemetryProps, telemetryMeas); // does not send anything unless the corresponding flag is defined upon compilation info = new ProjectInformation(version, outputPath, runtimeCapabilities, isExecutable, loadTestNames, sourceFiles, projectReferences, references); return true; From d6dd4eda6f932ee57a8cbd0291e635abc125a6a6 Mon Sep 17 00:00:00 2001 From: Bettina Heim Date: Wed, 20 May 2020 13:49:34 -0700 Subject: [PATCH 2/2] adding data for default simulator property --- src/QsCompiler/LanguageServer/EditorState.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/QsCompiler/LanguageServer/EditorState.cs b/src/QsCompiler/LanguageServer/EditorState.cs index a47a8bbd10..1297609b14 100644 --- a/src/QsCompiler/LanguageServer/EditorState.cs +++ b/src/QsCompiler/LanguageServer/EditorState.cs @@ -118,10 +118,12 @@ internal bool QsProjectLoader(Uri projectFile, out ProjectInformation info) var version = projectInstance.GetPropertyValue("QsharpLangVersion"); var isExecutable = "QsharpExe".Equals(projectInstance.GetPropertyValue("ResolvedQsharpOutputType"), StringComparison.InvariantCultureIgnoreCase); var loadTestNames = "true".Equals(projectInstance.GetPropertyValue("ExposeReferencesViaTestNames"), StringComparison.InvariantCultureIgnoreCase); + var defaultSimulator = projectInstance.GetPropertyValue("DefaultSimulator")?.Trim(); var telemetryMeas = new Dictionary(); telemetryMeas["sources"] = sourceFiles.Count(); telemetryMeas["csharpfiles"] = csharpFiles.Count(); + telemetryProps["defaultSimulator"] = defaultSimulator; this.SendTelemetry("project-load", telemetryProps, telemetryMeas); // does not send anything unless the corresponding flag is defined upon compilation info = new ProjectInformation(version, outputPath, runtimeCapabilities, isExecutable, loadTestNames, sourceFiles, projectReferences, references); return true;