@vscode/telemetry-extractor 1.9.6 → 1.9.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,31 @@
1
+ # This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
2
+ # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
3
+
4
+ name: Node.js CI
5
+
6
+ on:
7
+ push:
8
+ branches: [ main ]
9
+ pull_request:
10
+ branches: [ main ]
11
+
12
+ jobs:
13
+ build:
14
+
15
+ runs-on: ubuntu-latest
16
+
17
+ strategy:
18
+ matrix:
19
+ node-version: [16.x]
20
+ # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
21
+
22
+ steps:
23
+ - uses: actions/checkout@v3
24
+ - name: Use Node.js ${{ matrix.node-version }}
25
+ uses: actions/setup-node@v3
26
+ with:
27
+ node-version: ${{ matrix.node-version }}
28
+ cache: 'npm'
29
+ - run: npm ci
30
+ - run: npm run compile --if-present
31
+ - run: npm test
package/README.md CHANGED
@@ -10,7 +10,7 @@ produces a JSON file containing the telemetry events which are collected.
10
10
 
11
11
  ## Setup
12
12
  ```bash
13
- npm i vscode-telemetry-extractor
13
+ npm i @vscode/telemetry-extractor
14
14
  ```
15
15
  For the various supported commands please see [**Using the tool**](./documentation/using-the-tool.md)
16
16
 
