Skip to content

Commit 6635282

Browse files
authored
Remove namespace from telemetry (#882)
1 parent fd136c6 commit 6635282

19 files changed

+140
-258
lines changed

src/awsexplorer/activation.ts

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import { safeGet } from '../shared/extensionUtilities'
1717
import { getLogger } from '../shared/logger'
1818
import { RegionProvider } from '../shared/regions/regionProvider'
1919
import { ResourceFetcher } from '../shared/resourceFetcher'
20-
import { TelemetryNamespace } from '../shared/telemetry/telemetryTypes'
2120
import { registerCommand } from '../shared/telemetry/telemetryUtils'
2221
import { AWSTreeNodeBase } from '../shared/treeview/nodes/awsTreeNodeBase'
2322
import { ErrorNode } from '../shared/treeview/nodes/errorNode'
@@ -67,20 +66,23 @@ async function registerAwsExplorerCommands(
6766
callback: async () => {
6867
await ext.awsContextCommands.onCommandShowRegion()
6968
await recordNumberOfActiveRegionsMetric(awsExplorer)
70-
}
69+
},
70+
telemetryName: 'Command_aws.showRegion'
7171
})
7272

7373
registerCommand({
7474
command: 'aws.hideRegion',
7575
callback: async (node?: RegionNode) => {
7676
await ext.awsContextCommands.onCommandHideRegion(safeGet(node, x => x.regionCode))
7777
await recordNumberOfActiveRegionsMetric(awsExplorer)
78-
}
78+
},
79+
telemetryName: 'Command_aws.hideRegion'
7980
})
8081

8182
registerCommand({
8283
command: 'aws.refreshAwsExplorer',
83-
callback: async () => awsExplorer.refresh()
84+
callback: async () => awsExplorer.refresh(),
85+
telemetryName: 'Command_aws.refreshAwsExplorer'
8486
})
8587

8688
registerCommand({
@@ -92,25 +94,20 @@ async function registerAwsExplorerCommands(
9294
outputChannel: lambdaOutputChannel,
9395
onRefresh: () => awsExplorer.refresh(node.parent)
9496
}),
95-
telemetryName: {
96-
namespace: TelemetryNamespace.Lambda,
97-
name: 'delete'
98-
}
97+
telemetryName: 'lambda_delete'
9998
})
10099

101100
registerCommand({
102101
command: 'aws.deleteCloudFormation',
103102
callback: async (node: CloudFormationStackNode) =>
104103
await deleteCloudFormation(() => awsExplorer.refresh(node.parent), node),
105-
telemetryName: {
106-
namespace: TelemetryNamespace.Cloudformation,
107-
name: 'delete'
108-
}
104+
telemetryName: 'cloudformation_delete'
109105
})
110106

111107
registerCommand({
112108
command: 'aws.showErrorDetails',
113-
callback: async (node: ErrorNode) => await showErrorDetails(node)
109+
callback: async (node: ErrorNode) => await showErrorDetails(node),
110+
telemetryName: 'Command_aws.showErrorDetails'
114111
})
115112

116113
registerCommand({
@@ -122,17 +119,15 @@ async function registerAwsExplorerCommands(
122119
outputChannel: lambdaOutputChannel,
123120
resourceFetcher: resourceFetcher
124121
}),
125-
telemetryName: {
126-
namespace: TelemetryNamespace.Lambda,
127-
name: 'invokeremote'
128-
}
122+
telemetryName: 'lambda_invokeremote'
129123
})
130124

131125
registerCommand({
132126
command: 'aws.refreshAwsExplorerNode',
133127
callback: async (awsexplorer: AwsExplorer, element: AWSTreeNodeBase) => {
134128
awsexplorer.refresh(element)
135-
}
129+
},
130+
telemetryName: 'Command_aws.refreshAwsExplorerNode'
136131
})
137132
}
138133

@@ -141,9 +136,8 @@ async function recordNumberOfActiveRegionsMetric(awsExplorer: AwsExplorer) {
141136
const currTime = new Date()
142137

143138
ext.telemetry.record({
144-
namespace: TelemetryNamespace.VSCode,
145139
createTime: currTime,
146-
data: [{ name: 'activeregions', value: numOfActiveRegions, unit: 'Count' }]
140+
data: [{ name: 'vscode_activeregions', value: numOfActiveRegions, unit: 'Count' }]
147141
})
148142
}
149143

