@@ -76,6 +76,7 @@ import {
7676} from '../shared/observers/utils/showMessage' ;
7777import { registerSourceGeneratedFilesContentProvider } from './sourceGeneratedFilesContentProvider' ;
7878import { registerMiscellaneousFileNotifier } from './miscellaneousFileNotifier' ;
79+ import { TelemetryEventNames } from '../shared/telemetryEventNames' ;
7980
8081let _channel : vscode . LogOutputChannel ;
8182let _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 ( 'C# LSP Trace Logs' ) ;
10741080
1081+ reporter . sendTelemetryEvent ( TelemetryEventNames . ClientInitialize ) ;
1082+
10751083 const hostExecutableResolver = new DotnetRuntimeExtensionResolver (
10761084 platformInfo ,
10771085 getServerPath ,
0 commit comments