From 5b9a5a17d525051cabc6041a715b7db275411c30 Mon Sep 17 00:00:00 2001 From: David Barbet Date: Mon, 30 Jan 2023 18:22:46 -0800 Subject: [PATCH 1/2] Include whether modernNet flag is set in project info --- src/main.ts | 5 +++-- src/observers/TelemetryObserver.ts | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main.ts b/src/main.ts index 4448194f2..918001acf 100644 --- a/src/main.ts +++ b/src/main.ts @@ -150,11 +150,12 @@ export async function activate(context: vscode.ExtensionContext): Promise reporter); + let useModernNetOption = optionProvider.GetLatestOptions().useModernNet; + let telemetryObserver = new TelemetryObserver(platformInfo, () => reporter, useModernNetOption); eventStream.subscribe(telemetryObserver.post); let networkSettingsProvider = vscodeNetworkSettingsProvider(vscode); - const useFramework = optionProvider.GetLatestOptions().useModernNet !== true; + const useFramework = useModernNetOption !== true; let installDependencies: IInstallDependencies = async (dependencies: AbsolutePathPackage[]) => downloadAndInstallPackages(dependencies, networkSettingsProvider, eventStream, isValidDownload, useFramework); let runtimeDependenciesExist = await ensureRuntimeDependencies(context.extension, eventStream, platformInfo, installDependencies, useFramework); diff --git a/src/observers/TelemetryObserver.ts b/src/observers/TelemetryObserver.ts index e99cb1049..34dde88fb 100644 --- a/src/observers/TelemetryObserver.ts +++ b/src/observers/TelemetryObserver.ts @@ -21,10 +21,12 @@ export class TelemetryObserver { private platformInfo: PlatformInformation; private solutionId?: string; private dotnetInfo?: DotnetInfo; + private useModernNet: boolean; - constructor(platformInfo: PlatformInformation, reporterCreator: () => ITelemetryReporter) { + constructor(platformInfo: PlatformInformation, reporterCreator: () => ITelemetryReporter, useModernNet: boolean) { this.platformInfo = platformInfo; this.reporter = reporterCreator(); + this.useModernNet = useModernNet; } public post = (event: BaseEvent) => { @@ -109,6 +111,7 @@ export class TelemetryObserver { telemetryProps['FileExtensions'] = projectConfig.FileExtensions.join("|"); telemetryProps['FileCounts'] = projectConfig.FileCounts?.join("|") ?? ""; telemetryProps['NetSdkVersion'] = this.dotnetInfo?.Version ?? ""; + telemetryProps['useModernNet'] = this.useModernNet.toString(); this.reporter.sendTelemetryEvent("ProjectConfiguration", telemetryProps); } From eceefa872bef3295f13c532384cb7eb2724b42b0 Mon Sep 17 00:00:00 2001 From: David Barbet Date: Tue, 31 Jan 2023 14:00:07 -0800 Subject: [PATCH 2/2] Report sdk style project information --- src/observers/TelemetryObserver.ts | 1 + src/omnisharp/protocol.ts | 1 + test/unitTests/logging/TelemetryObserver.test.ts | 9 +++++++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/observers/TelemetryObserver.ts b/src/observers/TelemetryObserver.ts index 34dde88fb..1b8ec3558 100644 --- a/src/observers/TelemetryObserver.ts +++ b/src/observers/TelemetryObserver.ts @@ -112,6 +112,7 @@ export class TelemetryObserver { telemetryProps['FileCounts'] = projectConfig.FileCounts?.join("|") ?? ""; telemetryProps['NetSdkVersion'] = this.dotnetInfo?.Version ?? ""; telemetryProps['useModernNet'] = this.useModernNet.toString(); + telemetryProps['sdkStyleProject'] = projectConfig.SdkStyleProject.toString(); this.reporter.sendTelemetryEvent("ProjectConfiguration", telemetryProps); } diff --git a/src/omnisharp/protocol.ts b/src/omnisharp/protocol.ts index c52cf38af..fbe6c40b9 100644 --- a/src/omnisharp/protocol.ts +++ b/src/omnisharp/protocol.ts @@ -470,6 +470,7 @@ export interface ProjectConfigurationMessage { References: string[]; FileExtensions: string[]; FileCounts: number[]; + SdkStyleProject: boolean; } export interface PackageDependency { diff --git a/test/unitTests/logging/TelemetryObserver.test.ts b/test/unitTests/logging/TelemetryObserver.test.ts index ce0ce8169..2c8c7472e 100644 --- a/test/unitTests/logging/TelemetryObserver.test.ts +++ b/test/unitTests/logging/TelemetryObserver.test.ts @@ -20,6 +20,7 @@ suite('TelemetryReporterObserver', () => { let property: { [key: string]: string } = null; let measure: { [key: string]: number }[] = []; let errorProp: string[][] = []; + let useModernNet = true; let observer = new TelemetryObserver(platformInfo, () => { return { ...getNullTelemetryReporter, @@ -35,7 +36,7 @@ suite('TelemetryReporterObserver', () => { errorProp.push(errorProps); }, }; - }); + }, useModernNet); setup(() => { name = ""; @@ -66,6 +67,7 @@ suite('TelemetryReporterObserver', () => { const references = ["ref1", "ref2"]; const fileExtensions = [".cs", ".cshtml"]; const fileCounts = [7, 3]; + const sdkStyleProject = true; let event = new ProjectConfiguration({ ProjectCapabilities: projectCapabilities, TargetFrameworks: targetFrameworks, @@ -74,7 +76,8 @@ suite('TelemetryReporterObserver', () => { OutputKind: outputKind, References: references, FileExtensions: fileExtensions, - FileCounts: fileCounts + FileCounts: fileCounts, + SdkStyleProject: sdkStyleProject }); observer.post(event); @@ -86,6 +89,8 @@ suite('TelemetryReporterObserver', () => { expect(property["References"]).to.be.equal("ref1|ref2"); expect(property["FileExtensions"]).to.be.equal(".cs|.cshtml"); expect(property["FileCounts"]).to.be.equal("7|3"); + expect(property["useModernNet"]).to.be.equal("true"); + expect(property["sdkStyleProject"]).to.be.equal("true"); }); [