@adonis-agora/telescope 0.5.2 → 0.7.0

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.
Files changed (188) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/configure.d.ts.map +1 -1
  3. package/dist/configure.js +6 -0
  4. package/dist/configure.js.map +1 -1
  5. package/dist/providers/telescope_alerts_provider.d.ts.map +1 -1
  6. package/dist/providers/telescope_alerts_provider.js +1 -1
  7. package/dist/providers/telescope_alerts_provider.js.map +1 -1
  8. package/dist/providers/telescope_cpu_profiling_provider.d.ts +28 -0
  9. package/dist/providers/telescope_cpu_profiling_provider.d.ts.map +1 -0
  10. package/dist/providers/telescope_cpu_profiling_provider.js +45 -0
  11. package/dist/providers/telescope_cpu_profiling_provider.js.map +1 -0
  12. package/dist/providers/telescope_mcp_provider.d.ts.map +1 -1
  13. package/dist/providers/telescope_mcp_provider.js +1 -1
  14. package/dist/providers/telescope_mcp_provider.js.map +1 -1
  15. package/dist/providers/telescope_provider.d.ts.map +1 -1
  16. package/dist/providers/telescope_provider.js +9 -3
  17. package/dist/providers/telescope_provider.js.map +1 -1
  18. package/dist/providers/telescope_ui_provider.d.ts.map +1 -1
  19. package/dist/providers/telescope_ui_provider.js +163 -12
  20. package/dist/providers/telescope_ui_provider.js.map +1 -1
  21. package/dist/providers/telescope_watchers_provider.d.ts +10 -0
  22. package/dist/providers/telescope_watchers_provider.d.ts.map +1 -1
  23. package/dist/providers/telescope_watchers_provider.js +32 -0
  24. package/dist/providers/telescope_watchers_provider.js.map +1 -1
  25. package/dist/src/ai/index.d.ts +1 -1
  26. package/dist/src/ai/index.js +1 -1
  27. package/dist/src/alerts/alert_rule.d.ts +84 -3
  28. package/dist/src/alerts/alert_rule.d.ts.map +1 -1
  29. package/dist/src/alerts/alerter.d.ts +24 -2
  30. package/dist/src/alerts/alerter.d.ts.map +1 -1
  31. package/dist/src/alerts/alerter.js +122 -11
  32. package/dist/src/alerts/alerter.js.map +1 -1
  33. package/dist/src/alerts/define_config.d.ts +9 -1
  34. package/dist/src/alerts/define_config.d.ts.map +1 -1
  35. package/dist/src/alerts/define_config.js +8 -0
  36. package/dist/src/alerts/define_config.js.map +1 -1
  37. package/dist/src/alerts/exception_source.d.ts +16 -7
  38. package/dist/src/alerts/exception_source.d.ts.map +1 -1
  39. package/dist/src/alerts/exception_source.js +29 -17
  40. package/dist/src/alerts/exception_source.js.map +1 -1
  41. package/dist/src/alerts/index.d.ts +2 -2
  42. package/dist/src/alerts/index.d.ts.map +1 -1
  43. package/dist/src/alerts/index.js +1 -1
  44. package/dist/src/alerts/index.js.map +1 -1
  45. package/dist/src/alerts/slack_format.d.ts +8 -0
  46. package/dist/src/alerts/slack_format.d.ts.map +1 -1
  47. package/dist/src/alerts/slack_format.js +128 -3
  48. package/dist/src/alerts/slack_format.js.map +1 -1
  49. package/dist/src/client_errors/ingestor.d.ts.map +1 -1
  50. package/dist/src/client_errors/ingestor.js +20 -1
  51. package/dist/src/client_errors/ingestor.js.map +1 -1
  52. package/dist/src/client_errors/validation.d.ts.map +1 -1
  53. package/dist/src/client_errors/validation.js +7 -2
  54. package/dist/src/client_errors/validation.js.map +1 -1
  55. package/dist/src/define_config.d.ts +51 -0
  56. package/dist/src/define_config.d.ts.map +1 -1
  57. package/dist/src/define_config.js +6 -0
  58. package/dist/src/define_config.js.map +1 -1
  59. package/dist/src/diagnostics_registry.d.ts +15 -0
  60. package/dist/src/diagnostics_registry.d.ts.map +1 -1
  61. package/dist/src/diagnostics_registry.js +19 -0
  62. package/dist/src/diagnostics_registry.js.map +1 -1
  63. package/dist/src/diagnostics_watcher.d.ts +28 -1
  64. package/dist/src/diagnostics_watcher.d.ts.map +1 -1
  65. package/dist/src/diagnostics_watcher.js +17 -2
  66. package/dist/src/diagnostics_watcher.js.map +1 -1
  67. package/dist/src/entry.d.ts +8 -0
  68. package/dist/src/entry.d.ts.map +1 -1
  69. package/dist/src/entry.js +8 -0
  70. package/dist/src/entry.js.map +1 -1
  71. package/dist/src/extension/types.d.ts +35 -2
  72. package/dist/src/extension/types.d.ts.map +1 -1
  73. package/dist/src/extension/types.js.map +1 -1
  74. package/dist/src/index.d.ts +7 -7
  75. package/dist/src/index.d.ts.map +1 -1
  76. package/dist/src/index.js +3 -3
  77. package/dist/src/index.js.map +1 -1
  78. package/dist/src/mcp/index.d.ts +1 -1
  79. package/dist/src/mcp/index.js +1 -1
  80. package/dist/src/mcp/server.d.ts.map +1 -1
  81. package/dist/src/mcp/server.js +7 -2
  82. package/dist/src/mcp/server.js.map +1 -1
  83. package/dist/src/metrics/waterfall.d.ts.map +1 -1
  84. package/dist/src/metrics/waterfall.js +6 -0
  85. package/dist/src/metrics/waterfall.js.map +1 -1
  86. package/dist/src/profiling/aggregate-profile.d.ts +21 -0
  87. package/dist/src/profiling/aggregate-profile.d.ts.map +1 -0
  88. package/dist/src/profiling/aggregate-profile.js +124 -0
  89. package/dist/src/profiling/aggregate-profile.js.map +1 -0
  90. package/dist/src/profiling/cpu-profiler.d.ts +59 -0
  91. package/dist/src/profiling/cpu-profiler.d.ts.map +1 -0
  92. package/dist/src/profiling/cpu-profiler.js +94 -0
  93. package/dist/src/profiling/cpu-profiler.js.map +1 -0
  94. package/dist/src/profiling/define_config.d.ts +38 -0
  95. package/dist/src/profiling/define_config.d.ts.map +1 -0
  96. package/dist/src/profiling/define_config.js +23 -0
  97. package/dist/src/profiling/define_config.js.map +1 -0
  98. package/dist/src/profiling/index.d.ts +11 -0
  99. package/dist/src/profiling/index.d.ts.map +1 -0
  100. package/dist/src/profiling/index.js +7 -0
  101. package/dist/src/profiling/index.js.map +1 -0
  102. package/dist/src/profiling/profiler_service.d.ts +100 -0
  103. package/dist/src/profiling/profiler_service.d.ts.map +1 -0
  104. package/dist/src/profiling/profiler_service.js +162 -0
  105. package/dist/src/profiling/profiler_service.js.map +1 -0
  106. package/dist/src/profiling/types.d.ts +86 -0
  107. package/dist/src/profiling/types.d.ts.map +1 -0
  108. package/dist/src/profiling/types.js +5 -0
  109. package/dist/src/profiling/types.js.map +1 -0
  110. package/dist/src/redaction/redact.d.ts +21 -0
  111. package/dist/src/redaction/redact.d.ts.map +1 -1
  112. package/dist/src/redaction/redact.js +18 -0
  113. package/dist/src/redaction/redact.js.map +1 -1
  114. package/dist/src/redaction/redacting_store.d.ts.map +1 -1
  115. package/dist/src/redaction/redacting_store.js +10 -1
  116. package/dist/src/redaction/redacting_store.js.map +1 -1
  117. package/dist/src/registry.d.ts +36 -1
  118. package/dist/src/registry.d.ts.map +1 -1
  119. package/dist/src/registry.js +24 -1
  120. package/dist/src/registry.js.map +1 -1
  121. package/dist/src/request_watcher.d.ts +68 -0
  122. package/dist/src/request_watcher.d.ts.map +1 -1
  123. package/dist/src/request_watcher.js +101 -0
  124. package/dist/src/request_watcher.js.map +1 -1
  125. package/dist/src/service.d.ts.map +1 -1
  126. package/dist/src/service.js.map +1 -1
  127. package/dist/src/telescope_middleware.d.ts.map +1 -1
  128. package/dist/src/telescope_middleware.js +30 -1
  129. package/dist/src/telescope_middleware.js.map +1 -1
  130. package/dist/src/ui/api.d.ts +41 -1
  131. package/dist/src/ui/api.d.ts.map +1 -1
  132. package/dist/src/ui/api.js +27 -1
  133. package/dist/src/ui/api.js.map +1 -1
  134. package/dist/src/ui/dashboard.html +58 -10
  135. package/dist/src/ui/define_config.d.ts +26 -0
  136. package/dist/src/ui/define_config.d.ts.map +1 -1
  137. package/dist/src/ui/define_config.js +8 -0
  138. package/dist/src/ui/define_config.js.map +1 -1
  139. package/dist/src/ui/diagnosis_api.d.ts +33 -0
  140. package/dist/src/ui/diagnosis_api.d.ts.map +1 -0
  141. package/dist/src/ui/diagnosis_api.js +60 -0
  142. package/dist/src/ui/diagnosis_api.js.map +1 -0
  143. package/dist/src/ui/ext_table.d.ts +50 -0
  144. package/dist/src/ui/ext_table.d.ts.map +1 -0
  145. package/dist/src/ui/ext_table.js +42 -0
  146. package/dist/src/ui/ext_table.js.map +1 -0
  147. package/dist/src/ui/extension_api.d.ts +6 -2
  148. package/dist/src/ui/extension_api.d.ts.map +1 -1
  149. package/dist/src/ui/extension_api.js +7 -2
  150. package/dist/src/ui/extension_api.js.map +1 -1
  151. package/dist/src/ui/index.d.ts +10 -2
  152. package/dist/src/ui/index.d.ts.map +1 -1
  153. package/dist/src/ui/index.js +9 -1
  154. package/dist/src/ui/index.js.map +1 -1
  155. package/dist/src/ui/profiles_api.d.ts +48 -0
  156. package/dist/src/ui/profiles_api.d.ts.map +1 -0
  157. package/dist/src/ui/profiles_api.js +94 -0
  158. package/dist/src/ui/profiles_api.js.map +1 -0
  159. package/dist/src/ui/queue_manager_api.d.ts +46 -0
  160. package/dist/src/ui/queue_manager_api.d.ts.map +1 -0
  161. package/dist/src/ui/queue_manager_api.js +118 -0
  162. package/dist/src/ui/queue_manager_api.js.map +1 -0
  163. package/dist/src/ui/schedules_api.d.ts +43 -0
  164. package/dist/src/ui/schedules_api.d.ts.map +1 -0
  165. package/dist/src/ui/schedules_api.js +46 -0
  166. package/dist/src/ui/schedules_api.js.map +1 -0
  167. package/dist/src/watchers/cron_next_run.d.ts +8 -0
  168. package/dist/src/watchers/cron_next_run.d.ts.map +1 -0
  169. package/dist/src/watchers/cron_next_run.js +67 -0
  170. package/dist/src/watchers/cron_next_run.js.map +1 -0
  171. package/dist/src/watchers/define_config.d.ts +28 -1
  172. package/dist/src/watchers/define_config.d.ts.map +1 -1
  173. package/dist/src/watchers/define_config.js +5 -0
  174. package/dist/src/watchers/define_config.js.map +1 -1
  175. package/dist/src/watchers/index.d.ts +7 -4
  176. package/dist/src/watchers/index.d.ts.map +1 -1
  177. package/dist/src/watchers/index.js +5 -2
  178. package/dist/src/watchers/index.js.map +1 -1
  179. package/dist/src/watchers/queue_manager.d.ts +229 -0
  180. package/dist/src/watchers/queue_manager.d.ts.map +1 -0
  181. package/dist/src/watchers/queue_manager.js +223 -0
  182. package/dist/src/watchers/queue_manager.js.map +1 -0
  183. package/dist/src/watchers/schedule_watcher.d.ts +94 -1
  184. package/dist/src/watchers/schedule_watcher.d.ts.map +1 -1
  185. package/dist/src/watchers/schedule_watcher.js +89 -2
  186. package/dist/src/watchers/schedule_watcher.js.map +1 -1
  187. package/dist/stubs/config/telescope_cpu_profiling.stub +0 -0
  188. package/package.json +29 -14
