1
1
import os from "node:os" ;
2
2
import { TeamAnalytics } from "../control-plane/TeamAnalytics.js" ;
3
+ import { IdeInfo } from "../index.js" ;
3
4
4
5
export class Telemetry {
5
6
// Set to undefined whenever telemetry is disabled
6
7
static client : any = undefined ;
7
8
static uniqueId = "NOT_UNIQUE" ;
8
9
static os : string | undefined = undefined ;
9
- static extensionVersion : string | undefined = undefined ;
10
+ static ideInfo : IdeInfo | undefined = undefined ;
10
11
11
12
static async capture (
12
13
event : string ,
@@ -19,7 +20,9 @@ export class Telemetry {
19
20
properties : {
20
21
...properties ,
21
22
os : Telemetry . os ,
22
- extensionVersion : Telemetry . extensionVersion ,
23
+ extensionVersion : Telemetry . ideInfo ?. extensionVersion ,
24
+ ideName : Telemetry . ideInfo ?. name ,
25
+ ideType : Telemetry . ideInfo ?. ideType ,
23
26
} ,
24
27
} ) ;
25
28
@@ -32,14 +35,10 @@ export class Telemetry {
32
35
Telemetry . client ?. shutdown ( ) ;
33
36
}
34
37
35
- static async setup (
36
- allow : boolean ,
37
- uniqueId : string ,
38
- extensionVersion : string ,
39
- ) {
38
+ static async setup ( allow : boolean , uniqueId : string , ideInfo : IdeInfo ) {
40
39
Telemetry . uniqueId = uniqueId ;
41
40
Telemetry . os = os . platform ( ) ;
42
- Telemetry . extensionVersion = extensionVersion ;
41
+ Telemetry . ideInfo = ideInfo ;
43
42
44
43
if ( ! allow ) {
45
44
Telemetry . client = undefined ;
0 commit comments