@@ -11,7 +11,7 @@ import * as vscode from 'vscode'
11
11
import { extensionVersion , isAutomation } from '../vscode/env'
12
12
import { getLogger } from '../logger'
13
13
import * as ClientTelemetry from './clienttelemetry'
14
- import { MetricDatum } from './clienttelemetry'
14
+ import { AWSProduct , MetricDatum } from './clienttelemetry'
15
15
import apiConfig = require( './service-2.json' )
16
16
import { ServiceConfigurationOptions } from 'aws-sdk/lib/service'
17
17
import globals from '../extensionGlobals'
@@ -56,7 +56,20 @@ export type TelemetryClient = ClassToInterfaceType<DefaultTelemetryClient>
56
56
export class DefaultTelemetryClient implements TelemetryClient {
57
57
private static readonly defaultIdentityPool = 'us-east-1:820fd6d1-95c0-4ca4-bffb-3f01d32da842'
58
58
private static readonly defaultTelemetryEndpoint = 'https://client-telemetry.us-east-1.amazonaws.com'
59
- private static readonly productName = 'AWS Toolkit For VS Code'
59
+
60
+ static #productName: AWSProduct
61
+
62
+ public static set productName ( val : AWSProduct ) {
63
+ getLogger ( ) . info ( `Telemetry product: ${ val } ` )
64
+ this . #productName = val
65
+ }
66
+
67
+ public static get productName ( ) {
68
+ if ( ! this . #productName) {
69
+ throw new Error ( 'DefaultTelemetryClient.productName is not initialized.' )
70
+ }
71
+ return this . #productName
72
+ }
60
73
61
74
private static initializeConfig ( ) : TelemetryConfiguration {
62
75
const settings = DevSettings . instance
0 commit comments