roku-debug 0.22.5 → 0.22.6
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.
- package/CHANGELOG.md +13 -0
- package/dist/LaunchConfiguration.d.ts +23 -0
- package/dist/PerfettoManager.d.ts +108 -0
- package/dist/PerfettoManager.js +394 -0
- package/dist/PerfettoManager.js.map +1 -0
- package/dist/RendezvousTracker.d.ts +1 -1
- package/dist/RokuECP.d.ts +27 -2
- package/dist/RokuECP.js +33 -0
- package/dist/RokuECP.js.map +1 -1
- package/dist/SceneGraphDebugCommandController.js.map +1 -1
- package/dist/adapters/customVariables/ifDateTime.js +1 -9
- package/dist/adapters/customVariables/ifDateTime.js.map +1 -1
- package/dist/bsc/threading/ThreadMessageHandler.d.ts +2 -2
- package/dist/debugProtocol/PluginInterface.d.ts +1 -1
- package/dist/debugProtocol/client/DebugProtocolClientPlugin.d.ts +2 -2
- package/dist/debugProtocol/events/ProtocolEvent.d.ts +3 -3
- package/dist/debugProtocol/server/DebugProtocolServerPlugin.d.ts +2 -2
- package/dist/debugSession/BrightScriptDebugSession.d.ts +14 -1
- package/dist/debugSession/BrightScriptDebugSession.js +134 -17
- package/dist/debugSession/BrightScriptDebugSession.js.map +1 -1
- package/dist/debugSession/Events.d.ts +53 -2
- package/dist/debugSession/Events.js +57 -1
- package/dist/debugSession/Events.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +4 -4
- package/dist/logging.d.ts +1 -1
- package/dist/managers/BreakpointManager.d.ts +2 -2
- package/dist/util.d.ts +6 -0
- package/dist/util.js +13 -0
- package/dist/util.js.map +1 -1
- package/package.json +6 -3
package/dist/RokuECP.js
CHANGED
|
@@ -13,6 +13,39 @@ class RokuECP {
|
|
|
13
13
|
return util_1.util.httpGet(url, options.requestOptions);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Enables perfetto tracing for the specified channel
|
|
18
|
+
* @param channelID
|
|
19
|
+
* @returns
|
|
20
|
+
*/
|
|
21
|
+
async enablePerfettoTracing(options) {
|
|
22
|
+
const response = await this.doRequest(`/perfetto/enable/${options.channelId}`, options, 'post');
|
|
23
|
+
return this.parseResponse(response, 'perfetto-enable', (parsed, status) => {
|
|
24
|
+
var _a, _b, _c, _d, _e;
|
|
25
|
+
return {
|
|
26
|
+
enabledChannels: (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed['enabled-channels']) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.channel) !== null && _c !== void 0 ? _c : [],
|
|
27
|
+
timestamp: Number((_d = parsed === null || parsed === void 0 ? void 0 : parsed.timestamp) === null || _d === void 0 ? void 0 : _d[0]),
|
|
28
|
+
timestampEnd: Number((_e = parsed === null || parsed === void 0 ? void 0 : parsed['timestamp-end']) === null || _e === void 0 ? void 0 : _e[0]),
|
|
29
|
+
status: status
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* capture a heap snapshot. This doesn't return it, but instead will cause it to be written to the already-connected perfetto websocket.
|
|
35
|
+
* @param channelId
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
async captureHeapSnapshot(options) {
|
|
39
|
+
const response = await this.doRequest(`/perfetto/heapgraph/trigger/${options.channelId}`, options, 'post');
|
|
40
|
+
return this.parseResponse(response, 'perfetto-heapgraph-trigger', (parsed, status) => {
|
|
41
|
+
var _a, _b;
|
|
42
|
+
return {
|
|
43
|
+
timestamp: Number((_a = parsed === null || parsed === void 0 ? void 0 : parsed.timestamp) === null || _a === void 0 ? void 0 : _a[0]),
|
|
44
|
+
timestampEnd: Number((_b = parsed === null || parsed === void 0 ? void 0 : parsed['timestamp-end']) === null || _b === void 0 ? void 0 : _b[0]),
|
|
45
|
+
status: status
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
}
|
|
16
49
|
getEcpStatus(response, rootKey) {
|
|
17
50
|
var _a, _b, _c, _d;
|
|
18
51
|
return (_d = EcpStatus[(_c = (_b = (_a = response === null || response === void 0 ? void 0 : response[rootKey]) === null || _a === void 0 ? void 0 : _a.status) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.toLowerCase()]) !== null && _d !== void 0 ? _d : EcpStatus.failed;
|
package/dist/RokuECP.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RokuECP.js","sourceRoot":"","sources":["../src/RokuECP.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAI9B,MAAa,OAAO;IACR,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,OAAoB,EAAE,SAAyB,KAAK;;QACvF,MAAM,GAAG,GAAG,UAAU,OAAO,CAAC,IAAI,IAAI,MAAA,OAAO,CAAC,UAAU,mCAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;QAC/F,IAAI,MAAM,KAAK,MAAM,EAAE;YACnB,OAAO,WAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;SACrD;aAAM;YACH,OAAO,WAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;SACpD;IACL,CAAC;IAEO,YAAY,CAAC,QAAuB,EAAE,OAAe;;QACzD,OAAO,MAAA,SAAS,CAAC,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,OAAO,CAAC,0CAAE,MAAM,0CAAG,CAAC,CAAC,0CAAE,WAAW,EAAE,CAAC,mCAAI,SAAS,CAAC,MAAM,CAAC;IAC1F,CAAC;IAEO,KAAK,CAAC,aAAa,CAAI,QAAkB,EAAE,OAAe,EAAE,QAA+C;;QAC/G,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;YACnC,IAAI,MAAqB,CAAC;YAC1B,IAAI;gBACA,MAAM,GAAG,MAAM,WAAI,CAAC,QAAQ,CAAgB,QAAQ,CAAC,IAAI,CAAC,CAAC;aAC9D;YAAC,WAAM;gBACJ,wDAAwD;gBACxD,MAAM,IAAI,KAAK,CAAC,MAAA,QAAQ,CAAC,IAAI,mCAAI,eAAe,CAAC,CAAC;aACrD;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAClD,IAAI,MAAM,KAAK,SAAS,CAAC,EAAE,EAAE;gBACzB,OAAO,QAAQ,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;aAC9C;iBAAM;gBACH,MAAM,IAAI,KAAK,CAAC,MAAA,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,OAAO,CAAC,0CAAE,KAAK,0CAAG,CAAC,CAAC,mCAAI,eAAe,CAAC,CAAC;aACrE;SACJ;IACL,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAwC;QAC7D,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,QAAkB;QAC5C,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC,MAAsB,EAAE,MAAM,EAAmB,EAAE;;YACvG,MAAM,QAAQ,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,0CAAG,CAAC,CAAC,CAAC;YACvC,IAAI,QAAQ,GAAgC,EAAE,CAAC;YAE/C,KAAK,MAAM,OAAO,IAAI,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,0CAAG,CAAC,CAAC,0CAAE,OAAO,mCAAI,EAAE,EAAE;gBAC1D,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;oBAC7B,SAAS;iBACZ;gBACD,IAAI,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBACtC,MAAA,QAAQ,CAAC,WAAW,qCAApB,QAAQ,CAAC,WAAW,IAAM,EAAE,EAAC;oBAC7B,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACtD;aACJ;YAED,OAAO;gBACH,KAAK,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,QAAQ,CAAC,0CAAG,CAAC,CAAC;gBAChC,OAAO,EAAE,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,0CAAG,CAAC,CAAC,0CAAE,KAAK,CAAC,GAAG,CAAC;gBAC3C,QAAQ,EAAE,QAAQ;gBAClB,cAAc,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,iBAAiB,CAAC,0CAAG,CAAC,CAAC;gBAClD,MAAM,EAAE,MAAM;aACjB,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAwC;QAC7D,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,QAAkB;QAC5C,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,MAAsB,EAAE,MAAM,EAAmB,EAAE;;YACjG,MAAM,KAAK,GAAG,MAAA,QAAQ,CAAC,MAAA,MAAA,MAAM,CAAC,KAAK,0CAAG,CAAC,CAAC,0CAAE,WAAW,EAAE,CAAC,mCAAI,QAAQ,CAAC,OAAO,CAAC;YAC7E,OAAO;gBACH,KAAK,EAAE,MAAA,MAAM,CAAC,QAAQ,CAAC,0CAAG,CAAC,CAAC;gBAC5B,QAAQ,EAAE,MAAA,MAAM,CAAC,YAAY,CAAC,0CAAG,CAAC,CAAC;gBACnC,QAAQ,EAAE,MAAA,MAAM,CAAC,WAAW,CAAC,0CAAG,CAAC,CAAC;gBAClC,UAAU,EAAE,MAAA,MAAM,CAAC,aAAa,CAAC,0CAAG,CAAC,CAAC;gBACtC,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,MAAM;aACjB,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,OAAwC;QACzD,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,QAAkB;QAC3C,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,MAAqB,EAAE,MAAM,EAAkB,EAAE;YAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"RokuECP.js","sourceRoot":"","sources":["../src/RokuECP.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SceneGraphDebugCommandController.js","sourceRoot":"","sources":["../src/SceneGraphDebugCommandController.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;
|
|
1
|
+
{"version":3,"file":"SceneGraphDebugCommandController.js","sourceRoot":"","sources":["../src/SceneGraphDebugCommandController.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,15 +38,7 @@ function pushIfDateTimeVariables(adapter, expression, container) {
|
|
|
38
38
|
children: []
|
|
39
39
|
});
|
|
40
40
|
(0, utils_1.pushCustomVariableToContainer)(adapter, container, {
|
|
41
|
-
name: '$
|
|
42
|
-
type: VariablesResponse_1.VariableType.String,
|
|
43
|
-
presentationHint: { kind: 'virtual', lazy: true },
|
|
44
|
-
evaluateName: `${expression}.asDateStringLoc("full")`,
|
|
45
|
-
value: '',
|
|
46
|
-
children: []
|
|
47
|
-
});
|
|
48
|
-
(0, utils_1.pushCustomVariableToContainer)(adapter, container, {
|
|
49
|
-
name: '$timeLocalized',
|
|
41
|
+
name: '$time',
|
|
50
42
|
type: VariablesResponse_1.VariableType.String,
|
|
51
43
|
presentationHint: { kind: 'virtual', lazy: true },
|
|
52
44
|
evaluateName: `${expression}.asTimeStringLoc("short")`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifDateTime.js","sourceRoot":"","sources":["../../../src/adapters/customVariables/ifDateTime.ts"],"names":[],"mappings":";;;AAAA,8FAAsF;AAEtF,mCAAwD;AAExD,mFAAmF;AACnF,SAAgB,uBAAuB,CAAC,OAA6B,EAAE,UAAkB,EAAE,SAA4B;IACnH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,gCAAY,CAAC,OAAO;QAC1B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,sBAAsB;QACjD,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,gCAAY,CAAC,OAAO;QAC1B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,cAAc;QACzC,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,gCAAY,CAAC,WAAW;QAC9B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,kBAAkB;QAC7C,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,gCAAY,CAAC,MAAM;QACzB,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,gBAAgB;QAC3C,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"ifDateTime.js","sourceRoot":"","sources":["../../../src/adapters/customVariables/ifDateTime.ts"],"names":[],"mappings":";;;AAAA,8FAAsF;AAEtF,mCAAwD;AAExD,mFAAmF;AACnF,SAAgB,uBAAuB,CAAC,OAA6B,EAAE,UAAkB,EAAE,SAA4B;IACnH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,gCAAY,CAAC,OAAO;QAC1B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,sBAAsB;QACjD,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,gCAAY,CAAC,OAAO;QAC1B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,cAAc;QACzC,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,gCAAY,CAAC,WAAW;QAC9B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,kBAAkB;QAC7C,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,gCAAY,CAAC,MAAM;QACzB,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,gBAAgB;QAC3C,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,gCAAY,CAAC,MAAM;QACzB,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,2BAA2B;QACtD,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,gCAAY,CAAC,MAAM;QACzB,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,wBAAwB;QACnD,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,gCAAY,CAAC,OAAO;QAC1B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,YAAY;QACvC,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,gCAAY,CAAC,OAAO;QAC1B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,aAAa;QACxC,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,gCAAY,CAAC,OAAO;QAC1B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,kBAAkB;QAC7C,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,gCAAY,CAAC,OAAO;QAC1B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,aAAa;QACxC,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,gCAAY,CAAC,OAAO;QAC1B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,eAAe;QAC1C,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,gCAAY,CAAC,OAAO;QAC1B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,eAAe;QAC1C,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,gCAAY,CAAC,OAAO;QAC1B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,oBAAoB;QAC/C,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,gCAAY,CAAC,OAAO;QAC1B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,sBAAsB;QACjD,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,gCAAY,CAAC,OAAO;QAC1B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,iBAAiB;QAC5C,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,gCAAY,CAAC,MAAM;QACzB,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,eAAe;QAC1C,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;AACP,CAAC;AAhJD,0DAgJC"}
|
|
@@ -92,8 +92,8 @@ export interface WorkerUpdate<TData = any> {
|
|
|
92
92
|
name: string;
|
|
93
93
|
data?: TData;
|
|
94
94
|
}
|
|
95
|
-
export
|
|
96
|
-
export
|
|
95
|
+
export type WorkerMessage<T = any> = WorkerRequest<T> | WorkerResponse<T> | WorkerUpdate<T>;
|
|
96
|
+
export type MethodNames<T> = {
|
|
97
97
|
[K in keyof T]: T[K] extends (...args: any[]) => any ? K : never;
|
|
98
98
|
}[keyof T];
|
|
99
99
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type Arguments<T> = [T] extends [(...args: infer U) => any] ? U : [T] extends [void] ? [] : [T];
|
|
2
2
|
export default class PluginInterface<TPlugin> {
|
|
3
3
|
constructor(plugins?: TPlugin[]);
|
|
4
4
|
private plugins;
|
|
@@ -30,7 +30,7 @@ export interface BeforeSendRequestEvent<TRequest extends ProtocolRequest = Proto
|
|
|
30
30
|
client: DebugProtocolClient;
|
|
31
31
|
request: TRequest;
|
|
32
32
|
}
|
|
33
|
-
export
|
|
33
|
+
export type AfterSendRequestEvent<TRequest extends ProtocolRequest = ProtocolRequest> = BeforeSendRequestEvent<TRequest>;
|
|
34
34
|
export interface OnUpdateEvent {
|
|
35
35
|
client: DebugProtocolClient;
|
|
36
36
|
update: ProtocolUpdate;
|
|
@@ -43,4 +43,4 @@ export interface OnResponseEvent {
|
|
|
43
43
|
client: DebugProtocolClient;
|
|
44
44
|
response: ProtocolResponse;
|
|
45
45
|
}
|
|
46
|
-
export
|
|
46
|
+
export type Handler<T, R = void> = (event: T) => R;
|
|
@@ -28,7 +28,7 @@ export interface ProtocolRequestData {
|
|
|
28
28
|
requestId: number;
|
|
29
29
|
command: Command;
|
|
30
30
|
}
|
|
31
|
-
export
|
|
31
|
+
export type ProtocolRequest = ProtocolEvent<ProtocolRequestData>;
|
|
32
32
|
/**
|
|
33
33
|
* The fields that every ProtocolUpdateResponse must have
|
|
34
34
|
*/
|
|
@@ -38,7 +38,7 @@ export interface ProtocolUpdateData {
|
|
|
38
38
|
errorCode: number;
|
|
39
39
|
updateType: UpdateType;
|
|
40
40
|
}
|
|
41
|
-
export
|
|
41
|
+
export type ProtocolUpdate = ProtocolEvent<ProtocolUpdateData>;
|
|
42
42
|
/**
|
|
43
43
|
* The fields that every ProtocolResponse must have
|
|
44
44
|
*/
|
|
@@ -64,4 +64,4 @@ export interface ProtocolResponseErrorData {
|
|
|
64
64
|
*/
|
|
65
65
|
missingKeyIndex?: number;
|
|
66
66
|
}
|
|
67
|
-
export
|
|
67
|
+
export type ProtocolResponse = ProtocolEvent<ProtocolResponseData>;
|
|
@@ -39,5 +39,5 @@ export interface BeforeSendResponseEvent {
|
|
|
39
39
|
server: DebugProtocolServer;
|
|
40
40
|
response: ProtocolResponse;
|
|
41
41
|
}
|
|
42
|
-
export
|
|
43
|
-
export
|
|
42
|
+
export type AfterSendResponseEvent = BeforeSendResponseEvent;
|
|
43
|
+
export type Handler<T, R = void> = (event: T) => R;
|
|
@@ -34,6 +34,7 @@ export declare class BrightScriptDebugSession extends BaseDebugSession {
|
|
|
34
34
|
private evaluateRefIdCounter;
|
|
35
35
|
private variables;
|
|
36
36
|
private rokuAdapter;
|
|
37
|
+
private perfettoManager;
|
|
37
38
|
private rendezvousTracker;
|
|
38
39
|
tempVarPrefix: string;
|
|
39
40
|
/**
|
|
@@ -45,6 +46,10 @@ export declare class BrightScriptDebugSession extends BaseDebugSession {
|
|
|
45
46
|
*/
|
|
46
47
|
private COMPILE_ERROR_THREAD_ID;
|
|
47
48
|
private get enableDebugProtocol();
|
|
49
|
+
/**
|
|
50
|
+
* Check if the Roku firmware supports Perfetto tracing (requires OS 15.2 or higher)
|
|
51
|
+
*/
|
|
52
|
+
private get supportsPerfettoTracing();
|
|
48
53
|
/**
|
|
49
54
|
* Get a promise that resolves when the roku adapter is ready to be used
|
|
50
55
|
*/
|
|
@@ -74,6 +79,14 @@ export declare class BrightScriptDebugSession extends BaseDebugSession {
|
|
|
74
79
|
*/
|
|
75
80
|
private normalizeLaunchConfig;
|
|
76
81
|
launchRequest(response: DebugProtocol.LaunchResponse, config: LaunchConfiguration): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Activate all required functionality for profiling
|
|
84
|
+
*/
|
|
85
|
+
private initializeProfiling;
|
|
86
|
+
/**
|
|
87
|
+
* If profiling was marked "connectOnStart", try connecting right away
|
|
88
|
+
*/
|
|
89
|
+
private tryProfilingConnectOnStart;
|
|
77
90
|
/**
|
|
78
91
|
* Clear certain properties that need reset whenever a debug session is restarted (via vscode or launched from the Roku home screen)
|
|
79
92
|
*/
|
|
@@ -121,7 +134,7 @@ export declare class BrightScriptDebugSession extends BaseDebugSession {
|
|
|
121
134
|
* Accepts custom events and requests from the extension
|
|
122
135
|
* @param command name of the command to execute
|
|
123
136
|
*/
|
|
124
|
-
protected customRequest(command: string, response: DebugProtocol.Response, args: any): void
|
|
137
|
+
protected customRequest(command: string, response: DebugProtocol.Response, args: any): Promise<void>;
|
|
125
138
|
/**
|
|
126
139
|
* Stores the path to the staging folder for each component library
|
|
127
140
|
*/
|
|
@@ -4,6 +4,7 @@ exports.BrightScriptDebugSession = void 0;
|
|
|
4
4
|
const fsExtra = require("fs-extra");
|
|
5
5
|
const natural_orderby_1 = require("natural-orderby");
|
|
6
6
|
const path = require("path");
|
|
7
|
+
const semver = require("semver");
|
|
7
8
|
const roku_deploy_1 = require("roku-deploy");
|
|
8
9
|
const debugadapter_1 = require("@vscode/debugadapter");
|
|
9
10
|
const SceneGraphDebugCommandController_1 = require("../SceneGraphDebugCommandController");
|
|
@@ -19,6 +20,7 @@ const FileManager_1 = require("../managers/FileManager");
|
|
|
19
20
|
const SourceMapManager_1 = require("../managers/SourceMapManager");
|
|
20
21
|
const LocationManager_1 = require("../managers/LocationManager");
|
|
21
22
|
const BreakpointManager_1 = require("../managers/BreakpointManager");
|
|
23
|
+
const PerfettoManager_1 = require("../PerfettoManager");
|
|
22
24
|
const logging_1 = require("../logging");
|
|
23
25
|
const VariablesResponse_1 = require("../debugProtocol/events/responses/VariablesResponse");
|
|
24
26
|
const brighterscript_1 = require("brighterscript");
|
|
@@ -106,6 +108,14 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
106
108
|
get enableDebugProtocol() {
|
|
107
109
|
return this.launchConfiguration.enableDebugProtocol;
|
|
108
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Check if the Roku firmware supports Perfetto tracing (requires OS 15.2 or higher)
|
|
113
|
+
*/
|
|
114
|
+
get supportsPerfettoTracing() {
|
|
115
|
+
var _a, _b;
|
|
116
|
+
this.logger.log('Checking if device supports Perfetto tracing', this.deviceInfo.softwareVersion);
|
|
117
|
+
return semver.satisfies((_b = (_a = this.deviceInfo) === null || _a === void 0 ? void 0 : _a.softwareVersion) !== null && _b !== void 0 ? _b : '0.0', '>= 15.2');
|
|
118
|
+
}
|
|
109
119
|
/**
|
|
110
120
|
* Get a promise that resolves when the roku adapter is ready to be used
|
|
111
121
|
*/
|
|
@@ -121,7 +131,7 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
121
131
|
initializeRequest(response, args) {
|
|
122
132
|
this.initRequestArgs = args;
|
|
123
133
|
this.logger.log('initializeRequest');
|
|
124
|
-
response.body
|
|
134
|
+
response.body || (response.body = {});
|
|
125
135
|
// This debug adapter implements the configurationDoneRequest.
|
|
126
136
|
response.body.supportsConfigurationDoneRequest = true;
|
|
127
137
|
// The debug adapter supports the 'restart' request. In this case a client should not implement 'restart' by terminating and relaunching the adapter but by calling the RestartRequest.
|
|
@@ -258,7 +268,8 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
258
268
|
* @returns
|
|
259
269
|
*/
|
|
260
270
|
normalizeLaunchConfig(config) {
|
|
261
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
271
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
|
|
272
|
+
var _w, _x;
|
|
262
273
|
(_a = config.cwd) !== null && _a !== void 0 ? _a : (config.cwd = process.cwd());
|
|
263
274
|
(_b = config.outDir) !== null && _b !== void 0 ? _b : (config.outDir = (0, FileUtils_1.standardizePath) `${config.cwd}/out`);
|
|
264
275
|
(_c = config.stagingDir) !== null && _c !== void 0 ? _c : (config.stagingDir = (0, FileUtils_1.standardizePath) `${config.outDir}/.roku-deploy-staging`);
|
|
@@ -274,11 +285,16 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
274
285
|
(_o = config.autoResolveVirtualVariables) !== null && _o !== void 0 ? _o : (config.autoResolveVirtualVariables = false);
|
|
275
286
|
(_p = config.enhanceREPLCompletions) !== null && _p !== void 0 ? _p : (config.enhanceREPLCompletions = true);
|
|
276
287
|
(_q = config.username) !== null && _q !== void 0 ? _q : (config.username = 'rokudev');
|
|
288
|
+
if ((_s = (_r = config.profiling) === null || _r === void 0 ? void 0 : _r.tracing) === null || _s === void 0 ? void 0 : _s.enable) {
|
|
289
|
+
(_t = (_w = config.profiling.tracing).dir) !== null && _t !== void 0 ? _t : (_w.dir = (0, FileUtils_1.standardizePath) `${config.cwd}/traces/`);
|
|
290
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
291
|
+
(_u = (_x = config.profiling.tracing).filename) !== null && _u !== void 0 ? _u : (_x.filename = '${appTitle}_${timestamp}.perfetto-trace');
|
|
292
|
+
}
|
|
277
293
|
// migrate the old `enableVariablesPanel` setting to the new `deferScopeLoading` setting
|
|
278
294
|
if (typeof config.enableVariablesPanel !== 'boolean') {
|
|
279
295
|
config.enableVariablesPanel = true;
|
|
280
296
|
}
|
|
281
|
-
(
|
|
297
|
+
(_v = config.deferScopeLoading) !== null && _v !== void 0 ? _v : (config.deferScopeLoading = config.enableVariablesPanel === false);
|
|
282
298
|
return config;
|
|
283
299
|
}
|
|
284
300
|
async launchRequest(response, config) {
|
|
@@ -304,13 +320,20 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
304
320
|
// fetches the device info and parses the xml data to JSON object
|
|
305
321
|
try {
|
|
306
322
|
this.deviceInfo = await roku_deploy_1.rokuDeploy.getDeviceInfo({ host: this.launchConfiguration.host, remotePort: this.launchConfiguration.remotePort, enhance: true, timeout: 4000 });
|
|
323
|
+
if (this.deviceInfo.ecpSettingMode === 'limited') {
|
|
324
|
+
return await this.shutdown(`ECP access is limited on this Roku. Please change it to 'permissive' or 'enabled' and try again. (device: ${this.launchConfiguration.host})`);
|
|
325
|
+
}
|
|
307
326
|
}
|
|
308
327
|
catch (e) {
|
|
328
|
+
if (e instanceof roku_deploy_1.EcpNetworkAccessModeDisabledError) {
|
|
329
|
+
return this.shutdown(`ECP access is disabled on this Roku. Please change it to 'permissive' or 'enabled' and try again. (device: ${this.launchConfiguration.host})`);
|
|
330
|
+
}
|
|
309
331
|
return this.shutdown(`Unable to connect to roku at '${this.launchConfiguration.host}'. Verify the IP address is correct and that the device is powered on and connected to same network as this computer.`);
|
|
310
332
|
}
|
|
311
333
|
if (this.deviceInfo && !this.deviceInfo.developerEnabled) {
|
|
312
334
|
return this.shutdown(`Developer mode is not enabled for host '${this.launchConfiguration.host}'.`);
|
|
313
335
|
}
|
|
336
|
+
await this.initializeProfiling();
|
|
314
337
|
//initialize all file logging (rokuDevice, debugger, etc)
|
|
315
338
|
this.fileLoggingManager.activate((_d = this.launchConfiguration) === null || _d === void 0 ? void 0 : _d.fileLogging, this.cwd);
|
|
316
339
|
this.projectManager.launchConfiguration = this.launchConfiguration;
|
|
@@ -353,12 +376,12 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
353
376
|
//pass along the console output
|
|
354
377
|
if (this.launchConfiguration.consoleOutput === 'full') {
|
|
355
378
|
this.rokuAdapter.on('console-output', (data) => {
|
|
356
|
-
|
|
379
|
+
this.sendLogOutput(data).catch(e => this.logger.error('Failed to send log output', e));
|
|
357
380
|
});
|
|
358
381
|
}
|
|
359
382
|
else {
|
|
360
383
|
this.rokuAdapter.on('unhandled-console-output', (data) => {
|
|
361
|
-
|
|
384
|
+
this.sendLogOutput(data).catch(e => this.logger.error('Failed to send log output', e));
|
|
362
385
|
});
|
|
363
386
|
}
|
|
364
387
|
this.rokuAdapter.on('device-unresponsive', async (data) => {
|
|
@@ -386,7 +409,7 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
386
409
|
});
|
|
387
410
|
// handle any compile errors
|
|
388
411
|
this.rokuAdapter.on('diagnostics', (diagnostics) => {
|
|
389
|
-
|
|
412
|
+
this.handleDiagnostics(diagnostics).catch(e => this.logger.error('Failed to handle diagnostics', e));
|
|
390
413
|
});
|
|
391
414
|
// close disconnect if required when the app is exited
|
|
392
415
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
@@ -403,11 +426,13 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
403
426
|
const message = 'App exit detected; but launchConfiguration.stopDebuggerOnAppExit is set to false, so keeping debug session running.';
|
|
404
427
|
this.logger.log('[launchRequest]', message);
|
|
405
428
|
this.sendEvent(new Events_1.LogOutputEvent(message));
|
|
406
|
-
|
|
429
|
+
this.rokuAdapter.once('connected').then(async () => {
|
|
407
430
|
await this.rokuAdapter.setExceptionBreakpoints(this.exceptionBreakpoints);
|
|
408
|
-
});
|
|
431
|
+
}).catch(e => this.logger.error('Failed to set exception breakpoints after reconnect', e));
|
|
409
432
|
}
|
|
410
433
|
});
|
|
434
|
+
//profiling supports connecting to the socket BEFORE a channel is published, so go ahead and connect now
|
|
435
|
+
await this.tryProfilingConnectOnStart();
|
|
411
436
|
await this.publish();
|
|
412
437
|
//hack for certain roku devices that lock up when this event is emitted (no idea why!).
|
|
413
438
|
if (this.launchConfiguration.emitChannelPublishedEvent) {
|
|
@@ -462,6 +487,64 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
462
487
|
}
|
|
463
488
|
logEnd();
|
|
464
489
|
}
|
|
490
|
+
/**
|
|
491
|
+
* Activate all required functionality for profiling
|
|
492
|
+
*/
|
|
493
|
+
async initializeProfiling() {
|
|
494
|
+
var _a, _b, _c;
|
|
495
|
+
// Initialize PerfettoManager
|
|
496
|
+
this.perfettoManager = new PerfettoManager_1.PerfettoManager({
|
|
497
|
+
host: this.launchConfiguration.host,
|
|
498
|
+
rootDir: this.launchConfiguration.rootDir,
|
|
499
|
+
remotePort: this.launchConfiguration.remotePort,
|
|
500
|
+
...(_a = this.launchConfiguration.profiling) === null || _a === void 0 ? void 0 : _a.tracing
|
|
501
|
+
});
|
|
502
|
+
//send certain profiling events back to the client
|
|
503
|
+
this.perfettoManager.on('enable', (event) => {
|
|
504
|
+
this.sendEvent(new Events_1.ProfilingEnabledEvent({
|
|
505
|
+
types: event.types
|
|
506
|
+
}));
|
|
507
|
+
});
|
|
508
|
+
this.perfettoManager.on('start', (event) => {
|
|
509
|
+
this.sendEvent(new Events_1.ProfilingStartEvent({
|
|
510
|
+
type: event.type
|
|
511
|
+
}));
|
|
512
|
+
});
|
|
513
|
+
this.perfettoManager.on('stop', (event) => {
|
|
514
|
+
this.sendEvent(new Events_1.ProfilingStopEvent({
|
|
515
|
+
type: event.type,
|
|
516
|
+
result: event.result
|
|
517
|
+
}));
|
|
518
|
+
});
|
|
519
|
+
this.perfettoManager.on('error', (event) => {
|
|
520
|
+
this.sendEvent(new Events_1.ProfilingErrorEvent({
|
|
521
|
+
error: event.error
|
|
522
|
+
}));
|
|
523
|
+
});
|
|
524
|
+
//enable profiling on the device right away if tracing is enabled in the launch config (this doesn't actually start the trace, it just enables the ability to start a trace from the UI or automatically based on the config)
|
|
525
|
+
if (((_c = (_b = this.launchConfiguration.profiling) === null || _b === void 0 ? void 0 : _b.tracing) === null || _c === void 0 ? void 0 : _c.enable) && this.supportsPerfettoTracing) {
|
|
526
|
+
try {
|
|
527
|
+
await this.perfettoManager.enableTracing();
|
|
528
|
+
}
|
|
529
|
+
catch (e) {
|
|
530
|
+
this.logger.error('Failed to enable perfetto tracing', e);
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* If profiling was marked "connectOnStart", try connecting right away
|
|
536
|
+
*/
|
|
537
|
+
async tryProfilingConnectOnStart() {
|
|
538
|
+
var _a, _b;
|
|
539
|
+
if (((_b = (_a = this.launchConfiguration.profiling) === null || _a === void 0 ? void 0 : _a.tracing) === null || _b === void 0 ? void 0 : _b.connectOnStart) && this.supportsPerfettoTracing) {
|
|
540
|
+
try {
|
|
541
|
+
await this.perfettoManager.startTracing();
|
|
542
|
+
}
|
|
543
|
+
catch (e) {
|
|
544
|
+
this.logger.error('Failed to start perfetto tracing on start', e);
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
}
|
|
465
548
|
/**
|
|
466
549
|
* Clear certain properties that need reset whenever a debug session is restarted (via vscode or launched from the Roku home screen)
|
|
467
550
|
*/
|
|
@@ -832,7 +915,7 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
832
915
|
* Accepts custom events and requests from the extension
|
|
833
916
|
* @param command name of the command to execute
|
|
834
917
|
*/
|
|
835
|
-
customRequest(command, response, args) {
|
|
918
|
+
async customRequest(command, response, args) {
|
|
836
919
|
if (command === 'rendezvous.clearHistory') {
|
|
837
920
|
this.rokuAdapter.clearRendezvousHistory();
|
|
838
921
|
}
|
|
@@ -845,6 +928,27 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
845
928
|
else if (command === 'popupMessageEventResponse') {
|
|
846
929
|
this.emit('popupMessageEventResponse', args);
|
|
847
930
|
}
|
|
931
|
+
else if (command === 'captureHeapSnapshot') {
|
|
932
|
+
this.perfettoManager.captureHeapSnapshot().catch((e) => this.logger.error('Failed to capture heap snapshot', e));
|
|
933
|
+
}
|
|
934
|
+
else if (command === 'startPerfettoTracing') {
|
|
935
|
+
try {
|
|
936
|
+
await this.perfettoManager.startTracing();
|
|
937
|
+
}
|
|
938
|
+
catch (e) {
|
|
939
|
+
response.success = false;
|
|
940
|
+
response.body = { message: (e === null || e === void 0 ? void 0 : e.message) || String(e) };
|
|
941
|
+
}
|
|
942
|
+
}
|
|
943
|
+
else if (command === 'stopPerfettoTracing') {
|
|
944
|
+
try {
|
|
945
|
+
await this.perfettoManager.stopTracing();
|
|
946
|
+
}
|
|
947
|
+
catch (e) {
|
|
948
|
+
response.success = false;
|
|
949
|
+
response.body = { message: (e === null || e === void 0 ? void 0 : e.message) || String(e) };
|
|
950
|
+
}
|
|
951
|
+
}
|
|
848
952
|
this.sendResponse(response);
|
|
849
953
|
}
|
|
850
954
|
/**
|
|
@@ -1951,7 +2055,7 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
1951
2055
|
});
|
|
1952
2056
|
// If the roku says it can't continue, we are no longer able to debug, so kill the debug session
|
|
1953
2057
|
this.rokuAdapter.on('cannot-continue', () => {
|
|
1954
|
-
|
|
2058
|
+
this.shutdown().catch(e => this.logger.error(e));
|
|
1955
2059
|
});
|
|
1956
2060
|
//make the connection
|
|
1957
2061
|
await this.rokuAdapter.connect();
|
|
@@ -2274,7 +2378,7 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
2274
2378
|
return this.shutdownPromise;
|
|
2275
2379
|
}
|
|
2276
2380
|
async _shutdown(errorMessage, modal = false) {
|
|
2277
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
2381
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
2278
2382
|
//send the message FIRST before anything else. This improves the chances that the message will be displayed to the user
|
|
2279
2383
|
try {
|
|
2280
2384
|
if (errorMessage) {
|
|
@@ -2287,10 +2391,23 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
2287
2391
|
catch (e) {
|
|
2288
2392
|
this.logger.error(e);
|
|
2289
2393
|
}
|
|
2394
|
+
// stop perfetto tracing if it's running
|
|
2395
|
+
try {
|
|
2396
|
+
await this.perfettoManager.stopTracing();
|
|
2397
|
+
}
|
|
2398
|
+
catch (e) {
|
|
2399
|
+
this.logger.error('Error stopping perfetto tracing', e);
|
|
2400
|
+
}
|
|
2401
|
+
try {
|
|
2402
|
+
await ((_b = (_a = this.perfettoManager) === null || _a === void 0 ? void 0 : _a.dispose) === null || _b === void 0 ? void 0 : _b.call(_a));
|
|
2403
|
+
}
|
|
2404
|
+
catch (e) {
|
|
2405
|
+
this.logger.error('Error disposing perfetto manager', e);
|
|
2406
|
+
}
|
|
2290
2407
|
//close the debugger connection
|
|
2291
2408
|
try {
|
|
2292
2409
|
this.logger.log('Destroy rokuAdapter');
|
|
2293
|
-
await ((
|
|
2410
|
+
await ((_d = (_c = this.rokuAdapter) === null || _c === void 0 ? void 0 : _c.destroy) === null || _d === void 0 ? void 0 : _d.call(_c));
|
|
2294
2411
|
//press the home button to return to the home screen
|
|
2295
2412
|
try {
|
|
2296
2413
|
this.logger.log('Press home button');
|
|
@@ -2304,25 +2421,25 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
2304
2421
|
this.logger.error(e);
|
|
2305
2422
|
}
|
|
2306
2423
|
try {
|
|
2307
|
-
(
|
|
2424
|
+
(_f = (_e = this.projectManager) === null || _e === void 0 ? void 0 : _e.dispose) === null || _f === void 0 ? void 0 : _f.call(_e);
|
|
2308
2425
|
}
|
|
2309
2426
|
catch (e) {
|
|
2310
2427
|
this.logger.error(e);
|
|
2311
2428
|
}
|
|
2312
2429
|
try {
|
|
2313
|
-
(
|
|
2430
|
+
(_g = this.componentLibraryServer) === null || _g === void 0 ? void 0 : _g.stop();
|
|
2314
2431
|
}
|
|
2315
2432
|
catch (e) {
|
|
2316
2433
|
this.logger.error(e);
|
|
2317
2434
|
}
|
|
2318
2435
|
try {
|
|
2319
|
-
await ((
|
|
2436
|
+
await ((_j = (_h = this.rendezvousTracker) === null || _h === void 0 ? void 0 : _h.destroy) === null || _j === void 0 ? void 0 : _j.call(_h));
|
|
2320
2437
|
}
|
|
2321
2438
|
catch (e) {
|
|
2322
2439
|
this.logger.error(e);
|
|
2323
2440
|
}
|
|
2324
2441
|
try {
|
|
2325
|
-
await ((
|
|
2442
|
+
await ((_l = (_k = this.sourceMapManager) === null || _k === void 0 ? void 0 : _k.destroy) === null || _l === void 0 ? void 0 : _l.call(_k));
|
|
2326
2443
|
}
|
|
2327
2444
|
catch (e) {
|
|
2328
2445
|
this.logger.error(e);
|
|
@@ -2330,7 +2447,7 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
2330
2447
|
try {
|
|
2331
2448
|
//if configured, delete the staging directory
|
|
2332
2449
|
if (!this.launchConfiguration.retainStagingFolder) {
|
|
2333
|
-
const stagingDirs = (
|
|
2450
|
+
const stagingDirs = (_o = (_m = this.projectManager) === null || _m === void 0 ? void 0 : _m.getStagingDirs()) !== null && _o !== void 0 ? _o : [];
|
|
2334
2451
|
this.logger.info('deleting staging folders', stagingDirs);
|
|
2335
2452
|
for (let stagingDir of stagingDirs) {
|
|
2336
2453
|
try {
|