Skip to content

Commit 3dffe69

Browse files
telemetry: appcomposer_initializeProject metric #4280
Problem: We're tracking resource counts in the App Composer console, but not in the VS Code extension. This allows for tracking that telemetry event in VSC as well. Solution: This adds the `appcomposer_initializeProject` telemetry event, which records the `resourceCounts` and `totalResourceCount` values coming from `FigAssets`.
1 parent eb02344 commit 3dffe69

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

packages/core/src/applicationcomposer/messageHandlers/emitTelemetryMessageHandler.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {
1717
AppcomposerOpenWfs,
1818
AppcomposerPostProcess,
1919
AppcomposerRegenerateClicked,
20+
AppcomposerInitializeProject,
2021
telemetry,
2122
} from '../../shared/telemetry/telemetry'
2223
import { getLogger } from '../../shared/logger'
@@ -61,6 +62,9 @@ export function emitTelemetryMessageHandler(message: EmitTelemetryMessage) {
6162
case 'CLOSE_WFS':
6263
sendCloseWfs(parsedData as AppcomposerCloseWfs)
6364
return
65+
case 'TEMPLATE_OPENED':
66+
sendInitializeProject(parsedData as AppcomposerInitializeProject)
67+
return
6468
}
6569
} catch (e) {
6670
getLogger().error('Could not log telemetry for App Composer', e)
@@ -158,3 +162,10 @@ function sendCloseWfs(metadata: AppcomposerCloseWfs) {
158162
didSave: metadata.didSave,
159163
})
160164
}
165+
166+
function sendInitializeProject(metadata: AppcomposerInitializeProject) {
167+
telemetry.appcomposer_initializeProject.emit({
168+
resourceCounts: metadata.resourceCounts,
169+
totalResourceCount: metadata.totalResourceCount,
170+
})
171+
}

packages/core/src/applicationcomposer/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ enum TelemetryType {
5555
ADD_CONNECTION = 'ADD_CONNECTION',
5656
OPEN_WFS = 'OPEN_WFS',
5757
CLOSE_WFS = 'CLOSE_WFS',
58+
TEMPLATE_OPENED = 'TEMPLATE_OPENED',
5859
}
5960

6061
export interface InitResponseMessage extends Message {

packages/core/src/shared/telemetry/vscodeTelemetry.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,16 @@
114114
"type": "boolean",
115115
"description": "Whether the user saved"
116116
},
117+
{
118+
"name": "resourceCounts",
119+
"type": "string",
120+
"description": "Per-resource count of each resource in an opened template"
121+
},
122+
{
123+
"name": "totalResourceCount",
124+
"type": "int",
125+
"description": "Total count of resources in an opened template"
126+
},
117127
{
118128
"name": "cwsprChatTriggerInteraction",
119129
"type": "string",
@@ -606,6 +616,11 @@
606616
"description": "Called when Step Functions Workflow Studio is closed",
607617
"metadata": [{ "type": "didSave" }]
608618
},
619+
{
620+
"name": "appcomposer_initializeProject",
621+
"description": "Called when a project successfully loads",
622+
"metadata": [{ "type": "resourceCounts" }, { "type": "totalResourceCount" }]
623+
},
609624
{
610625
"name": "amazonq_openChat",
611626
"description": "When user opens CWSPR chat panel"

0 commit comments

Comments
 (0)