@@ -27,7 +27,10 @@ export const MCP_TOOLS = [
27
27
  type: 'string',
28
28
  description: 'Entry type: request, query, exception, client_exception, log, event, mail, job, cache, http-client, redis, diagnostic…',
29
29
  },
30
- search: { type: 'string', description: 'Case-insensitive substring over entry content + tags' },
30
+ search: {
31
+ type: 'string',
32
+ description: 'Case-insensitive substring over entry content + tags',
33
+ },
31
34
  tag: { type: 'string', description: 'Exact tag match, e.g. "status:500" or "lib:billing"' },
32
35
  sinceMinutes: { type: 'number', description: 'Only entries from the last N minutes' },
33
36
  limit: { type: 'number', description: 'Max entries (default 20, max 100)' },
@@ -153,7 +156,9 @@ export class TelescopeMcpServer {
153
156
  return id === undefined || id === null ? null : { jsonrpc: '2.0', id, result };
154
157
  }
155
158
  fail(id, code, message) {
156
- return id === undefined || id === null ? null : { jsonrpc: '2.0', id, error: { code, message } };
159
+ return id === undefined || id === null
160
+ ? null
161
+ : { jsonrpc: '2.0', id, error: { code, message } };
157
162
  }
158
163
  async callTool(name, args) {
159
164
  if (name !== undefined && !this.tools.has(name)) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"waterfall.d.ts","sourceRoot":"","sources":["../../../src/metrics/waterfall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,aAAa,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,eAAe,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAkCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,SAAS,GAAG,IAAI,CAwDjE"}
1
+ {"version":3,"file":"waterfall.d.ts","sourceRoot":"","sources":["../../../src/metrics/waterfall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,aAAa,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,eAAe,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAwCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,SAAS,GAAG,IAAI,CAwDjE"}
@@ -20,6 +20,12 @@ function labelFor(entry) {
20
20
  if (entry.type === EntryType.HttpClient && typeof record.url === 'string') {
21
21
  return typeof record.method === 'string' ? `${record.method} ${record.url}` : record.url;
22
22
  }
23
+ // Diagnostics span entries (the generic `diagnostics` watcher) carry the
24
+ // emitting lib + event name, e.g. `agent` + `llm.turn` → "agent:llm.turn",
25
+ // instead of falling back to the bare entry type ("diagnostic").
26
+ if (typeof record.lib === 'string' && typeof record.event === 'string') {
27
+ return `${record.lib}:${record.event}`;
28
+ }
23
29
  if (typeof record.name === 'string')
24
30
  return record.name;
25
31
  return entry.type;
@@ -1 +1 @@
1
- {"version":3,"file":"waterfall.js","sourceRoot":"","sources":["../../../src/metrics/waterfall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"waterfall.js","sourceRoot":"","sources":["../../../src/metrics/waterfall.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { FlameNode, HotFrame, V8CpuProfile } from './types.js';
2
+ interface Aggregated {
3
+ tree: FlameNode;
4
+ durationMs: number;
5
+ sampleCount: number;
6
+ hot: HotFrame[];
7
+ }
8
+ /**
9
+ * Aggregates a raw V8 CPU profile into a flamegraph frame tree with self/total
10
+ * time in milliseconds. Pure and deterministic — no inspector dependency, so it
11
+ * is trivially unit-testable and runs OUTSIDE any hot path (only when a capture
12
+ * actually completes).
13
+ *
14
+ * Method: each sample's `timeDelta` (microseconds) is charged to the SELF time
15
+ * of the node it landed on. Total time is then the sum of a node's self time and
16
+ * its descendants', computed by a single post-order walk. The flame tree mirrors
17
+ * V8's `children` call-graph so callers nest exactly as they did at runtime.
18
+ */
19
+ export declare function aggregateCpuProfile(profile: V8CpuProfile): Aggregated;
20
+ export {};
21
+ //# sourceMappingURL=aggregate-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate-profile.d.ts","sourceRoot":"","sources":["../../../src/profiling/aggregate-profile.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAiB,MAAM,YAAY,CAAC;AAQnF,UAAU,UAAU;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,QAAQ,EAAE,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,UAAU,CA2FrE"}
@@ -0,0 +1,124 @@
1
+ /** How many hottest-by-self frames to precompute for the dashboard. */
2
+ const HOT_FRAME_LIMIT = 12;
3
+ /** The synthetic root name V8 uses; we keep/normalize to it. */
4
+ const ROOT_NAME = '(root)';
5
+ /**
6
+ * Aggregates a raw V8 CPU profile into a flamegraph frame tree with self/total
7
+ * time in milliseconds. Pure and deterministic — no inspector dependency, so it
8
+ * is trivially unit-testable and runs OUTSIDE any hot path (only when a capture
9
+ * actually completes).
10
+ *
11
+ * Method: each sample's `timeDelta` (microseconds) is charged to the SELF time
12
+ * of the node it landed on. Total time is then the sum of a node's self time and
13
+ * its descendants', computed by a single post-order walk. The flame tree mirrors
14
+ * V8's `children` call-graph so callers nest exactly as they did at runtime.
15
+ */
16
+ export function aggregateCpuProfile(profile) {
17
+ const byId = new Map();
18
+ for (const node of profile.nodes)
19
+ byId.set(node.id, node);
20
+ // 1. Charge each sample's time delta to its node's self time (microseconds).
21
+ const selfMicros = new Map();
22
+ const selfSamples = new Map();
23
+ const samples = profile.samples ?? [];
24
+ const deltas = profile.timeDeltas ?? [];
25
+ let totalMicros = 0;
26
+ for (let i = 0; i < samples.length; i++) {
27
+ const id = samples[i];
28
+ if (id === undefined)
29
+ continue;
30
+ // V8 emits one delta per sample (the time elapsed before that sample). Fall
31
+ // back to 0 if the arrays are mismatched rather than guessing.
32
+ const delta = deltas[i] ?? 0;
33
+ totalMicros += delta;
34
+ selfMicros.set(id, (selfMicros.get(id) ?? 0) + delta);
35
+ selfSamples.set(id, (selfSamples.get(id) ?? 0) + 1);
36
+ }
37
+ // 2. Find (or synthesize) the root. V8 puts the (root) node first; tolerate
38
+ // its absence by stitching all top-level nodes under a synthetic root.
39
+ const rootNode = profile.nodes.find((n) => n.callFrame.functionName === ROOT_NAME);
40
+ const build = (node) => {
41
+ const childIds = node.children ?? [];
42
+ const children = [];
43
+ for (const childId of childIds) {
44
+ const child = byId.get(childId);
45
+ if (child)
46
+ children.push(build(child));
47
+ }
48
+ const self = (selfMicros.get(node.id) ?? 0) / 1000;
49
+ const selfCount = selfSamples.get(node.id) ?? 0;
50
+ const childTotal = children.reduce((sum, c) => sum + c.totalMs, 0);
51
+ const childSamples = children.reduce((sum, c) => sum + c.totalSamples, 0);
52
+ return {
53
+ name: normalizeName(node.callFrame.functionName),
54
+ file: frameFile(node),
55
+ selfMs: self,
56
+ totalMs: self + childTotal,
57
+ totalSamples: selfCount + childSamples,
58
+ children,
59
+ };
60
+ };
61
+ let tree;
62
+ if (rootNode) {
63
+ tree = build(rootNode);
64
+ }
65
+ else {
66
+ // No explicit root: every node referenced as a child belongs to a parent;
67
+ // top-level nodes are those never referenced. Stitch them under a synthetic root.
68
+ const referenced = new Set();
69
+ for (const node of profile.nodes) {
70
+ for (const childId of node.children ?? [])
71
+ referenced.add(childId);
72
+ }
73
+ const tops = profile.nodes.filter((n) => !referenced.has(n.id)).map(build);
74
+ const childTotal = tops.reduce((sum, c) => sum + c.totalMs, 0);
75
+ tree = {
76
+ name: ROOT_NAME,
77
+ file: '',
78
+ selfMs: 0,
79
+ totalMs: childTotal,
80
+ totalSamples: tops.reduce((sum, c) => sum + c.totalSamples, 0),
81
+ children: tops,
82
+ };
83
+ }
84
+ // 3. Hot frames by self time (flatten, sort desc, take N).
85
+ const totalMs = totalMicros / 1000;
86
+ const flat = [];
87
+ const visit = (node) => {
88
+ if (node.selfMs > 0) {
89
+ flat.push({
90
+ name: node.name,
91
+ file: node.file,
92
+ selfMs: node.selfMs,
93
+ selfPct: totalMs > 0 ? (node.selfMs / totalMs) * 100 : 0,
94
+ });
95
+ }
96
+ for (const child of node.children)
97
+ visit(child);
98
+ };
99
+ visit(tree);
100
+ flat.sort((a, b) => b.selfMs - a.selfMs);
101
+ return {
102
+ tree,
103
+ durationMs: durationFor(profile, totalMicros),
104
+ sampleCount: samples.length,
105
+ hot: flat.slice(0, HOT_FRAME_LIMIT),
106
+ };
107
+ }
108
+ /** Prefer the summed sample deltas; fall back to start/end when samples absent. */
109
+ function durationFor(profile, totalMicros) {
110
+ if (totalMicros > 0)
111
+ return totalMicros / 1000;
112
+ const wall = profile.endTime - profile.startTime;
113
+ return wall > 0 ? wall / 1000 : 0;
114
+ }
115
+ function normalizeName(name) {
116
+ return name === '' ? '(anonymous)' : name;
117
+ }
118
+ function frameFile(node) {
119
+ const { url, lineNumber } = node.callFrame;
120
+ if (url === '')
121
+ return '';
122
+ return lineNumber >= 0 ? `${url}:${lineNumber + 1}` : url;
123
+ }
124
+ //# sourceMappingURL=aggregate-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate-profile.js","sourceRoot":"","sources":["../../../src/profiling/aggregate-profile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { FlameNode, HotFrame } from './types.js';
2
+ /**
3
+ * The slice of `inspector.Session` we depend on. Declared structurally so the
4
+ * profiler can be unit-tested with a fake and — crucially — so the real
5
+ * `node:inspector` module is NEVER imported at module load. It is required
6
+ * lazily by {@link defaultSessionFactory} ONLY when a capture actually starts.
7
+ */
8
+ export interface InspectorSessionLike {
9
+ connect(): void;
10
+ disconnect(): void;
11
+ post(method: string, paramsOrCallback?: unknown | ((err: Error | null, result?: unknown) => void), callback?: (err: Error | null, result?: unknown) => void): void;
12
+ }
13
+ export type SessionFactory = () => InspectorSessionLike;
14
+ export interface CpuProfilerOptions {
15
+ /**
16
+ * V8 sampling interval in microseconds. Lower = finer-grained but more
17
+ * overhead. V8's default is 1000µs (1ms); we keep that default.
18
+ */
19
+ samplingIntervalMicros?: number;
20
+ }
21
+ export interface CpuProfilerResult {
22
+ tree: FlameNode;
23
+ durationMs: number;
24
+ sampleCount: number;
25
+ hot: HotFrame[];
26
+ }
27
+ /**
28
+ * Wraps a V8 CPU profiling session over the inspector protocol. A single
29
+ * profiler instance captures ONE profile at a time (`start` then `stop`).
30
+ *
31
+ * OVERHEAD GUARANTEE: constructing a profiler does no work and creates no
32
+ * session. The inspector session is created (and `node:inspector` is required)
33
+ * only inside `start()`. When profiling is disabled the controller never
34
+ * constructs one, so there is provably zero inspector activity.
35
+ */
36
+ export declare class CpuProfiler {
37
+ private readonly sessionFactory;
38
+ private session;
39
+ private running;
40
+ private readonly intervalMicros;
41
+ constructor(sessionFactory?: SessionFactory, options?: CpuProfilerOptions);
42
+ get isRunning(): boolean;
43
+ /** Begin a CPU profile. No-op if one is already running. */
44
+ start(): Promise<void>;
45
+ /**
46
+ * Stop the profile and aggregate it into a flame tree. Returns `null` when no
47
+ * profile is running. Always disconnects the session, even on error.
48
+ */
49
+ stop(): Promise<CpuProfilerResult | null>;
50
+ private postAsync;
51
+ }
52
+ /**
53
+ * Lazily require `node:inspector` and return a fresh Session. Kept out of the
54
+ * module's import graph so that importing this file (or the whole package) does
55
+ * NOT load the inspector binding — that only happens the first time a capture
56
+ * starts, i.e. only when profiling is enabled AND a request is sampled.
57
+ */
58
+ export declare function defaultSessionFactory(): InspectorSessionLike;
59
+ //# sourceMappingURL=cpu-profiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpu-profiler.d.ts","sourceRoot":"","sources":["../../../src/profiling/cpu-profiler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,IAAI,IAAI,CAAC;IAChB,UAAU,IAAI,IAAI,CAAC;IACnB,IAAI,CACF,MAAM,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,EAC5E,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,GACvD,IAAI,CAAC;CACT;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,QAAQ,EAAE,CAAC;CACjB;AAID;;;;;;;;GAQG;AACH,qBAAa,WAAW;IAMpB,OAAO,CAAC,QAAQ,CAAC,cAAc;IALjC,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGrB,cAAc,GAAE,cAAsC,EACvE,OAAO,GAAE,kBAAuB;IAKlC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,4DAA4D;IACtD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAmB/C,OAAO,CAAC,SAAS;CAclB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,oBAAoB,CAS5D"}
@@ -0,0 +1,94 @@
1
+ // Ported near-verbatim (only the import path changed) from `nestjs-telescope`'s
2
+ // `packages/core/src/profiling/cpu-profiler.ts`. `node:inspector`'s Session API is a Node.js
3
+ // built-in, identical under NestJS or AdonisJS — this file has NO framework glue at all.
4
+ import { createRequire } from 'node:module';
5
+ import { aggregateCpuProfile } from './aggregate-profile.js';
6
+ const DEFAULT_SAMPLING_INTERVAL_MICROS = 1000;
7
+ /**
8
+ * Wraps a V8 CPU profiling session over the inspector protocol. A single
9
+ * profiler instance captures ONE profile at a time (`start` then `stop`).
10
+ *
11
+ * OVERHEAD GUARANTEE: constructing a profiler does no work and creates no
12
+ * session. The inspector session is created (and `node:inspector` is required)
13
+ * only inside `start()`. When profiling is disabled the controller never
14
+ * constructs one, so there is provably zero inspector activity.
15
+ */
16
+ export class CpuProfiler {
17
+ sessionFactory;
18
+ session = null;
19
+ running = false;
20
+ intervalMicros;
21
+ constructor(sessionFactory = defaultSessionFactory, options = {}) {
22
+ this.sessionFactory = sessionFactory;
23
+ this.intervalMicros = options.samplingIntervalMicros ?? DEFAULT_SAMPLING_INTERVAL_MICROS;
24
+ }
25
+ get isRunning() {
26
+ return this.running;
27
+ }
28
+ /** Begin a CPU profile. No-op if one is already running. */
29
+ async start() {
30
+ if (this.running)
31
+ return;
32
+ const session = this.sessionFactory();
33
+ session.connect();
34
+ this.session = session;
35
+ await this.postAsync(session, 'Profiler.enable');
36
+ await this.postAsync(session, 'Profiler.setSamplingInterval', {
37
+ interval: this.intervalMicros,
38
+ });
39
+ await this.postAsync(session, 'Profiler.start');
40
+ this.running = true;
41
+ }
42
+ /**
43
+ * Stop the profile and aggregate it into a flame tree. Returns `null` when no
44
+ * profile is running. Always disconnects the session, even on error.
45
+ */
46
+ async stop() {
47
+ const session = this.session;
48
+ if (!this.running || session === null)
49
+ return null;
50
+ try {
51
+ const result = (await this.postAsync(session, 'Profiler.stop'));
52
+ return aggregateCpuProfile(result.profile);
53
+ }
54
+ finally {
55
+ this.running = false;
56
+ this.session = null;
57
+ try {
58
+ session.disconnect();
59
+ }
60
+ catch {
61
+ // A disconnect failure must never mask the captured profile or throw.
62
+ }
63
+ }
64
+ }
65
+ postAsync(session, method, params) {
66
+ return new Promise((resolve, reject) => {
67
+ const cb = (err, result) => {
68
+ if (err)
69
+ reject(err);
70
+ else
71
+ resolve(result);
72
+ };
73
+ if (params === undefined)
74
+ session.post(method, cb);
75
+ else
76
+ session.post(method, params, cb);
77
+ });
78
+ }
79
+ }
80
+ /**
81
+ * Lazily require `node:inspector` and return a fresh Session. Kept out of the
82
+ * module's import graph so that importing this file (or the whole package) does
83
+ * NOT load the inspector binding — that only happens the first time a capture
84
+ * starts, i.e. only when profiling is enabled AND a request is sampled.
85
+ */
86
+ export function defaultSessionFactory() {
87
+ // `createRequire` performs a SYNCHRONOUS require of the built-in without it
88
+ // appearing in this module's static import graph, so loading the package never
89
+ // pulls in the inspector binding. Built only on first capture.
90
+ const requireFn = createRequire(import.meta.url);
91
+ const inspector = requireFn('node:inspector');
92
+ return new inspector.Session();
93
+ }
94
+ //# sourceMappingURL=cpu-profiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpu-profiler.js","sourceRoot":"","sources":["../../../src/profiling/cpu-profiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * The shape of `config/telescope_cpu_profiling.ts`. Mirrors `nestjs-telescope`'s
3
+ * `profiling-config.ts` (`ResolvedProfilingConfig`) — the knobs are framework-agnostic (they gate a
4
+ * `node:inspector` capture, not anything NestJS/AdonisJS-specific).
5
+ */
6
+ export interface TelescopeCpuProfilingConfig {
7
+ /**
8
+ * Master switch. CPU profiling carries real overhead (a running V8 sampling
9
+ * profiler slows the process it profiles), so it is OFF by default — opt in
10
+ * explicitly. When `false` the middleware hook is a single boolean check and
11
+ * `node:inspector` is never required. Default `false`.
12
+ */
13
+ enabled?: boolean;
14
+ /**
15
+ * Fraction (0–1) of requests to automatically capture. `0` (the default) means
16
+ * captures only happen when armed via `POST <path>/api/profiles/arm`.
17
+ */
18
+ sampleRate?: number;
19
+ /** Maximum concurrent captures. Keeps overhead bounded under load. Default 2. */
20
+ maxConcurrent?: number;
21
+ /** Captures shorter than this are discarded (not worth an entry). Default 5. */
22
+ minDurationMs?: number;
23
+ /** V8 sampling interval in microseconds (lower = finer-grained, more overhead). Default 1000. */
24
+ samplingIntervalMicros?: number;
25
+ }
26
+ /** The fully-resolved config the provider + `ProfilerService` act on (no optionals). */
27
+ export interface ResolvedTelescopeCpuProfilingConfig {
28
+ enabled: boolean;
29
+ sampleRate: number;
30
+ maxConcurrent: number;
31
+ minDurationMs: number;
32
+ samplingIntervalMicros: number;
33
+ }
34
+ /** Identity helper giving `config/telescope_cpu_profiling.ts` full type-checking. */
35
+ export declare function defineConfig(config: TelescopeCpuProfilingConfig): TelescopeCpuProfilingConfig;
36
+ /** Apply defaults to a (possibly partial) config. */
37
+ export declare function resolveConfig(config?: TelescopeCpuProfilingConfig): ResolvedTelescopeCpuProfilingConfig;
38
+ //# sourceMappingURL=define_config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define_config.d.ts","sourceRoot":"","sources":["../../../src/profiling/define_config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iGAAiG;IACjG,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,wFAAwF;AACxF,MAAM,WAAW,mCAAmC;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAMD,qFAAqF;AACrF,wBAAgB,YAAY,CAAC,MAAM,EAAE,2BAA2B,GAAG,2BAA2B,CAE7F;AAED,qDAAqD;AACrD,wBAAgB,aAAa,CAC3B,MAAM,GAAE,2BAAgC,GACvC,mCAAmC,CAWrC"}
@@ -0,0 +1,23 @@
1
+ const DEFAULT_MAX_CONCURRENT = 2;
2
+ const DEFAULT_MIN_DURATION_MS = 5;
3
+ const DEFAULT_SAMPLING_INTERVAL_MICROS = 1000;
4
+ /** Identity helper giving `config/telescope_cpu_profiling.ts` full type-checking. */
5
+ export function defineConfig(config) {
6
+ return config;
7
+ }
8
+ /** Apply defaults to a (possibly partial) config. */
9
+ export function resolveConfig(config = {}) {
10
+ return {
11
+ enabled: config.enabled ?? false,
12
+ sampleRate: clamp01(config.sampleRate ?? 0),
13
+ maxConcurrent: Math.max(1, Math.floor(config.maxConcurrent ?? DEFAULT_MAX_CONCURRENT)),
14
+ minDurationMs: Math.max(0, config.minDurationMs ?? DEFAULT_MIN_DURATION_MS),
15
+ samplingIntervalMicros: Math.max(100, Math.floor(config.samplingIntervalMicros ?? DEFAULT_SAMPLING_INTERVAL_MICROS)),
16
+ };
17
+ }
18
+ function clamp01(value) {
19
+ if (!Number.isFinite(value))
20
+ return 0;
21
+ return Math.min(1, Math.max(0, value));
22
+ }
23
+ //# sourceMappingURL=define_config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../../src/profiling/define_config.ts"],"names":[],"mappings":"AAmCA,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,MAAM,gCAAgC,GAAG,IAAI,CAAC;AAE9C,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,MAAmC;IAC9D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,aAAa,CAC3B,SAAsC,EAAE;IAExC,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK;QAChC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;QAC3C,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,IAAI,sBAAsB,CAAC,CAAC;QACtF,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,IAAI,uBAAuB,CAAC;QAC3E,sBAAsB,EAAE,IAAI,CAAC,GAAG,CAC9B,GAAG,EACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,IAAI,gCAAgC,CAAC,CAC9E;KACF,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /** Keep in sync with this package's `version` in package.json. */
2
+ export declare const VERSION = "0.7.0";
3
+ export { defineConfig, resolveConfig } from './define_config.js';
4
+ export type { ResolvedTelescopeCpuProfilingConfig, TelescopeCpuProfilingConfig, } from './define_config.js';
5
+ export { CPU_PROFILE_ENTRY_TYPE, ProfilerService, } from './profiler_service.js';
6
+ export type { ProfileHandle, ProfilerLike, ProfilerServiceDeps, ProfilerStatus, } from './profiler_service.js';
7
+ export { CpuProfiler, defaultSessionFactory } from './cpu-profiler.js';
8
+ export type { CpuProfilerOptions, CpuProfilerResult, InspectorSessionLike, SessionFactory, } from './cpu-profiler.js';
9
+ export { aggregateCpuProfile } from './aggregate-profile.js';
10
+ export type { CpuProfileContent, FlameNode, HotFrame, V8CpuProfile, V8ProfileNode, } from './types.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/profiling/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EACV,mCAAmC,EACnC,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,sBAAsB,EACtB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACvE,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,YAAY,EACV,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,aAAa,GACd,MAAM,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ /** Keep in sync with this package's `version` in package.json. */
2
+ export const VERSION = '0.7.0';
3
+ export { defineConfig, resolveConfig } from './define_config.js';
4
+ export { CPU_PROFILE_ENTRY_TYPE, ProfilerService, } from './profiler_service.js';
5
+ export { CpuProfiler, defaultSessionFactory } from './cpu-profiler.js';
6
+ export { aggregateCpuProfile } from './aggregate-profile.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/profiling/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMjE,OAAO,EACL,sBAAsB,EACtB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAQvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC"}