@@ -13,13 +13,14 @@ import {
1313 LOG_TELEMETRY ,
1414 isIntegrationTestMode ,
1515 isCanary ,
16- } from "./config" ;
16+ } from "../.. /config" ;
1717import * as appInsights from "applicationinsights" ;
18- import { extLogger } from "./common " ;
19- import { UserCancellationException } from "./common/vscode/ progress" ;
20- import { showBinaryChoiceWithUrlDialog } from "./common/vscode/ dialog" ;
21- import { RedactableError } from "./pure/errors" ;
18+ import { extLogger } from "../index " ;
19+ import { UserCancellationException } from "./progress" ;
20+ import { showBinaryChoiceWithUrlDialog } from "./dialog" ;
21+ import { RedactableError } from "../.. /pure/errors" ;
2222import { SemVer } from "semver" ;
23+ import { AppTelemetry } from "../telemetry" ;
2324
2425// Key is injected at build time through the APP_INSIGHTS_KEY environment variable.
2526const key = "REPLACE-APP-INSIGHTS-KEY" ;
@@ -54,7 +55,10 @@ const baseDataPropertiesToRemove = [
5455
5556const NOT_SET_CLI_VERSION = "not-set" ;
5657
57- export class TelemetryListener extends ConfigListener {
58+ export class ExtensionTelemetryListener
59+ extends ConfigListener
60+ implements AppTelemetry
61+ {
5862 static relevantSettings = [ ENABLE_TELEMETRY , CANARY_FEATURES ] ;
5963
6064 private reporter ?: TelemetryReporter ;
@@ -152,7 +156,7 @@ export class TelemetryListener extends ConfigListener {
152156 void this . reporter ?. dispose ( ) ;
153157 }
154158
155- sendCommandUsage ( name : string , executionTime : number , error ?: Error ) {
159+ sendCommandUsage ( name : string , executionTime : number , error ?: Error ) : void {
156160 if ( ! this . reporter ) {
157161 return ;
158162 }
@@ -174,7 +178,7 @@ export class TelemetryListener extends ConfigListener {
174178 ) ;
175179 }
176180
177- sendUIInteraction ( name : string ) {
181+ sendUIInteraction ( name : string ) : void {
178182 if ( ! this . reporter ) {
179183 return ;
180184 }
@@ -193,7 +197,7 @@ export class TelemetryListener extends ConfigListener {
193197 sendError (
194198 error : RedactableError ,
195199 extraProperties ?: { [ key : string ] : string } ,
196- ) {
200+ ) : void {
197201 if ( ! this . reporter ) {
198202 return ;
199203 }
@@ -272,16 +276,16 @@ export class TelemetryListener extends ConfigListener {
272276/**
273277 * The global Telemetry instance
274278 */
275- export let telemetryListener : TelemetryListener | undefined ;
279+ export let telemetryListener : ExtensionTelemetryListener | undefined ;
276280
277281export async function initializeTelemetry (
278282 extension : Extension < any > ,
279283 ctx : ExtensionContext ,
280- ) : Promise < TelemetryListener > {
284+ ) : Promise < ExtensionTelemetryListener > {
281285 if ( telemetryListener !== undefined ) {
282286 throw new Error ( "Telemetry is already initialized" ) ;
283287 }
284- telemetryListener = new TelemetryListener (
288+ telemetryListener = new ExtensionTelemetryListener (
285289 extension . id ,
286290 extension . packageJSON . version ,
287291 key ,
0 commit comments