src/cdk/activation.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import * as vscode from 'vscode'
77
import { cdkDocumentationUrl, cdkProvideFeedbackUrl } from '../shared/constants'
88
import { ext } from '../shared/extensionGlobals'
99
import { TelemetryEvent } from '../shared/telemetry/telemetryEvent'
10-
import { TelemetryNamespace } from '../shared/telemetry/telemetryTypes'
1110
import { defaultMetricDatum, registerCommand } from '../shared/telemetry/telemetryUtils'
1211
import { AwsCdkExplorer } from './explorer/awsCdkExplorer'
1312
import { AppNode } from './explorer/nodes/appNode'
@@ -19,9 +18,9 @@ const EXPLORER_ENABLED_CONFIG_KEY = 'aws.cdk.explorer.enabled'
1918
* Telemetry event names for recorded metrics
2019
*/
2120
enum TelemetryEventTypes {
22-
APP_EXPANDED = 'appExpanded',
23-
EXPLORER_RE_ENABLED = 'explorerEnabled',
24-
EXPLORER_DISABLED = 'explorerDisabled'
21+
APP_EXPANDED = 'cdk_appExpanded',
22+
EXPLORER_RE_ENABLED = 'cdk_explorerEnabled',
23+
EXPLORER_DISABLED = 'cdk_explorerDisabled'
2524
}
2625

