@@ -76,6 +76,7 @@ import {
76
76
} from '../shared/observers/utils/showMessage' ;
77
77
import { registerSourceGeneratedFilesContentProvider } from './sourceGeneratedFilesContentProvider' ;
78
78
import { registerMiscellaneousFileNotifier } from './miscellaneousFileNotifier' ;
79
+ import { TelemetryEventNames } from '../shared/telemetryEventNames' ;
79
80
80
81
let _channel : vscode . LogOutputChannel ;
81
82
let _traceChannel : vscode . OutputChannel ;
@@ -574,12 +575,13 @@ export class RoslynLanguageServer {
574
575
telemetryReporter : TelemetryReporter ,
575
576
additionalExtensionPaths : string [ ]
576
577
) : Promise < MessageTransports > {
578
+ telemetryReporter . sendTelemetryEvent ( TelemetryEventNames . ClientServerStart ) ;
577
579
const serverPath = getServerPath ( platformInfo ) ;
578
580
579
581
const dotnetInfo = await hostExecutableResolver . getHostExecutableInfo ( ) ;
580
582
const dotnetExecutablePath = dotnetInfo . path ;
581
-
582
583
_channel . info ( 'Dotnet path: ' + dotnetExecutablePath ) ;
584
+ telemetryReporter . sendTelemetryEvent ( TelemetryEventNames . AcquiredRuntime ) ;
583
585
584
586
let args : string [ ] = [ ] ;
585
587
@@ -684,6 +686,8 @@ export class RoslynLanguageServer {
684
686
childProcess = cp . spawn ( serverPath , args , cpOptions ) ;
685
687
}
686
688
689
+ telemetryReporter . sendTelemetryEvent ( TelemetryEventNames . LaunchedServer ) ;
690
+
687
691
// Record the stdout and stderr streams from the server process.
688
692
childProcess . stdout . on ( 'data' , ( data : { toString : ( arg0 : any ) => any } ) => {
689
693
const result : string = isString ( data ) ? data : data . toString ( RoslynLanguageServer . encoding ) ;
@@ -756,6 +760,8 @@ export class RoslynLanguageServer {
756
760
throw new Error ( 'Timeout. Client cound not connect to server via named pipe' ) ;
757
761
}
758
762
763
+ telemetryReporter . sendTelemetryEvent ( TelemetryEventNames . ClientConnected ) ;
764
+
759
765
return {
760
766
reader : new SocketMessageReader ( socket , RoslynLanguageServer . encoding ) ,
761
767
writer : new SocketMessageWriter ( socket , RoslynLanguageServer . encoding ) ,
@@ -1072,6 +1078,8 @@ export async function activateRoslynLanguageServer(
1072
1078
// The trace channel verbosity is controlled by the _channel verbosity.
1073
1079
_traceChannel = vscode . window . createOutputChannel ( vscode . l10n . t ( 'C# LSP Trace Logs' ) ) ;
1074
1080
1081
+ reporter . sendTelemetryEvent ( TelemetryEventNames . ClientInitialize ) ;
1082
+
1075
1083
const hostExecutableResolver = new DotnetRuntimeExtensionResolver (
1076
1084
platformInfo ,
1077
1085
getServerPath ,
0 commit comments