Skip to content

Commit 9e9eaac

Browse files
authored
Add definitions for a feature's enabled state, and the opening and closing of a module (#835)
## Problem We're revising the VS Toolkit's Getting Started experience to more cleanly enable and disable features. We wish to understand the user's journey through this experience, and identify when/why a feature gets enabled or disabled. ## Solution A generalized set of metrics that can be applied to any feature: - `toolkit_featureState` - intended to be emitted at various points in a workflow, to report whether or not a certain feature is enabled. Also emits "why" this state is being emitted (via the "source" field) - `toolkit_openModule` - intended to be emitted when a feature/view/component of interest is opened/entered/displayed. "What" is being opened is represented by the "module" field, and "Why" it is being opened is represented in "source" - `toolkit_closeModule` - intended to be emitted when a feature/view/component of interest is closed/exited. "What" is being opened is represented by the "module" field. ## License By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
1 parent b5339ba commit 9e9eaac

File tree

1 file changed

+60
-1
lines changed

1 file changed

+60
-1
lines changed

telemetry/definitions/commonDefinitions.json

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1200,7 +1200,9 @@
12001200
"type": "string",
12011201
"description": "The id of the feature the user is interacting in. See also: `component`, `featureId`, `module`, `resourceType`.",
12021202
"allowedValues": [
1203+
"amazonQ",
12031204
"awsExplorer",
1205+
"awsToolkit",
12041206
"codewhisperer",
12051207
"codecatalyst"
12061208
]
@@ -6860,6 +6862,44 @@
68606862
}
68616863
]
68626864
},
6865+
{
6866+
"name": "toolkit_closeModule",
6867+
"description": "The user closed 'something' (specified by 'module'). Examples: a view, feature, resource, ...",
6868+
"metadata": [
6869+
{
6870+
"type": "module",
6871+
"required": true
6872+
}
6873+
],
6874+
"passive": true
6875+
},
6876+
{
6877+
"name": "toolkit_featureState",
6878+
"description": "Represents the current enabled state of a feature. Used to track user journey through a feature. Emitted after feature-specific operations of interest in the Toolkit.",
6879+
"metadata": [
6880+
{
6881+
"type": "authStatus",
6882+
"required": false
6883+
},
6884+
{
6885+
"type": "credentialSourceId",
6886+
"required": false
6887+
},
6888+
{
6889+
"type": "enabled",
6890+
"required": true
6891+
},
6892+
{
6893+
"type": "featureId",
6894+
"required": true
6895+
},
6896+
{
6897+
"type": "source",
6898+
"required": true
6899+
}
6900+
],
6901+
"passive": true
6902+
},
68636903
{
68646904
"name": "toolkit_getExternalResource",
68656905
"description": "The toolkit tried to retrieve blob data from a url",
@@ -6951,6 +6991,25 @@
69516991
}
69526992
]
69536993
},
6994+
{
6995+
"name": "toolkit_openModule",
6996+
"description": "The user opened 'something' (specified by 'module'). Examples: a view, feature, resource, ...",
6997+
"metadata": [
6998+
{
6999+
"type": "module",
7000+
"required": true
7001+
},
7002+
{
7003+
"type": "result",
7004+
"required": true
7005+
},
7006+
{
7007+
"type": "source",
7008+
"required": true
7009+
}
7010+
],
7011+
"passive": true
7012+
},
69547013
{
69557014
"name": "toolkit_showAction",
69567015
"description": "The toolkit tried to show an action. Source represents the notification that produced the action",
@@ -7060,4 +7119,4 @@
70607119
]
70617120
}
70627121
]
7063-
}
7122+
}

0 commit comments

Comments
 (0)