2726
/**
@@ -63,7 +62,6 @@ export async function activate(activateArguments: { extensionContext: vscode.Ext
6362

6463
function getTelemetryEvent(eventName: TelemetryEventTypes): TelemetryEvent {
6564
return {
66-
namespace: TelemetryNamespace.Cdk,
6765
createTime: new Date(),
6866
data: [defaultMetricDatum(eventName)]
6967
}
@@ -82,16 +80,19 @@ async function registerCdkCommands(explorer: AwsCdkExplorer): Promise<void> {
8280
command: 'aws.cdk.provideFeedback',
8381
callback: async () => {
8482
vscode.env.openExternal(vscode.Uri.parse(cdkProvideFeedbackUrl))
85-
}
83+
},
84+
telemetryName: 'Command_aws.cdk.provideFeedback'
8685
})
8786
registerCommand({
8887
command: 'aws.cdk.help',
8988
callback: async () => {
9089
vscode.env.openExternal(vscode.Uri.parse(cdkDocumentationUrl))
91-
}
90+
},
91+
telemetryName: 'Command_aws.cdk.help'
9292
})
9393
registerCommand({
9494
command: 'aws.refreshCdkExplorer',
95-
callback: async () => explorer.refresh()
95+
callback: async () => explorer.refresh(),
96+
telemetryName: 'Command_aws.refreshCdkExplorer'
9697
})
9798
}

src/eventSchemas/activation.ts

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import { viewSchemaItem } from '../eventSchemas/commands/viewSchemaItem'
99
import { RegistryItemNode } from '../eventSchemas/explorer/registryItemNode'
1010
import { SchemaItemNode } from '../eventSchemas/explorer/schemaItemNode'
1111
import { SchemasNode } from '../eventSchemas/explorer/schemasNode'
12-
import { TelemetryNamespace } from '../shared/telemetry/telemetryTypes'
1312
import { registerCommand } from '../shared/telemetry/telemetryUtils'
1413

1514
/**
@@ -23,19 +22,13 @@ async function registerSchemasCommands(): Promise<void> {
2322
registerCommand({
2423
command: 'aws.viewSchemaItem',
2524
callback: async (node: SchemaItemNode) => await viewSchemaItem(node),
26-
telemetryName: {
27-
namespace: TelemetryNamespace.Schema,
28-
name: 'view'
29-
}
25+
telemetryName: 'schemas_view'
3026
})
3127

3228
registerCommand({
3329
command: 'aws.downloadSchemaItemCode',
3430
callback: async (node: SchemaItemNode) => await downloadSchemaItemCode(node),
35-
telemetryName: {
36-
namespace: TelemetryNamespace.Schema,
37-
name: 'download'
38-
}
31+
telemetryName: 'schemas_download'
3932
})
4033

4134
registerCommand({
@@ -44,10 +37,7 @@ async function registerSchemasCommands(): Promise<void> {
4437
await createSearchSchemasWebView({
4538
node: node
4639
}),
47-
telemetryName: {
48-
namespace: TelemetryNamespace.Schema,
49-
name: 'search'
50-
}
40+
telemetryName: 'schemas_search'
5141
})
5242

5343
registerCommand({
@@ -56,9 +46,6 @@ async function registerSchemasCommands(): Promise<void> {
5646
await createSearchSchemasWebView({
5747
node: node
5848
}),
59-
telemetryName: {
60-
namespace: TelemetryNamespace.Schema,
61-
name: 'search'
62-
}
49+
telemetryName: 'schemas_search'
6350
})
6451
}

src/eventSchemas/commands/searchSchemas.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import { ext } from '../../shared/extensionGlobals'
1919
import { ExtensionUtilities } from '../../shared/extensionUtilities'
2020
import { getLogger, Logger } from '../../shared/logger'
2121
import { TelemetryService } from '../../shared/telemetry/telemetryService'
22-
import { TelemetryNamespace } from '../../shared/telemetry/telemetryTypes'
2322
import { defaultMetricDatum } from '../../shared/telemetry/telemetryUtils'
2423
import { BaseTemplates } from '../../shared/templates/baseTemplates'
2524
import { toArrayAsync } from '../../shared/utilities/collectionUtils'
@@ -209,9 +208,8 @@ export function createMessageReceivedFunc({
209208

210209
function recordSchemaSearchTelemetry(telemetryService: TelemetryService, action: string) {
211210
telemetryService.record({
212-
namespace: TelemetryNamespace.Schema,
213211
createTime: new Date(),
214-
data: [defaultMetricDatum(action)]
212+
data: [defaultMetricDatum(`schemas_${action}`)]
215213
})
216214
}
217215

src/extension.ts

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import { activate as activateServerless } from './shared/sam/activation'
2929
import { DefaultSettingsConfiguration } from './shared/settingsConfiguration'
3030
import { AwsTelemetryOptOut } from './shared/telemetry/awsTelemetryOptOut'
3131
import { DefaultTelemetryService } from './shared/telemetry/defaultTelemetryService'
32-
import { TelemetryNamespace } from './shared/telemetry/telemetryTypes'
3332
import { registerCommand } from './shared/telemetry/telemetryUtils'
3433
import { ExtensionDisposableFiles } from './shared/utilities/disposableFiles'
3534
import { getChannelLogger } from './shared/utilities/vsCodeUtils'
@@ -77,54 +76,49 @@ export async function activate(context: vscode.ExtensionContext) {
7776
registerCommand({
7877
command: 'aws.login',
7978
callback: async () => await ext.awsContextCommands.onCommandLogin(),
80-
telemetryName: {
81-
namespace: TelemetryNamespace.Aws,
82-
name: 'credentialslogin'
83-
}
79+
telemetryName: 'aws_credentialslogin'
8480
})
8581

8682
registerCommand({
8783
command: 'aws.credential.profile.create',
8884
callback: async () => await ext.awsContextCommands.onCommandCreateCredentialsProfile(),
89-
telemetryName: {
90-
namespace: TelemetryNamespace.Aws,
91-
name: 'credentialscreate'
92-
}
85+
telemetryName: 'aws_credentialscreate'
9386
})
9487

9588
registerCommand({
9689
command: 'aws.logout',
9790
callback: async () => await ext.awsContextCommands.onCommandLogout(),
98-
telemetryName: {
99-
namespace: TelemetryNamespace.Aws,
100-
name: 'credentialslogout'
101-
}
91+
telemetryName: 'aws_credentialslogout'
10292
})
10393

10494
// register URLs in extension menu
10595
registerCommand({
10696
command: 'aws.help',
10797
callback: async () => {
10898
vscode.env.openExternal(vscode.Uri.parse(documentationUrl))
109-
}
99+
},
100+
telemetryName: 'Command_aws.help'
110101
})
111102
registerCommand({
112103
command: 'aws.github',
113104
callback: async () => {
114105
vscode.env.openExternal(vscode.Uri.parse(githubUrl))
115-
}
106+
},
107+
telemetryName: 'Command_aws.github'
116108
})
117109
registerCommand({
118110
command: 'aws.reportIssue',
119111
callback: async () => {
120112
vscode.env.openExternal(vscode.Uri.parse(reportIssueUrl))
121-
}
113+
},
114+
telemetryName: 'Command_aws.reportIssue'
122115
})
123116
registerCommand({
124117
command: 'aws.quickStart',
125118
callback: async () => {
126119
await showQuickStartWebview(context)
127-
}
120+
},
121+
telemetryName: 'Command_aws.quickStart'
128122
})
129123

130124
await activateCdk({

src/shared/codelens/csharpCodeLensProvider.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import {
2222
} from '../sam/cli/samCliLocalInvoke'
2323
import { SettingsConfiguration } from '../settingsConfiguration'
2424
import { TelemetryService } from '../telemetry/telemetryService'
25-
import { Datum, TelemetryNamespace } from '../telemetry/telemetryTypes'
25+
import { Datum } from '../telemetry/telemetryTypes'
2626
import { registerCommand } from '../telemetry/telemetryUtils'
2727
import { dirnameWithTrailingSlash } from '../utilities/pathUtils'
2828
import { ChannelLogger, getChannelLogger, getDebugPort } from '../utilities/vsCodeUtils'
@@ -80,10 +80,7 @@ export async function initialize({
8080
telemetryService
8181
})
8282
},
83-
telemetryName: {
84-
namespace: TelemetryNamespace.Lambda,
85-
name: 'invokelocal'
86-
}
83+
telemetryName: 'lambda_invokelocal'
8784
})
8885
}
8986

src/shared/codelens/localLambdaRunner.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -588,17 +588,16 @@ function recordAttachDebuggerMetric(params: RecordAttachDebuggerMetricContext) {
588588
const metadata = new Map([['runtime', params.runtime]])
589589

590590
params.telemetryService.record({
591-
namespace: namespace,
592591
createTime: currTime,
593592
data: [
594593
{
595-
name: 'attempts',
594+
name: `${namespace}_attempts`,
596595
value: params.attempts,
597596
unit: 'Count',
598597
metadata
599598
},
600599
{
601-
name: 'duration',
600+
name: `${namespace}_duration`,
602601
value: params.durationMillis,
603602
unit: 'Milliseconds',
604603
metadata

src/shared/codelens/pythonCodeLensProvider.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { getLogger } from '../logger'
1616
import { DefaultValidatingSamCliProcessInvoker } from '../sam/cli/defaultValidatingSamCliProcessInvoker'
1717
import { DefaultSamLocalInvokeCommand, WAIT_FOR_DEBUGGER_MESSAGES } from '../sam/cli/samCliLocalInvoke'
1818
import { SettingsConfiguration } from '../settingsConfiguration'
19-
import { Datum, TelemetryNamespace } from '../telemetry/telemetryTypes'
19+
import { Datum } from '../telemetry/telemetryTypes'
2020
import { registerCommand } from '../telemetry/telemetryUtils'
2121
import { ChannelLogger, getChannelLogger, getDebugPort } from '../utilities/vsCodeUtils'
2222
import {
@@ -338,10 +338,7 @@ export async function initialize({
338338
runtime
339339
})
340340
},
341-
telemetryName: {
342-
namespace: TelemetryNamespace.Lambda,
343-
name: 'invokelocal'
344-
}
341+
telemetryName: 'lambda_invokelocal'
345342
})
346343
}
347344

src/shared/codelens/typescriptCodeLensProvider.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { CloudFormation } from '../cloudformation/cloudformation'
1010
import { findFileInParentPaths } from '../filesystemUtilities'
1111
import { LambdaHandlerCandidate } from '../lambdaHandlerSearch'
1212
import { DefaultSamLocalInvokeCommand, WAIT_FOR_DEBUGGER_MESSAGES } from '../sam/cli/samCliLocalInvoke'
13-
import { Datum, TelemetryNamespace } from '../telemetry/telemetryTypes'
13+
import { Datum } from '../telemetry/telemetryTypes'
1414
import { registerCommand } from '../telemetry/telemetryUtils'
1515
import { TypescriptLambdaHandlerSearch } from '../typescriptLambdaHandlerSearch'
1616
import { getChannelLogger, getDebugPort, localize } from '../utilities/vsCodeUtils'
@@ -121,10 +121,7 @@ export function initialize({
121121
runtime
122122
})
123123
},
124-
telemetryName: {
125-
namespace: TelemetryNamespace.Lambda,
126-
name: 'invokelocal'
127-
}
124+
telemetryName: 'lambda_invokelocal'
128125
})
129126
}
130127

src/shared/logger/activation.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ async function ensureLogFolderExists(logFolder: string): Promise<void> {
101101
async function registerLoggerCommands(): Promise<void> {
102102
registerCommand({
103103
command: 'aws.viewLogs',
104-
callback: async () => await vscode.window.showTextDocument(vscode.Uri.file(path.normalize(LOG_PATH)))
104+
callback: async () => await vscode.window.showTextDocument(vscode.Uri.file(path.normalize(LOG_PATH))),
105+
telemetryName: 'Command_aws.viewLogs'
105106
})
106107
}

0 commit comments

Comments
 (0)