@@ -8,14 +8,13 @@ import { createDecorator } from '../../../platform/instantiation/common/instanti
8
8
import { Event , Emitter } from '../../../base/common/event.js' ;
9
9
import { ExtHostTelemetryShape } from './extHost.protocol.js' ;
10
10
import { ICommonProperties , TelemetryLevel } from '../../../platform/telemetry/common/telemetry.js' ;
11
- import { ILogger , ILoggerService , LogLevel , isLogLevel } from '../../../platform/log/common/log.js' ;
11
+ import { ILogger , ILoggerService } from '../../../platform/log/common/log.js' ;
12
12
import { IExtHostInitDataService } from './extHostInitDataService.js' ;
13
13
import { ExtensionIdentifier , IExtensionDescription } from '../../../platform/extensions/common/extensions.js' ;
14
14
import { UIKind } from '../../services/extensions/common/extensionHostProtocol.js' ;
15
15
import { getRemoteName } from '../../../platform/remote/common/remoteHosts.js' ;
16
- import { cleanData , cleanRemoteAuthority , extensionTelemetryLogChannelId , TelemetryLogGroup } from '../../../platform/telemetry/common/telemetryUtils.js' ;
16
+ import { cleanData , cleanRemoteAuthority , TelemetryLogGroup } from '../../../platform/telemetry/common/telemetryUtils.js' ;
17
17
import { mixin } from '../../../base/common/objects.js' ;
18
- import { URI } from '../../../base/common/uri.js' ;
19
18
import { Disposable } from '../../../base/common/lifecycle.js' ;
20
19
import { localize } from '../../../nls.js' ;
21
20
@@ -31,38 +30,25 @@ export class ExtHostTelemetry extends Disposable implements ExtHostTelemetryShap
31
30
32
31
private _productConfig : { usage : boolean ; error : boolean } = { usage : true , error : true } ;
33
32
private _level : TelemetryLevel = TelemetryLevel . NONE ;
34
- // This holds whether or not we're running with --disable-telemetry, etc. Usings supportsTelemtry() from the main thread
35
- private _telemetryIsSupported : boolean = false ;
36
33
private _oldTelemetryEnablement : boolean | undefined ;
37
34
private readonly _inLoggingOnlyMode : boolean = false ;
38
- private readonly extHostTelemetryLogFile : URI ;
39
35
private readonly _outputLogger : ILogger ;
40
36
private readonly _telemetryLoggers = new Map < string , ExtHostTelemetryLogger [ ] > ( ) ;
41
37
42
38
constructor (
39
+ isWorker : boolean ,
43
40
@IExtHostInitDataService private readonly initData : IExtHostInitDataService ,
44
- @ILoggerService private readonly loggerService : ILoggerService ,
41
+ @ILoggerService loggerService : ILoggerService ,
45
42
) {
46
43
super ( ) ;
47
- this . extHostTelemetryLogFile = URI . revive ( this . initData . environment . extensionTelemetryLogResource ) ;
48
44
this . _inLoggingOnlyMode = this . initData . environment . isExtensionTelemetryLoggingOnly ;
49
- this . _outputLogger = loggerService . createLogger ( this . extHostTelemetryLogFile ,
45
+ const id = initData . remote . isRemote ? 'remoteExtHostTelemetry' : isWorker ? 'workerExtHostTelemetry' : 'extHostTelemetry' ;
46
+ this . _outputLogger = this . _register ( loggerService . createLogger ( id ,
50
47
{
51
- id : extensionTelemetryLogChannelId ,
52
48
name : localize ( 'extensionTelemetryLog' , "Extension Telemetry{0}" , this . _inLoggingOnlyMode ? ' (Not Sent)' : '' ) ,
53
49
hidden : true ,
54
50
group : TelemetryLogGroup ,
55
- } ) ;
56
- this . _register ( this . _outputLogger ) ;
57
- this . _register ( loggerService . onDidChangeLogLevel ( arg => {
58
- if ( isLogLevel ( arg ) ) {
59
- this . updateLoggerVisibility ( ) ;
60
- }
61
- } ) ) ;
62
- }
63
-
64
- private updateLoggerVisibility ( ) : void {
65
- this . loggerService . setVisibility ( this . extHostTelemetryLogFile , this . _telemetryIsSupported && this . loggerService . getLogLevel ( ) === LogLevel . Trace ) ;
51
+ } ) ) ;
66
52
}
67
53
68
54
getTelemetryConfiguration ( ) : boolean {
@@ -95,9 +81,7 @@ export class ExtHostTelemetry extends Disposable implements ExtHostTelemetryShap
95
81
96
82
$initializeTelemetryLevel ( level : TelemetryLevel , supportsTelemetry : boolean , productConfig ?: { usage : boolean ; error : boolean } ) : void {
97
83
this . _level = level ;
98
- this . _telemetryIsSupported = supportsTelemetry ;
99
84
this . _productConfig = productConfig ?? { usage : true , error : true } ;
100
- this . updateLoggerVisibility ( ) ;
101
85
}
102
86
103
87
getBuiltInCommonProperties ( extension : IExtensionDescription ) : ICommonProperties {
@@ -155,7 +139,6 @@ export class ExtHostTelemetry extends Disposable implements ExtHostTelemetryShap
155
139
this . _onDidChangeTelemetryEnabled . fire ( this . getTelemetryConfiguration ( ) ) ;
156
140
}
157
141
this . _onDidChangeTelemetryConfiguration . fire ( this . getTelemetryDetails ( ) ) ;
158
- this . updateLoggerVisibility ( ) ;
159
142
}
160
143
161
144
onExtensionError ( extension : ExtensionIdentifier , error : Error ) : boolean {
0 commit comments