Skip to content

Commit 275acc1

Browse files
authored
Merge pull request #7741 from dotnet/merge/prerelease-to-main
[automated] Merge branch 'prerelease' => 'main'
2 parents 2213221 + 2a8aac5 commit 275acc1

File tree

3 files changed

+30
-2
lines changed

3 files changed

+30
-2
lines changed

src/lsptoolshost/roslynLanguageServer.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ import {
7676
} from '../shared/observers/utils/showMessage';
7777
import { registerSourceGeneratedFilesContentProvider } from './sourceGeneratedFilesContentProvider';
7878
import { registerMiscellaneousFileNotifier } from './miscellaneousFileNotifier';
79+
import { TelemetryEventNames } from '../shared/telemetryEventNames';
7980

8081
let _channel: vscode.LogOutputChannel;
8182
let _traceChannel: vscode.OutputChannel;
@@ -574,12 +575,13 @@ export class RoslynLanguageServer {
574575
telemetryReporter: TelemetryReporter,
575576
additionalExtensionPaths: string[]
576577
): Promise<MessageTransports> {
578+
telemetryReporter.sendTelemetryEvent(TelemetryEventNames.ClientServerStart);
577579
const serverPath = getServerPath(platformInfo);
578580

579581
const dotnetInfo = await hostExecutableResolver.getHostExecutableInfo();
580582
const dotnetExecutablePath = dotnetInfo.path;
581-
582583
_channel.info('Dotnet path: ' + dotnetExecutablePath);
584+
telemetryReporter.sendTelemetryEvent(TelemetryEventNames.AcquiredRuntime);
583585

584586
let args: string[] = [];
585587

@@ -684,6 +686,8 @@ export class RoslynLanguageServer {
684686
childProcess = cp.spawn(serverPath, args, cpOptions);
685687
}
686688

689+
telemetryReporter.sendTelemetryEvent(TelemetryEventNames.LaunchedServer);
690+
687691
// Record the stdout and stderr streams from the server process.
688692
childProcess.stdout.on('data', (data: { toString: (arg0: any) => any }) => {
689693
const result: string = isString(data) ? data : data.toString(RoslynLanguageServer.encoding);
@@ -756,6 +760,8 @@ export class RoslynLanguageServer {
756760
throw new Error('Timeout. Client cound not connect to server via named pipe');
757761
}
758762

763+
telemetryReporter.sendTelemetryEvent(TelemetryEventNames.ClientConnected);
764+
759765
return {
760766
reader: new SocketMessageReader(socket, RoslynLanguageServer.encoding),
761767
writer: new SocketMessageWriter(socket, RoslynLanguageServer.encoding),
@@ -1072,6 +1078,8 @@ export async function activateRoslynLanguageServer(
10721078
// The trace channel verbosity is controlled by the _channel verbosity.
10731079
_traceChannel = vscode.window.createOutputChannel(vscode.l10n.t('C# LSP Trace Logs'));
10741080

1081+
reporter.sendTelemetryEvent(TelemetryEventNames.ClientInitialize);
1082+
10751083
const hostExecutableResolver = new DotnetRuntimeExtensionResolver(
10761084
platformInfo,
10771085
getServerPath,

src/main.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ import { debugSessionTracker } from './coreclrDebug/provisionalDebugSessionTrack
4141
import { getComponentFolder } from './lsptoolshost/builtInComponents';
4242
import { activateOmniSharpLanguageServer, ActivationResult } from './omnisharp/omnisharpLanguageServer';
4343
import { ActionOption, showErrorMessage } from './shared/observers/utils/showMessage';
44+
import { TelemetryEventNames } from './shared/telemetryEventNames';
4445

4546
export async function activate(
4647
context: vscode.ExtensionContext
@@ -218,7 +219,7 @@ export async function activate(
218219
const activationProperties: { [key: string]: string } = {
219220
serverKind: useOmnisharpServer ? 'OmniSharp' : 'Roslyn',
220221
};
221-
reporter.sendTelemetryEvent('CSharpActivated', activationProperties);
222+
reporter.sendTelemetryEvent(TelemetryEventNames.CSharpActivated, activationProperties);
222223

223224
if (!useOmnisharpServer) {
224225
debugSessionTracker.initializeDebugSessionHandlers(context);

src/shared/telemetryEventNames.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*---------------------------------------------------------------------------------------------
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*--------------------------------------------------------------------------------------------*/
5+
6+
/**
7+
* Defines all telemetry event names to ensure we do not have overlapping events.
8+
*/
9+
export enum TelemetryEventNames {
10+
// Common extension events
11+
CSharpActivated = 'CSharpActivated',
12+
13+
// Events related to the roslyn language server.
14+
ClientInitialize = 'roslyn/clientInitialize',
15+
ClientServerStart = 'roslyn/clientServerInitialize',
16+
AcquiredRuntime = 'roslyn/acquiredRuntime',
17+
LaunchedServer = 'roslyn/launchedServer',
18+
ClientConnected = 'roslyn/clientConnected',
19+
}

0 commit comments

Comments
 (0)