@@ -0,0 +1,168 @@
1
+ [Draft Content]
2
+
3
+ # Adding new telemetry to VS Code
4
+
5
+ The process of logging and annotating telemetry in the codebase is documented [here](typescript-code-annotations.md).
6
+
7
+ However, we want to limit telemetry bloat, and ensure that each event added to the product is in use. So before adding telemetry, ask yourself the following questions:
8
+ - Will the event be used to gather essential business insight?
9
+ - Is this an event that could make use of the "expiration" tag (described in the Syntax section [here](comment-code-annotations.md))?
10
+ - Do you have an appropriate owner for the event - basically, a contact that can speak to its function and determine if it's still in use?
11
+
12
+ # Telemetry Catalog
13
+
14
+ The following is generated directly from the annotations in VS Code.
15
+
16
+ | Event | Owner | Link to Declaration | Comment |
17
+ | ----------------- | ----------------- | --------------------- | ----------- |
18
+ | monacoworkbench/extensiongallery:install |
19
+ | monacoworkbench/extensiongallery:uninstall |
20
+ | monacoworkbench/extensiongallery:update |
21
+ | monacoworkbench/galleryservice:downloadvsix |
22
+ | monacoworkbench/remoteextensionrecommendations:popup |
23
+ | monacoworkbench/query-expfeature |
24
+ | monacoworkbench/startuptimevaried |
25
+ | monacoworkbench/webviews:createwebviewpanel |
26
+ | monacoworkbench/editoropened |
27
+ | monacoworkbench/editorclosed |
28
+ | monacoworkbench/debugsessionstart |
29
+ | monacoworkbench/debugsessionstop |
30
+ | monacoworkbench/debug/didviewmemory |
31
+ | monacoworkbench/cessurvey:popup |
32
+ | monacoworkbench/cessurvey:schedule |
33
+ | monacoworkbench/watermark:open |
34
+ | monacoworkbench/searchresultsfirstrender |
35
+ | monacoworkbench/searchresultsfinished |
36
+ | monacoworkbench/searchresultsshown |
37
+ | monacoworkbench/exthostunresponsive |
38
+ | monacoworkbench/extension:enable |
39
+ | monacoworkbench/extension:disable |
40
+ | monacoworkbench/extensiongallery:openextension |
41
+ | monacoworkbench/extensiongallery:install:recommendations |
42
+ | monacoworkbench/workspce.tags |
43
+ | monacoworkbench/workspace.remotes |
44
+ | monacoworkbench/workspace.azure |
45
+ | monacoworkbench/webview.createwebview |
46
+ | monacoworkbench/terminallatencystats |
47
+ | monacoworkbench/languagepacksuggestion:popup |
48
+ | monacoworkbench/taskservice.engineversion |
49
+ | monacoworkbench/taskservice |
50
+ | monacoworkbench/settingseditor.settingmodified |
51
+ | monacoworkbench/settingseditor.filter |
52
+ | monacoworkbench/settingseditor.searcherror |
53
+ | monacoworkbench/workbenchactionexecuted |
54
+ | monacoworkbench/views.togglevisibility |
55
+ | monacoworkbench/views.welcomeaction |
56
+ | monacoworkbench/notification:show |
57
+ | monacoworkbench/notification:close |
58
+ | monacoworkbench/notification:hide |
59
+ | monacoworkbench/notification:actionexecuted |
60
+ | monacoworkbench/automaticlanguagedetection.likelywrong |
61
+ | monacoworkbench/workbencheditorreopen |
62
+ | monacoworkbench/activitybaraction |
63
+ | monacoworkbench/keybindingseditor.action |
64
+ | monacoworkbench/workspacetrustdisabled |
65
+ | monacoworkbench/workspacetrustfoldercounts |
66
+ | monacoworkbench/workspacetruststatechanged |
67
+ | monacoworkbench/workspacefolderdepthbelowtrustedfolder |
68
+ | monacoworkbench/experiments |
69
+ | monacoworkbench/webviewmissingcsp |
70
+ | monacoworkbench/searcheditor/savesearchresults |
71
+ | monacoworkbench/searcheditor/opennewsearcheditor |
72
+ | monacoworkbench/searcheditor/createeditorfromsearchresult |
73
+ | monacoworkbench/fileextensionsuggestion:popup |
74
+ | monacoworkbench/extensionworkspacerecommendations:open |
75
+ | monacoworkbench/extensionsrecommendations:ignorerecommendation |
76
+ | monacoworkbench/extensionrecommendations:popup |
77
+ | monacoworkbench/extensionworkspacerecommendations:popup |
78
+ | monacoworkbench/dynamicworkspacerecommendations |
79
+ | monacoworkbench/gettingstarted.didautoopenwalkthrough |
80
+ | monacoworkbench/gettingstarted.actionexecuted |
81
+ | monacoworkbench/windowsedition |
82
+ | monacoworkbench/sync/handleconflicts |
83
+ | monacoworkbench/sync/showconflicts |
84
+ | monacoworkbench/workspaceload |
85
+ | monacoworkbench/settingsread |
86
+ | monacoworkbench/fileget |
87
+ | monacoworkbench/settingswritten |
88
+ | monacoworkbench/fileput |
89
+ | monacoworkbench/notebook/editoropened |
90
+ | monacoworkbench/notebook/editoropenperf |
91
+ | monacoworkbench/startup.resource.perf |
92
+ | monacoworkbench/remotereconnectionreload |
93
+ | monacoworkbench/remoteconnectionlost |
94
+ | monacoworkbench/remotereconnectionrunning |
95
+ | monacoworkbench/remotereconnectionpermanentfailure |
96
+ | monacoworkbench/remoteconnectiongain |
97
+ | monacoworkbench/automaticlanguagedetection.stats |
98
+ | monacoworkbench/openkeybindings |
99
+ | monacoworkbench/startup.timer.mark |
100
+ | monacoworkbench/tasclientreadtreatmentcomplete |
101
+ | monacoworkbench/uri_invoked/start |
102
+ | monacoworkbench/uri_invoked/cancel |
103
+ | monacoworkbench/uri_invoked/end |
104
+ | monacoworkbench/uri_invoked/activate_extension/start |
105
+ | monacoworkbench/uri_invoked/activate_extension/cancel |
106
+ | monacoworkbench/uri_invoked/activate_extension/accept |
107
+ | monacoworkbench/uri_invoked/enable_extension/start |
108
+ | monacoworkbench/uri_invoked/enable_extension/cancel |
109
+ | monacoworkbench/uri_invoked/enable_extension/accept |
110
+ | monacoworkbench/uri_invoked/install_extension/start |
111
+ | monacoworkbench/uri_invoked/install_extension/cancel |
112
+ | monacoworkbench/uri_invoked/install_extension/accept |
113
+ | monacoworkbench/uri_invoked/install_extension/reload |
114
+ | monacoworkbench/extensionhostcrash |
115
+ | monacoworkbench/extensionhostcrashextension |
116
+ | monacoworkbench/extensionhoststartup |
117
+ | monacoworkbench/extensionsmessage |
118
+ | monacoworkbench/extensionactivationerror |
119
+ | monacoworkbench/cachedsearchcomplete |
120
+ | monacoworkbench/searchcomplete |
121
+ | monacoworkbench/textsearchcomplete |
122
+ | monacoworkbench/sync/firsttimesync |
123
+ | monacoworkbench/sync.useraccount |
124
+ | monacoworkbench/sync/successiveauthfailures |
125
+ | monacoworkbench/viewdescriptorservice.moveviews |
126
+ | monacoworkbench/accessibility |
127
+ | monacoworkbench/activateplugin |
128
+ | monacoworkbench/override.viewtype |
129
+ | monacoworkbench/remoteconnectionfailure |
130
+ | monacoworkbench/suggest.durations.json |
131
+ | monacoworkbench/suggest.acceptedsuggestion |
132
+ | monacoworkbench/codeaction.applycodeaction |
133
+ | monacoworkbench/update:notavailable |
134
+ | monacoworkbench/update:downloaded |
135
+ | monacoworkbench/sync/error |
136
+ | monacoworkbench/sync.enable |
137
+ | monacoworkbench/sync/turnoffeverywhere |
138
+ | monacoworkbench/autosync/error |
139
+ | monacoworkbench/sync/triggered |
140
+ | monacoworkbench/sync/conflictsdetected |
141
+ | monacoworkbench/sync/conflictsresolved |
142
+ | monacoworkbench/sync/incompatible |
143
+ | monacoworkbench/workspace.stats |
144
+ | monacoworkbench/workspace.stats.file |
145
+ | monacoworkbench/workspace.stats.launchconfigfile |
146
+ | monacoworkbench/workspace.stats.configfiles |
147
+ | monacoworkbench/updateconfiguration |
148
+ | monacoworkbench/windowerror |
149
+ | monacoworkbench/galleryservice:additionalquery |
150
+ | monacoworkbench/galleryservice:query |
151
+ | monacoworkbench/galleryservice:cdnfallback |
152
+ | monacoworkbench/exeextensionrecommendations:alreadyinstalled |
153
+ | monacoworkbench/exeextensionrecommendations:notinstalled |
154
+ | monacoworkbench/authentication.providerusage |
155
+ | monacoworkbench/api/scm/createsourcecontrol |
156
+ | monacoworkbench/shimming.keytar |
157
+ | monacoworkbench/shimming.open |
158
+ | monacoworkbench/shimming.open.call.noforward |
159
+ | monacoworkbench/extensionactivationtimes |
160
+ | monacoworkbench/exthostdeprecatedapiusage |
161
+ | monacoworkbench/sharedprocesserror |
162
+ | monacoworkbench/serverstart |
163
+ | monacoworkbench/startuplayout |
164
+ | monacoworkbench/editoractioninvoked |
165
+ | monacoworkbench/unhandlederror |
166
+ | websitetracking/newuserinstall |
167
+ | websitetracking/dbconnectionlog |
168
+ | websitetracking/download|
package/out/lib/events.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WildcardEntry = exports.Wildcard = exports.Inline = exports.Include = exports.Event = exports.Events = void 0;
3
+ exports.Metadata = exports.WildcardEntry = exports.Wildcard = exports.Inline = exports.Include = exports.Event = exports.Events = void 0;
4
4
  class Events {
5
5
  dataPoints;
6
6
  constructor() {
@@ -52,4 +52,18 @@ class WildcardEntry {
52
52
  }
53
53
  }
54
54
  exports.WildcardEntry = WildcardEntry;
55
+ class Metadata {
56
+ name;
57
+ value;
58
+ constructor(name, value) {
59
+ this.name = name;
60
+ this.value = value;
61
+ }
62
+ simpleObject() {
63
+ const simple = Object.create(null);
64
+ simple[this.name] = this.value;
65
+ return simple;
66
+ }
67
+ }
68
+ exports.Metadata = Metadata;
55
69
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/lib/events.ts"],"names":[],"mappings":";;;AAMA,MAAa,MAAM;IACR,UAAU,CAAe;IAChC;QACI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACzB,CAAC;CACJ;AALD,wBAKC;AAED,MAAa,KAAK;IACP,IAAI,CAAS;IACpB,wFAAwF;IACjF,UAAU,CAAgD;IACjE,YAAa,IAAY;QACrB,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACzB,CAAC;CACJ;AARD,sBAQC;AAED,MAAa,OAAO;IACT,YAAY,CAAgB;IACnC,YAAa,YAA2B;QACpC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;CACJ;AALD,0BAKC;AAED,MAAa,MAAM;IACR,UAAU,CAAS;IACnB,OAAO,CAAgB;IAC9B,YAAa,IAAY,EAAE,OAAsB;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAPD,wBAOC;AAED,MAAa,QAAQ;IACV,OAAO,CAAuB;IACrC;QACI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;CACJ;AALD,4BAKC;AAED,MAAa,aAAa;IACf,MAAM,CAAS;IACf,cAAc,CAA4C;IAC1D,QAAQ,CAAqB;IACpC,YAAa,MAAc,EAAE,cAAyD,EAAE,QAA6B;QACjH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AATD,sCASC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/lib/events.ts"],"names":[],"mappings":";;;AAMA,MAAa,MAAM;IACR,UAAU,CAAe;IAChC;QACI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACzB,CAAC;CACJ;AALD,wBAKC;AAED,MAAa,KAAK;IACP,IAAI,CAAS;IACpB,wFAAwF;IACjF,UAAU,CAA2D;IAC5E,YAAa,IAAY;QACrB,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACzB,CAAC;CACJ;AARD,sBAQC;AAED,MAAa,OAAO;IACT,YAAY,CAAgB;IACnC,YAAa,YAA2B;QACpC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;CACJ;AALD,0BAKC;AAED,MAAa,MAAM;IACR,UAAU,CAAS;IACnB,OAAO,CAAgB;IAC9B,YAAa,IAAY,EAAE,OAAsB;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAPD,wBAOC;AAED,MAAa,QAAQ;IACV,OAAO,CAAuB;IACrC;QACI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;CACJ;AALD,4BAKC;AAED,MAAa,aAAa;IACf,MAAM,CAAS;IACf,cAAc,CAA4C;IAC1D,QAAQ,CAAqB;IACpC,YAAa,MAAc,EAAE,cAAyD,EAAE,QAA6B;QACjH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AATD,sCASC;AAED,MAAa,QAAQ;IACV,IAAI,CAAqC;IACzC,KAAK,CAAS;IACrB,YAAa,IAAwC,EAAE,KAAa;QAChE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,YAAY;QACR,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/B,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAbD,4BAaC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fragments.js","sourceRoot":"","sources":["../../src/lib/fragments.ts"],"names":[],"mappings":";;;AAOA,iHAAiH;AACjH,MAAa,SAAS;IACX,UAAU,CAAkB;IACnC;QACI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACzB,CAAC;CACJ;AALD,8BAKC;AAED,MAAa,QAAQ;IACV,IAAI,CAAS;IACb,UAAU,CAAkD;IACnE,YAAa,IAAY;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IAEzB,CAAC;CACJ;AARD,4BAQC"}
1
+ {"version":3,"file":"fragments.js","sourceRoot":"","sources":["../../src/lib/fragments.ts"],"names":[],"mappings":";;;AAOA,iHAAiH;AACjH,MAAa,SAAS;IACX,UAAU,CAAkB;IACnC;QACI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACzB,CAAC;CACJ;AALD,8BAKC;AAED,MAAa,QAAQ;IACV,IAAI,CAAS;IACb,UAAU,CAA6D;IAC9E,YAAa,IAAY;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IAEzB,CAAC;CACJ;AARD,4BAQC"}
@@ -20,6 +20,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.transformOutput = void 0;
23
+ const common_properties_1 = require("./common-properties");
23
24
  const events_1 = require("./events");
24
25
  const keywords = __importStar(require("./keywords"));
25
26
  // Converts the declarations array to an object format for easy readability.
@@ -53,7 +54,7 @@ async function transformOutput(output) {
53
54
  newEvents[event.name][keywords.wildcard].push(newEntry);
54
55
  }
55
56
  }
56
- else {
57
+ else if (property instanceof common_properties_1.Property) {
57
58
  // Handles the case where the comments can be inconsistent
58
59
  // We want to ensure that if isMeasurement is ever flagged it gets propogated
59
60
  if (newEvents[event.name][propetyNameChanger(property.name)]) {
@@ -78,6 +79,10 @@ async function transformOutput(output) {
78
79
  newEvents[event.name][propetyNameChanger(property.name)]['isMeasurement'] = property.isMeasurement;
79
80
  }
80
81
  }
82
+ else {
83
+ // Comments, expiration, and owner metadata are handled here
84
+ newEvents[event.name][propetyNameChanger(property.name)] = property.value;
85
+ }
81
86
  }
82
87
  }
83
88
  const newCommonProperties = Object.create(null);
@@ -1 +1 @@
1
- {"version":3,"file":"object-converter.js","sourceRoot":"","sources":["../../src/lib/object-converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object-converter.js","sourceRoot":"","sources":["../../src/lib/object-converter.ts"],"names":[],"mappings":"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"}
@@ -91,6 +91,10 @@ function populateProperties(properties, target, applyEndpoints = false) {
91
91
  else if (propertyName === keywords.wildcard) {
92
92
  mergeWildcards(currentProperty, target, applyEndpoints);
93
93
  }
94
+ else if (propertyName === 'owner' || propertyName === 'comment' || propertyName === 'expiration') {
95
+ // This is the special case when the property name matches one of our metadata properties
96
+ target.properties.push(new events_1.Metadata(propertyName, currentProperty));
97
+ }
94
98
  else {
95
99
  const prop = new common_properties_1.Property(propertyName, currentProperty.classification, currentProperty.purpose, currentProperty.expiration, currentProperty.owner, currentProperty.comment);
96
100
  if (applyEndpoints) {
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/lib/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/lib/operations.ts"],"names":[],"mappings":"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"}
@@ -85,6 +85,11 @@ async function extractAndResolveDeclarations(sourceSpecs) {
85
85
  }
86
86
  const formattedDeclarations = await (0, object_converter_1.transformOutput)(allDeclarations);
87
87
  for (const dec in allTypeScriptDeclarations) {
88
+ // If there's typescript declarations but we returned a null object
89
+ // We must add the event container to the declarations object
90
+ if (formattedDeclarations.events === undefined) {
91
+ formattedDeclarations.events = Object.create(null);
92
+ }
88
93
  formattedDeclarations.events[dec] = allTypeScriptDeclarations[dec];
89
94
  }
90
95
  return Promise.resolve(formattedDeclarations);
@@ -1 +1 @@
1
- {"version":3,"file":"save-declarations.js","sourceRoot":"","sources":["../../src/lib/save-declarations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"save-declarations.js","sourceRoot":"","sources":["../../src/lib/save-declarations.ts"],"names":[],"mappings":"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"}
@@ -28,14 +28,7 @@ const cp = __importStar(require("child_process"));
28
28
  const path = __importStar(require("path"));
29
29
  const ripgrep_1 = require("@vscode/ripgrep");
30
30
  const operations_1 = require("./operations");
31
- class GDPREvent {
32
- eventName;
33
- properties;
34
- constructor(name) {
35
- this.eventName = name;
36
- this.properties = [];
37
- }
38
- }
31
+ const events_1 = require("./events");
39
32
  class NodeVisitor {
40
33
  pl_node;
41
34
  prop_name;
@@ -68,12 +61,13 @@ class NodeVisitor {
68
61
  // If we don't want endpoints skip them
69
62
  if (currentNode.getEscapedName().toLowerCase() === "endpoint" && !this.applyEndpoints)
70
63
  return;
64
+ const nodeName = currentNode.getEscapedName();
71
65
  // If it's a string we strip the quotes
72
66
  if (type.isStringLiteral()) {
73
- this.resolved_property[currentNode.getEscapedName()] = type.getText().substring(1, type.getText().length - 1);
67
+ this.resolved_property[nodeName] = type.getText().substring(1, type.getText().length - 1);
74
68
  }
75
69
  else {
76
- this.resolved_property[currentNode.getEscapedName()] = type.getText() === 'true';
70
+ this.resolved_property[nodeName] = type.getText() === 'true';
77
71
  }
78
72
  return;
79
73
  }
@@ -95,7 +89,25 @@ class NodeVisitor {
95
89
  this.properties.push(resolved);
96
90
  this.prop_name = this.original_prop_name;
97
91
  }
92
+ visitMetadataNode(currentNode) {
93
+ let type = currentNode.getTypeAtLocation(this.pl_node);
94
+ // If we mark a property as optional then it is nullable, however we want all properties
95
+ // So we want its non nullable type tl;dr this chops off the | undefined
96
+ if (type.isNullable()) {
97
+ type = type.getNonNullableType();
98
+ }
99
+ if (type.isStringLiteral()) {
100
+ const nodeName = currentNode.getEscapedName();
101
+ this.resolved_property[nodeName] = type.getText().substring(1, type.getText().length - 1);
102
+ if (nodeName === 'owner' || nodeName === 'comment' || nodeName === 'expiration') {
103
+ this.properties.push(new events_1.Metadata(nodeName, this.resolved_property[nodeName]).simpleObject());
104
+ }
105
+ }
106
+ }
98
107
  resolveProperties(currentNode) {
108
+ // It could be a complex node with nested types or a simple node with a string literal
109
+ // representing some kind of metadata, so we try both visitors.
110
+ this.visitMetadataNode(currentNode);
99
111
  this.visitNode(currentNode);
100
112
  return this.properties;
101
113
  }
@@ -178,7 +190,7 @@ class TsParser {
178
190
  event_name = event_name.substring(1, event_name.length - 1);
179
191
  }
180
192
  event_name = this.lowerCaseEvents ? event_name.toLowerCase() : event_name;
181
- const created_event = new GDPREvent(event_name);
193
+ const created_event = new events_1.Event(event_name);
182
194
  // We want the second one because public log is in the form <Event, Classification> and we care about the classification
183
195
  const type_properties = typeArgs[1].getType().getProperties();
184
196
  type_properties.forEach((prop) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ts-parser.js","sourceRoot":"","sources":["../../src/lib/ts-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts-parser.js","sourceRoot":"","sources":["../../src/lib/ts-parser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vscode/telemetry-extractor",
3
- "version": "1.9.6",
3
+ "version": "1.9.7",
4
4
  "description": "Extracts telemetry from VS Code",
5
5
  "main": "out/index.js",
6
6
  "typings": "vscode-telemetry-extractor.d.ts",
@@ -23,7 +23,7 @@
23
23
  "license": "MIT",
24
24
  "dependencies": {
25
25
  "command-line-args": "^5.2.1",
26
- "ts-morph": "^13.0.3",
26
+ "ts-morph": "^14.0.0",
27
27
  "@vscode/ripgrep": "^1.14.2"
28
28
  },
29
29
  "devDependencies": {
package/src/lib/events.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
- import { IProperty, IInclude, ITelemetryDataPoint, ITelemetryData, IInline, IWildcard, IWildcardEntry } from './telemetry-interfaces';
3
+ import { IInclude, ITelemetryDataPoint, ITelemetryData, IInline, IWildcard, IWildcardEntry, IMetadata } from './telemetry-interfaces';
4
4
  import { Property } from './common-properties';
5
5
 
6
6
 
@@ -14,7 +14,7 @@ export class Events implements ITelemetryData {
14
14
  export class Event implements ITelemetryDataPoint {
15
15
  public name: string;
16
16
  // It gets a little more complicated here as events can have a bunch of different things
17
- public properties: Array<Property | Include | Inline | Wildcard>;
17
+ public properties: Array<Property | Metadata | Include | Inline | Wildcard>;
18
18
  constructor (name: string) {
19
19
  this.name = name;
20
20
  this.properties = [];
@@ -53,4 +53,19 @@ export class WildcardEntry implements IWildcardEntry {
53
53
  this.classification = classification;
54
54
  this.endpoint = endPoint;
55
55
  }
56
+ }
57
+
58
+ export class Metadata implements IMetadata {
59
+ public name: 'owner' | 'comment' | 'expiration';
60
+ public value: string;
61
+ constructor (name: 'owner' | 'comment' | 'expiration', value: string) {
62
+ this.name = name;
63
+ this.value = value;
64
+ }
65
+
66
+ simpleObject(): {[key: string]: string} {
67
+ const simple = Object.create(null);
68
+ simple[this.name] = this.value;
69
+ return simple;
70
+ }
56
71
  }
@@ -2,7 +2,7 @@
2
2
  // Licensed under the MIT license.
3
3
  import { ITelemetryData, ITelemetryDataPoint, IProperty, IWildcard } from './telemetry-interfaces';
4
4
  import { Property } from './common-properties';
5
- import { Include, Inline } from './events';
5
+ import { Include, Inline, Metadata } from './events';
6
6
 
7
7
 
8
8
  // Fragments are retrieved as an object of objects of objects. So this just makes it easier to see the structure.
@@ -15,7 +15,7 @@ export class Fragments implements ITelemetryData{
15
15
 
16
16
  export class Fragment implements ITelemetryDataPoint {
17
17
  public name: string;
18
- public properties: Array<Property | Include | Inline | IWildcard>;
18
+ public properties: Array<Property | Metadata | Include | Inline | IWildcard>;
19
19
  constructor (name: string) {
20
20
  this.name = name;
21
21
  this.properties = [];
@@ -2,7 +2,7 @@
2
2
  // Licensed under the MIT license.
3
3
  import { OutputtedDeclarations } from "./declarations";
4
4
  import { Property } from "./common-properties";
5
- import { Wildcard } from "./events";
5
+ import { Metadata, Wildcard } from "./events";
6
6
  import * as keywords from './keywords';
7
7
 
8
8
  // Converts the declarations array to an object format for easy readability.
@@ -17,7 +17,7 @@ export async function transformOutput(output: OutputtedDeclarations): Promise<Ou
17
17
  for (const event of oldEvents) {
18
18
  newEvents[event.name] = Object.create(null);
19
19
  //We know there won't be anymore includes or inlines because we have resolved them
20
- for (const property of event.properties as Array<Property | Wildcard>) {
20
+ for (const property of event.properties as Array<Property | Wildcard | Metadata>) {
21
21
  if (property instanceof Wildcard) {
22
22
  newEvents[event.name][keywords.wildcard] = newEvents[event.name][keywords.wildcard] ? newEvents[event.name][keywords.wildcard] : [];
23
23
  for (const entry of property.entries) {
@@ -34,7 +34,7 @@ export async function transformOutput(output: OutputtedDeclarations): Promise<Ou
34
34
  }
35
35
  newEvents[event.name][keywords.wildcard].push(newEntry);
36
36
  }
37
- } else {
37
+ } else if (property instanceof Property) {
38
38
  // Handles the case where the comments can be inconsistent
39
39
  // We want to ensure that if isMeasurement is ever flagged it gets propogated
40
40
  if (newEvents[event.name][propetyNameChanger(property.name)]) {
@@ -57,6 +57,9 @@ export async function transformOutput(output: OutputtedDeclarations): Promise<Ou
57
57
  if (property.isMeasurement) {
58
58
  newEvents[event.name][propetyNameChanger(property.name)]['isMeasurement'] = property.isMeasurement;
59
59
  }
60
+ } else {
61
+ // Comments, expiration, and owner metadata are handled here
62
+ newEvents[event.name][propetyNameChanger(property.name)] = property.value;
60
63
  }
61
64
  }
62
65
  }
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
  import { Fragments, Fragment } from "./fragments";
4
- import { Events, Event, Include, Inline, Wildcard, WildcardEntry } from "./events";
4
+ import { Events, Event, Include, Inline, Wildcard, WildcardEntry, Metadata } from "./events";
5
5
  import { Property } from "./common-properties";
6
6
  import * as keywords from './keywords';
7
7
 
@@ -64,6 +64,9 @@ export function populateProperties(properties: any, target: Event | Fragment, ap
64
64
  target.properties.push(new Inline(propertyName, currentProperty[keywords.inline]));
65
65
  } else if (propertyName === keywords.wildcard) {
66
66
  mergeWildcards(currentProperty, target, applyEndpoints);
67
+ } else if (propertyName === 'owner' || propertyName === 'comment' || propertyName === 'expiration') {
68
+ // This is the special case when the property name matches one of our metadata properties
69
+ target.properties.push(new Metadata(propertyName, currentProperty));
67
70
  } else {
68
71
  const prop = new Property(propertyName, currentProperty.classification, currentProperty.purpose, currentProperty.expiration, currentProperty.owner, currentProperty.comment);
69
72
  if (applyEndpoints) {
@@ -65,6 +65,11 @@ export async function extractAndResolveDeclarations(sourceSpecs: Array<SourceSpe
65
65
  }
66
66
  const formattedDeclarations: any = await transformOutput(allDeclarations);
67
67
  for (const dec in allTypeScriptDeclarations) {
68
+ // If there's typescript declarations but we returned a null object
69
+ // We must add the event container to the declarations object
70
+ if (formattedDeclarations.events === undefined) {
71
+ formattedDeclarations.events = Object.create(null);
72
+ }
68
73
  formattedDeclarations.events[dec] = allTypeScriptDeclarations[dec];
69
74
  }
70
75
  return Promise.resolve(formattedDeclarations);
@@ -8,7 +8,12 @@ export interface ITelemetryData{
8
8
 
9
9
  export interface ITelemetryDataPoint {
10
10
  name: string;
11
- properties: Array<IProperty | IInclude | IInline | Wildcard>;
11
+ properties: Array<IProperty | IInclude | IInline | IMetadata | Wildcard>;
12
+ }
13
+
14
+ export interface IMetadata {
15
+ name: 'owner' | 'comment' | 'expiration';
16
+ value: string;
12
17
  }
13
18
 
14
19
  export interface IProperty {
@@ -6,25 +6,8 @@ import * as cp from 'child_process';
6
6
  import * as path from 'path';
7
7
  import { rgPath } from "@vscode/ripgrep";
8
8
  import { makeExclusionsRelativeToSource } from "./operations";
9
-
10
- interface IGDPRProperty {
11
- propName: string;
12
- classification: 'SystemMetaData' | 'CallstackOrException';
13
- purpose: 'PerformanceAndHealth' | 'FeatureInsight';
14
- expiration?: string;
15
- owner?: string;
16
- comment?: string;
17
- endpoint?: string;
18
- isMeasurement?: boolean;
19
- }
20
- class GDPREvent {
21
- public eventName: string;
22
- public properties: Array<IGDPRProperty>;
23
- constructor(name: string) {
24
- this.eventName = name;
25
- this.properties = [];
26
- }
27
- }
9
+ import { Event, Metadata } from './events';
10
+ import { Property } from "./common-properties";
28
11
 
29
12
  class NodeVisitor {
30
13
 
@@ -60,11 +43,12 @@ class NodeVisitor {
60
43
  // If we don't want endpoints skip them
61
44
  if (currentNode.getEscapedName().toLowerCase() === "endpoint" && !this.applyEndpoints) return;
62
45
 
46
+ const nodeName = currentNode.getEscapedName();
63
47
  // If it's a string we strip the quotes
64
48
  if (type.isStringLiteral()) {
65
- this.resolved_property[currentNode.getEscapedName()] = type.getText().substring(1, type.getText().length - 1);
49
+ this.resolved_property[nodeName] = type.getText().substring(1, type.getText().length - 1);
66
50
  } else {
67
- this.resolved_property[currentNode.getEscapedName()] = type.getText() === 'true';
51
+ this.resolved_property[nodeName] = type.getText() === 'true';
68
52
  }
69
53
  return;
70
54
  }
@@ -87,7 +71,26 @@ class NodeVisitor {
87
71
  this.prop_name = this.original_prop_name;
88
72
  }
89
73
 
90
- public resolveProperties(currentNode: Symbol) {
74
+ private visitMetadataNode(currentNode: Symbol) {
75
+ let type = currentNode.getTypeAtLocation(this.pl_node);
76
+ // If we mark a property as optional then it is nullable, however we want all properties
77
+ // So we want its non nullable type tl;dr this chops off the | undefined
78
+ if (type.isNullable()) {
79
+ type = type.getNonNullableType();
80
+ }
81
+ if (type.isStringLiteral()) {
82
+ const nodeName = currentNode.getEscapedName();
83
+ this.resolved_property[nodeName] = type.getText().substring(1, type.getText().length - 1);
84
+ if (nodeName === 'owner' || nodeName === 'comment' || nodeName === 'expiration') {
85
+ this.properties.push(new Metadata(nodeName, this.resolved_property[nodeName]).simpleObject());
86
+ }
87
+ }
88
+ }
89
+
90
+ public resolveProperties(currentNode: Symbol): Array<Property | Metadata> {
91
+ // It could be a complex node with nested types or a simple node with a string literal
92
+ // representing some kind of metadata, so we try both visitors.
93
+ this.visitMetadataNode(currentNode);
91
94
  this.visitNode(currentNode);
92
95
  return this.properties;
93
96
  }
@@ -169,7 +172,7 @@ export class TsParser {
169
172
  event_name = event_name.substring(1, event_name.length - 1);
170
173
  }
171
174
  event_name = this.lowerCaseEvents ? event_name.toLowerCase() : event_name;
172
- const created_event = new GDPREvent(event_name);
175
+ const created_event = new Event(event_name);
173
176
  // We want the second one because public log is in the form <Event, Classification> and we care about the classification
174
177
  const type_properties = typeArgs[1].getType().getProperties();
175
178
  type_properties.forEach((prop) => {