traceperf 0.2.1 → 1.3.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 (268) hide show
  1. package/README.md +608 -253
  2. package/dist/__tests__/helpers/console.d.ts +9 -0
  3. package/dist/__tests__/helpers/console.js +25 -0
  4. package/dist/__tests__/helpers/console.js.map +1 -0
  5. package/dist/auto.d.ts +30 -0
  6. package/dist/auto.js +91 -0
  7. package/dist/auto.js.map +1 -0
  8. package/dist/browser.d.ts +52 -144
  9. package/dist/browser.js +112 -439
  10. package/dist/browser.js.map +1 -1
  11. package/dist/cli.d.ts +68 -0
  12. package/dist/cli.js +528 -0
  13. package/dist/cli.js.map +1 -0
  14. package/dist/core/allocations.d.ts +38 -0
  15. package/dist/core/allocations.js +85 -0
  16. package/dist/core/allocations.js.map +1 -0
  17. package/dist/core/cpu-profile.d.ts +84 -0
  18. package/dist/core/cpu-profile.js +181 -0
  19. package/dist/core/cpu-profile.js.map +1 -0
  20. package/dist/core/env.d.ts +10 -0
  21. package/dist/core/env.js +40 -0
  22. package/dist/core/env.js.map +1 -0
  23. package/dist/core/event-loop.d.ts +30 -0
  24. package/dist/core/event-loop.js +43 -0
  25. package/dist/core/event-loop.js.map +1 -0
  26. package/dist/core/explain.d.ts +48 -0
  27. package/dist/core/explain.js +236 -0
  28. package/dist/core/explain.js.map +1 -0
  29. package/dist/core/exporters.d.ts +111 -0
  30. package/dist/core/exporters.js +236 -0
  31. package/dist/core/exporters.js.map +1 -0
  32. package/dist/core/index.d.ts +9 -3
  33. package/dist/core/index.js +9 -3
  34. package/dist/core/index.js.map +1 -1
  35. package/dist/core/optimized-performance-monitor.d.ts +180 -26
  36. package/dist/core/optimized-performance-monitor.js +687 -175
  37. package/dist/core/optimized-performance-monitor.js.map +1 -1
  38. package/dist/core/prometheus.d.ts +36 -0
  39. package/dist/core/prometheus.js +93 -0
  40. package/dist/core/prometheus.js.map +1 -0
  41. package/dist/core/records.d.ts +97 -0
  42. package/dist/core/records.js +87 -0
  43. package/dist/core/records.js.map +1 -0
  44. package/dist/core/stats.d.ts +45 -0
  45. package/dist/core/stats.js +136 -0
  46. package/dist/core/stats.js.map +1 -0
  47. package/dist/core/timeline.d.ts +28 -0
  48. package/dist/core/timeline.js +65 -0
  49. package/dist/core/timeline.js.map +1 -0
  50. package/dist/drivers.d.ts +51 -0
  51. package/dist/drivers.js +205 -0
  52. package/dist/drivers.js.map +1 -0
  53. package/dist/esm/auto.d.ts +30 -0
  54. package/dist/esm/auto.js +87 -0
  55. package/dist/esm/auto.js.map +1 -0
  56. package/dist/esm/browser.d.ts +52 -144
  57. package/dist/esm/browser.js +101 -445
  58. package/dist/esm/browser.js.map +1 -1
  59. package/dist/esm/cli.d.ts +68 -0
  60. package/dist/esm/cli.js +520 -0
  61. package/dist/esm/cli.js.map +1 -0
  62. package/dist/esm/core/allocations.d.ts +38 -0
  63. package/dist/esm/core/allocations.js +82 -0
  64. package/dist/esm/core/allocations.js.map +1 -0
  65. package/dist/esm/core/cpu-profile.d.ts +84 -0
  66. package/dist/esm/core/cpu-profile.js +176 -0
  67. package/dist/esm/core/cpu-profile.js.map +1 -0
  68. package/dist/esm/core/env.d.ts +10 -0
  69. package/dist/esm/core/env.js +35 -0
  70. package/dist/esm/core/env.js.map +1 -0
  71. package/dist/esm/core/event-loop.d.ts +30 -0
  72. package/dist/esm/core/event-loop.js +40 -0
  73. package/dist/esm/core/event-loop.js.map +1 -0
  74. package/dist/esm/core/explain.d.ts +48 -0
  75. package/dist/esm/core/explain.js +232 -0
  76. package/dist/esm/core/explain.js.map +1 -0
  77. package/dist/esm/core/exporters.d.ts +111 -0
  78. package/dist/esm/core/exporters.js +229 -0
  79. package/dist/esm/core/exporters.js.map +1 -0
  80. package/dist/esm/core/index.d.ts +10 -4
  81. package/dist/esm/core/index.js +10 -4
  82. package/dist/esm/core/index.js.map +1 -1
  83. package/dist/esm/core/optimized-performance-monitor.d.ts +180 -26
  84. package/dist/esm/core/optimized-performance-monitor.js +685 -173
  85. package/dist/esm/core/optimized-performance-monitor.js.map +1 -1
  86. package/dist/esm/core/prometheus.d.ts +36 -0
  87. package/dist/esm/core/prometheus.js +89 -0
  88. package/dist/esm/core/prometheus.js.map +1 -0
  89. package/dist/esm/core/records.d.ts +97 -0
  90. package/dist/esm/core/records.js +82 -0
  91. package/dist/esm/core/records.js.map +1 -0
  92. package/dist/esm/core/stats.d.ts +45 -0
  93. package/dist/esm/core/stats.js +131 -0
  94. package/dist/esm/core/stats.js.map +1 -0
  95. package/dist/esm/core/timeline.d.ts +28 -0
  96. package/dist/esm/core/timeline.js +62 -0
  97. package/dist/esm/core/timeline.js.map +1 -0
  98. package/dist/esm/drivers.d.ts +51 -0
  99. package/dist/esm/drivers.js +197 -0
  100. package/dist/esm/drivers.js.map +1 -0
  101. package/dist/esm/index.d.ts +13 -5
  102. package/dist/esm/index.js +21 -17
  103. package/dist/esm/index.js.map +1 -1
  104. package/dist/esm/instrument.d.ts +88 -0
  105. package/dist/esm/instrument.js +274 -0
  106. package/dist/esm/instrument.js.map +1 -0
  107. package/dist/esm/integrations.d.ts +70 -0
  108. package/dist/esm/integrations.js +197 -0
  109. package/dist/esm/integrations.js.map +1 -0
  110. package/dist/esm/node-builtins.d.ts +1 -0
  111. package/dist/esm/node-builtins.js +32 -0
  112. package/dist/esm/node-builtins.js.map +1 -0
  113. package/dist/esm/package.json +3 -0
  114. package/dist/esm/register.d.ts +20 -0
  115. package/dist/esm/register.js +98 -0
  116. package/dist/esm/register.js.map +1 -0
  117. package/dist/esm/report-html.d.ts +11 -0
  118. package/dist/esm/report-html.js +106 -0
  119. package/dist/esm/report-html.js.map +1 -0
  120. package/dist/esm/types/index.d.ts +4 -80
  121. package/dist/esm/types/index.js +1 -2
  122. package/dist/esm/types/index.js.map +1 -1
  123. package/dist/esm/types/options.d.ts +72 -0
  124. package/dist/esm/types/options.js +2 -0
  125. package/dist/esm/types/options.js.map +1 -0
  126. package/dist/esm/watch.d.ts +17 -0
  127. package/dist/esm/watch.js +87 -0
  128. package/dist/esm/watch.js.map +1 -0
  129. package/dist/index.d.ts +10 -2
  130. package/dist/index.js +26 -29
  131. package/dist/index.js.map +1 -1
  132. package/dist/instrument.d.ts +88 -0
  133. package/dist/instrument.js +282 -0
  134. package/dist/instrument.js.map +1 -0
  135. package/dist/integrations.d.ts +70 -0
  136. package/dist/integrations.js +205 -0
  137. package/dist/integrations.js.map +1 -0
  138. package/dist/node-builtins.d.ts +1 -0
  139. package/dist/node-builtins.js +67 -0
  140. package/dist/node-builtins.js.map +1 -0
  141. package/dist/register.d.ts +20 -0
  142. package/dist/register.js +103 -0
  143. package/dist/register.js.map +1 -0
  144. package/dist/report-html.d.ts +11 -0
  145. package/dist/report-html.js +109 -0
  146. package/dist/report-html.js.map +1 -0
  147. package/dist/traceperf.browser.js +1910 -0
  148. package/dist/traceperf.browser.min.js +6 -0
  149. package/dist/types/index.d.ts +4 -80
  150. package/dist/types/index.js +1 -2
  151. package/dist/types/index.js.map +1 -1
  152. package/dist/types/options.d.ts +72 -0
  153. package/dist/types/{config.js → options.js} +1 -1
  154. package/dist/types/options.js.map +1 -0
  155. package/dist/watch.d.ts +17 -0
  156. package/dist/watch.js +90 -0
  157. package/dist/watch.js.map +1 -0
  158. package/package.json +99 -19
  159. package/dist/core/config.d.ts +0 -77
  160. package/dist/core/config.js +0 -116
  161. package/dist/core/config.js.map +0 -1
  162. package/dist/core/constants.d.ts +0 -78
  163. package/dist/core/constants.js +0 -109
  164. package/dist/core/constants.js.map +0 -1
  165. package/dist/core/logger.d.ts +0 -97
  166. package/dist/core/logger.js +0 -186
  167. package/dist/core/logger.js.map +0 -1
  168. package/dist/esm/core/config.d.ts +0 -77
  169. package/dist/esm/core/config.js +0 -112
  170. package/dist/esm/core/config.js.map +0 -1
  171. package/dist/esm/core/constants.d.ts +0 -78
  172. package/dist/esm/core/constants.js +0 -106
  173. package/dist/esm/core/constants.js.map +0 -1
  174. package/dist/esm/core/logger.d.ts +0 -97
  175. package/dist/esm/core/logger.js +0 -182
  176. package/dist/esm/core/logger.js.map +0 -1
  177. package/dist/esm/formatters/ascii.d.ts +0 -52
  178. package/dist/esm/formatters/ascii.js +0 -100
  179. package/dist/esm/formatters/ascii.js.map +0 -1
  180. package/dist/esm/formatters/cli.d.ts +0 -50
  181. package/dist/esm/formatters/cli.js +0 -96
  182. package/dist/esm/formatters/cli.js.map +0 -1
  183. package/dist/esm/formatters/index.d.ts +0 -3
  184. package/dist/esm/formatters/index.js +0 -4
  185. package/dist/esm/formatters/index.js.map +0 -1
  186. package/dist/esm/formatters/json.d.ts +0 -45
  187. package/dist/esm/formatters/json.js +0 -85
  188. package/dist/esm/formatters/json.js.map +0 -1
  189. package/dist/esm/trackers/execution.d.ts +0 -101
  190. package/dist/esm/trackers/execution.js +0 -226
  191. package/dist/esm/trackers/execution.js.map +0 -1
  192. package/dist/esm/trackers/index.d.ts +0 -2
  193. package/dist/esm/trackers/index.js +0 -3
  194. package/dist/esm/trackers/index.js.map +0 -1
  195. package/dist/esm/trackers/performance.d.ts +0 -68
  196. package/dist/esm/trackers/performance.js +0 -112
  197. package/dist/esm/trackers/performance.js.map +0 -1
  198. package/dist/esm/types/config.d.ts +0 -142
  199. package/dist/esm/types/config.js +0 -2
  200. package/dist/esm/types/config.js.map +0 -1
  201. package/dist/esm/types/logger.d.ts +0 -147
  202. package/dist/esm/types/logger.js +0 -2
  203. package/dist/esm/types/logger.js.map +0 -1
  204. package/dist/esm/utils/colors.d.ts +0 -87
  205. package/dist/esm/utils/colors.js +0 -146
  206. package/dist/esm/utils/colors.js.map +0 -1
  207. package/dist/esm/utils/index.d.ts +0 -3
  208. package/dist/esm/utils/index.js +0 -4
  209. package/dist/esm/utils/index.js.map +0 -1
  210. package/dist/esm/utils/proxy-tracker.d.ts +0 -68
  211. package/dist/esm/utils/proxy-tracker.js +0 -127
  212. package/dist/esm/utils/proxy-tracker.js.map +0 -1
  213. package/dist/esm/utils/stack.d.ts +0 -63
  214. package/dist/esm/utils/stack.js +0 -110
  215. package/dist/esm/utils/stack.js.map +0 -1
  216. package/dist/esm/utils/string.d.ts +0 -29
  217. package/dist/esm/utils/string.js +0 -45
  218. package/dist/esm/utils/string.js.map +0 -1
  219. package/dist/esm/utils/timing.d.ts +0 -65
  220. package/dist/esm/utils/timing.js +0 -99
  221. package/dist/esm/utils/timing.js.map +0 -1
  222. package/dist/formatters/ascii.d.ts +0 -52
  223. package/dist/formatters/ascii.js +0 -104
  224. package/dist/formatters/ascii.js.map +0 -1
  225. package/dist/formatters/cli.d.ts +0 -50
  226. package/dist/formatters/cli.js +0 -100
  227. package/dist/formatters/cli.js.map +0 -1
  228. package/dist/formatters/index.d.ts +0 -3
  229. package/dist/formatters/index.js +0 -20
  230. package/dist/formatters/index.js.map +0 -1
  231. package/dist/formatters/json.d.ts +0 -45
  232. package/dist/formatters/json.js +0 -89
  233. package/dist/formatters/json.js.map +0 -1
  234. package/dist/trackers/execution.d.ts +0 -101
  235. package/dist/trackers/execution.js +0 -230
  236. package/dist/trackers/execution.js.map +0 -1
  237. package/dist/trackers/index.d.ts +0 -2
  238. package/dist/trackers/index.js +0 -19
  239. package/dist/trackers/index.js.map +0 -1
  240. package/dist/trackers/performance.d.ts +0 -68
  241. package/dist/trackers/performance.js +0 -116
  242. package/dist/trackers/performance.js.map +0 -1
  243. package/dist/types/config.d.ts +0 -142
  244. package/dist/types/config.js.map +0 -1
  245. package/dist/types/logger.d.ts +0 -147
  246. package/dist/types/logger.js +0 -3
  247. package/dist/types/logger.js.map +0 -1
  248. package/dist/types.d.ts +0 -65
  249. package/dist/types.js +0 -6
  250. package/dist/types.js.map +0 -1
  251. package/dist/utils/colors.d.ts +0 -87
  252. package/dist/utils/colors.js +0 -160
  253. package/dist/utils/colors.js.map +0 -1
  254. package/dist/utils/index.d.ts +0 -3
  255. package/dist/utils/index.js +0 -20
  256. package/dist/utils/index.js.map +0 -1
  257. package/dist/utils/proxy-tracker.d.ts +0 -68
  258. package/dist/utils/proxy-tracker.js +0 -131
  259. package/dist/utils/proxy-tracker.js.map +0 -1
  260. package/dist/utils/stack.d.ts +0 -63
  261. package/dist/utils/stack.js +0 -116
  262. package/dist/utils/stack.js.map +0 -1
  263. package/dist/utils/string.d.ts +0 -29
  264. package/dist/utils/string.js +0 -50
  265. package/dist/utils/string.js.map +0 -1
  266. package/dist/utils/timing.d.ts +0 -65
  267. package/dist/utils/timing.js +0 -106
  268. package/dist/utils/timing.js.map +0 -1
@@ -1,226 +0,0 @@
1
- import { getFunctionName } from '../utils/stack';
2
- import { getHighResTime, getDuration } from '../utils/timing';
3
- /**
4
- * Execution tracker for performance monitoring
5
- */
6
- export class ExecutionTracker {
7
- /**
8
- * Constructor
9
- *
10
- * @param options - Options for execution tracking
11
- */
12
- constructor(options = {}) {
13
- var _a;
14
- this._executions = [];
15
- this._currentExecution = null;
16
- this._callStack = [];
17
- this._trackedFunctions = new Map();
18
- this._defaultThreshold = (_a = options.defaultThreshold) !== null && _a !== void 0 ? _a : 100; // ms
19
- // Get a reference to the global scope (works in both Node.js and browsers)
20
- this._globalScope = typeof window !== 'undefined' ? window :
21
- typeof global !== 'undefined' ? global :
22
- {};
23
- }
24
- /**
25
- * Track the execution of a function
26
- *
27
- * @param fn - The function to track
28
- * @param options - Options for tracking
29
- * @returns The return value of the tracked function
30
- */
31
- track(fn, options) {
32
- var _a, _b, _c;
33
- const fnName = (options === null || options === void 0 ? void 0 : options.label) || getFunctionName(fn);
34
- const threshold = (_a = options === null || options === void 0 ? void 0 : options.threshold) !== null && _a !== void 0 ? _a : this._defaultThreshold;
35
- const includeMemory = (_b = options === null || options === void 0 ? void 0 : options.trackMemory) !== null && _b !== void 0 ? _b : true;
36
- const enableNestedTracking = (_c = options === null || options === void 0 ? void 0 : options.enableNestedTracking) !== null && _c !== void 0 ? _c : true;
37
- // Get memory usage before execution
38
- let startMemory;
39
- if (includeMemory) {
40
- try {
41
- startMemory = process.memoryUsage();
42
- }
43
- catch (e) {
44
- console.warn('Unable to track memory usage:', e);
45
- }
46
- }
47
- // Start timing
48
- const startTime = getHighResTime();
49
- // Add to call stack
50
- const level = this._callStack.push(fnName);
51
- // Create execution record
52
- const execution = {
53
- name: fnName,
54
- duration: 0,
55
- isSlow: false,
56
- level: level - 1, // 0-based level
57
- startTime,
58
- children: [],
59
- };
60
- // Set parent-child relationship
61
- if (this._currentExecution && enableNestedTracking) {
62
- execution.parent = this._currentExecution;
63
- this._currentExecution.children.push(execution);
64
- }
65
- else {
66
- // This is a root execution
67
- this._executions.push(execution);
68
- }
69
- // Save the previous current execution
70
- const previousExecution = this._currentExecution;
71
- // Set this as the current execution
72
- this._currentExecution = execution;
73
- try {
74
- // Execute the function
75
- return fn();
76
- }
77
- finally {
78
- // End timing
79
- const endTime = getHighResTime();
80
- execution.endTime = endTime;
81
- // Calculate duration
82
- execution.duration = getDuration(startTime);
83
- // Check if it's a bottleneck
84
- execution.isSlow = execution.duration > threshold;
85
- // Calculate memory usage
86
- if (includeMemory && startMemory !== undefined) {
87
- try {
88
- const endMemory = process.memoryUsage();
89
- // Calculate the memory difference, ensuring it's never negative
90
- const memoryDiff = endMemory.heapUsed - startMemory.heapUsed;
91
- execution.memoryUsage = Math.max(0, memoryDiff); // Ensure non-negative value
92
- // If memory decreased, store a separate field for better visualization
93
- if (memoryDiff < 0) {
94
- execution.memoryReleased = Math.abs(memoryDiff);
95
- }
96
- }
97
- catch (e) {
98
- console.warn('Error calculating memory usage:', e);
99
- }
100
- }
101
- // Restore the previous current execution
102
- this._currentExecution = previousExecution;
103
- // Remove from call stack
104
- this._callStack.pop();
105
- }
106
- }
107
- /**
108
- * Create a trackable version of a function
109
- *
110
- * This is a helper method to create a tracked version of a function
111
- * that can be used for nested function tracking.
112
- *
113
- * @param fn - The function to make trackable
114
- * @param options - Options for tracking
115
- * @returns A tracked version of the function
116
- */
117
- createTrackable(fn, options) {
118
- const fnName = (options === null || options === void 0 ? void 0 : options.label) || fn.name || 'anonymous';
119
- // Create a tracked version of the function using arrow function to preserve 'this'
120
- const trackedFn = (...args) => {
121
- return this.track(() => fn.apply(this, args), {
122
- ...options,
123
- label: fnName
124
- });
125
- };
126
- // Store the original and tracked function
127
- this._trackedFunctions.set(fn, trackedFn);
128
- return trackedFn;
129
- }
130
- /**
131
- * Get all execution records
132
- *
133
- * @returns A list of execution records
134
- */
135
- getExecutions() {
136
- return [...this._executions];
137
- }
138
- /**
139
- * Generate a human-friendly memory size string
140
- *
141
- * @param bytes - The size in bytes
142
- * @returns A formatted string
143
- */
144
- formatMemorySize(bytes) {
145
- if (bytes < 1024) {
146
- return `${bytes.toFixed(2)}B`;
147
- }
148
- else if (bytes < 1024 * 1024) {
149
- return `${(bytes / 1024).toFixed(2)}KB`;
150
- }
151
- else if (bytes < 1024 * 1024 * 1024) {
152
- return `${(bytes / (1024 * 1024)).toFixed(2)}MB`;
153
- }
154
- else {
155
- return `${(bytes / (1024 * 1024 * 1024)).toFixed(2)}GB`;
156
- }
157
- }
158
- /**
159
- * Get the current call stack
160
- *
161
- * @returns The current call stack
162
- */
163
- getCallStack() {
164
- return [...this._callStack];
165
- }
166
- /**
167
- * Generate a visual representation of the execution flow
168
- *
169
- * @returns ASCII flow chart of the execution
170
- */
171
- generateFlowChart() {
172
- let result = '';
173
- // Process each execution
174
- this._executions.forEach(execution => {
175
- result = this.printExecutionTree(execution, result);
176
- });
177
- return result;
178
- }
179
- /**
180
- * Recursively print an execution tree
181
- *
182
- * @param execution - The root execution
183
- * @param result - The output string
184
- * @returns The updated result string
185
- */
186
- printExecutionTree(execution, result) {
187
- // Print this execution
188
- result = this.printSingleExecution(execution, result);
189
- // Print children recursively
190
- execution.children.forEach(child => {
191
- result = this.printExecutionTree(child, result);
192
- });
193
- return result;
194
- }
195
- /**
196
- * Print a single execution with appropriate formatting
197
- *
198
- * @param execution - The execution to print
199
- * @param result - The result string to append to
200
- * @returns The updated result string
201
- */
202
- printSingleExecution(execution, result) {
203
- const indent = ' '.repeat(execution.level);
204
- const durationStr = execution.duration.toFixed(2);
205
- const slowMarker = execution.isSlow ? ' [SLOW]' : '';
206
- let memoryStr = '';
207
- if (execution.memoryUsage !== undefined) {
208
- memoryStr = ` [${this.formatMemorySize(execution.memoryUsage)}]`;
209
- }
210
- result += `${indent}→ ${execution.name} (${durationStr}ms)${slowMarker}${memoryStr}\n`;
211
- // Add connector if this execution has children
212
- if (execution.children.length > 0) {
213
- result += `${indent} |\n`;
214
- }
215
- return result;
216
- }
217
- /**
218
- * Clear all execution records
219
- */
220
- clear() {
221
- this._executions = [];
222
- this._currentExecution = null;
223
- this._callStack = [];
224
- }
225
- }
226
- //# sourceMappingURL=execution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../src/trackers/execution.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from './execution';
2
- export * from './performance';
@@ -1,3 +0,0 @@
1
- export * from './execution';
2
- export * from './performance';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/trackers/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
@@ -1,68 +0,0 @@
1
- import { IPerformanceMonitor } from '../types';
2
- /**
3
- * Performance monitor for tracking execution times and memory usage
4
- */
5
- export declare class PerformanceMonitor implements IPerformanceMonitor {
6
- private _timers;
7
- private _defaultThreshold;
8
- /**
9
- * Create a new PerformanceMonitor instance
10
- *
11
- * @param options - Monitor options
12
- */
13
- constructor(options?: {
14
- defaultThreshold?: number;
15
- });
16
- /**
17
- * Start timing an operation
18
- *
19
- * @param label - Label for the operation
20
- * @returns A unique identifier for the timing operation
21
- */
22
- startTimer(label: string): string;
23
- /**
24
- * End timing an operation
25
- *
26
- * @param id - The identifier returned by startTimer
27
- * @returns The duration in milliseconds
28
- * @throws Error if the timer doesn't exist
29
- */
30
- endTimer(id: string): number;
31
- /**
32
- * Check if an operation exceeds the performance threshold
33
- *
34
- * @param duration - The duration in milliseconds
35
- * @param threshold - The threshold to check against
36
- * @returns Whether the operation is considered slow
37
- */
38
- isBottleneck(duration: number, threshold?: number): boolean;
39
- /**
40
- * Get memory usage information
41
- *
42
- * @returns Memory usage object
43
- */
44
- getMemoryUsage(): {
45
- heapUsed: number;
46
- heapTotal: number;
47
- external: number;
48
- rss: number;
49
- } | undefined;
50
- /**
51
- * Calculate memory difference between current and start memory
52
- *
53
- * @param start - Starting memory usage snapshot
54
- * @returns Memory difference or undefined
55
- */
56
- getMemoryDiff(start: {
57
- heapUsed: number;
58
- }): number;
59
- /**
60
- * Generate a suggestion for a bottleneck
61
- *
62
- * @param functionName - The name of the function
63
- * @param duration - The duration in milliseconds
64
- * @param memoryUsage - Memory usage in bytes
65
- * @returns A suggestion for improving performance
66
- */
67
- generateSuggestion(functionName: string, duration: number, memoryUsage?: number): string;
68
- }
@@ -1,112 +0,0 @@
1
- import { getHighResTime, getDuration } from '../utils/timing';
2
- import { v4 as uuidv4 } from 'uuid';
3
- /**
4
- * Performance monitor for tracking execution times and memory usage
5
- */
6
- export class PerformanceMonitor {
7
- /**
8
- * Create a new PerformanceMonitor instance
9
- *
10
- * @param options - Monitor options
11
- */
12
- constructor(options = {}) {
13
- var _a;
14
- this._timers = new Map();
15
- this._defaultThreshold = (_a = options.defaultThreshold) !== null && _a !== void 0 ? _a : 100; // ms
16
- }
17
- /**
18
- * Start timing an operation
19
- *
20
- * @param label - Label for the operation
21
- * @returns A unique identifier for the timing operation
22
- */
23
- startTimer(label) {
24
- const id = `${label}-${uuidv4()}`;
25
- this._timers.set(id, getHighResTime());
26
- return id;
27
- }
28
- /**
29
- * End timing an operation
30
- *
31
- * @param id - The identifier returned by startTimer
32
- * @returns The duration in milliseconds
33
- * @throws Error if the timer doesn't exist
34
- */
35
- endTimer(id) {
36
- const startTime = this._timers.get(id);
37
- if (!startTime) {
38
- throw new Error(`Timer with id ${id} not found`);
39
- }
40
- const duration = getDuration(startTime);
41
- this._timers.delete(id);
42
- return duration;
43
- }
44
- /**
45
- * Check if an operation exceeds the performance threshold
46
- *
47
- * @param duration - The duration in milliseconds
48
- * @param threshold - The threshold to check against
49
- * @returns Whether the operation is considered slow
50
- */
51
- isBottleneck(duration, threshold) {
52
- const effectiveThreshold = threshold !== null && threshold !== void 0 ? threshold : this._defaultThreshold;
53
- return duration > effectiveThreshold;
54
- }
55
- /**
56
- * Get memory usage information
57
- *
58
- * @returns Memory usage object
59
- */
60
- getMemoryUsage() {
61
- try {
62
- return process.memoryUsage();
63
- }
64
- catch (e) {
65
- console.warn('Unable to track memory usage:', e);
66
- return undefined;
67
- }
68
- }
69
- /**
70
- * Calculate memory difference between current and start memory
71
- *
72
- * @param start - Starting memory usage snapshot
73
- * @returns Memory difference or undefined
74
- */
75
- getMemoryDiff(start) {
76
- try {
77
- const current = this.getMemoryUsage();
78
- if (!current)
79
- return 0;
80
- const diff = current.heapUsed - start.heapUsed;
81
- // Return zero instead of negative values
82
- // Negative values usually indicate garbage collection, not actual memory release
83
- return Math.max(0, diff);
84
- }
85
- catch (e) {
86
- console.warn('Error calculating memory usage:', e);
87
- return 0;
88
- }
89
- }
90
- /**
91
- * Generate a suggestion for a bottleneck
92
- *
93
- * @param functionName - The name of the function
94
- * @param duration - The duration in milliseconds
95
- * @param memoryUsage - Memory usage in bytes
96
- * @returns A suggestion for improving performance
97
- */
98
- generateSuggestion(functionName, duration, memoryUsage) {
99
- // Simple heuristic-based suggestions
100
- if (memoryUsage && memoryUsage > 10 * 1024 * 1024) {
101
- return `🛠 Potential Fix: Check for memory leaks or large object allocations in ${functionName}`;
102
- }
103
- if (duration > 1000) {
104
- return `🛠 Potential Fix: Consider optimizing or adding caching to ${functionName}`;
105
- }
106
- if (duration > 500) {
107
- return `🛠 Potential Fix: Look for blocking operations in ${functionName}`;
108
- }
109
- return `🛠 Potential Fix: Review ${functionName} for performance optimizations`;
110
- }
111
- }
112
- //# sourceMappingURL=performance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../src/trackers/performance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAI7B;;;;OAIG;IACH,YAAY,UAAyC,EAAE;;QAR/C,YAAO,GAAkC,IAAI,GAAG,EAAE,CAAC;QASzD,IAAI,CAAC,iBAAiB,GAAG,MAAA,OAAO,CAAC,gBAAgB,mCAAI,GAAG,CAAC,CAAC,KAAK;IACjE,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAC,KAAa;QAC7B,MAAM,EAAE,GAAG,GAAG,KAAK,IAAI,MAAM,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QACvC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;;OAMG;IACI,QAAQ,CAAC,EAAU;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAExB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACI,YAAY,CAAC,QAAgB,EAAE,SAAkB;QACtD,MAAM,kBAAkB,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,CAAC,iBAAiB,CAAC;QAC/D,OAAO,QAAQ,GAAG,kBAAkB,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACI,cAAc;QACnB,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;YACjD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,aAAa,CAAC,KAA2B;QAC9C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACtC,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,CAAC;YAEvB,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAE/C,yCAAyC;YACzC,iFAAiF;YACjF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACI,kBAAkB,CACvB,YAAoB,EACpB,QAAgB,EAChB,WAAoB;QAEpB,qCAAqC;QACrC,IAAI,WAAW,IAAI,WAAW,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;YAClD,OAAO,2EAA2E,YAAY,EAAE,CAAC;QACnG,CAAC;QAED,IAAI,QAAQ,GAAG,IAAI,EAAE,CAAC;YACpB,OAAO,8DAA8D,YAAY,EAAE,CAAC;QACtF,CAAC;QAED,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC;YACnB,OAAO,qDAAqD,YAAY,EAAE,CAAC;QAC7E,CAAC;QAED,OAAO,4BAA4B,YAAY,gCAAgC,CAAC;IAClF,CAAC;CACF"}
@@ -1,142 +0,0 @@
1
- /**
2
- * LogLevel - Defines the severity levels for logging
3
- */
4
- export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
5
- /**
6
- * LogMode - Defines the operational modes for the logger
7
- */
8
- export type LogMode = 'dev' | 'staging' | 'prod' | string;
9
- /**
10
- * Transport - Interface for log output destinations
11
- */
12
- export interface ITransport {
13
- /**
14
- * Write a log entry to the destination
15
- *
16
- * @param entry - The formatted log entry to write
17
- */
18
- write(entry: string): void;
19
- }
20
- /**
21
- * Formatter - Interface for log formatters
22
- */
23
- export interface IFormatter {
24
- /**
25
- * Format a log entry
26
- *
27
- * @param level - The log level
28
- * @param message - The log message
29
- * @param args - Additional arguments
30
- * @param meta - Metadata for the log entry
31
- * @returns The formatted log entry
32
- */
33
- format(level: LogLevel, message: string | object, args: any[], meta: LogMeta): string;
34
- }
35
- /**
36
- * LogMeta - Metadata for log entries
37
- */
38
- export interface LogMeta {
39
- timestamp: Date;
40
- level: LogLevel;
41
- indentLevel: number;
42
- [key: string]: any;
43
- }
44
- /**
45
- * TrackOptions - Options for function execution tracking
46
- */
47
- export interface ITrackOptions {
48
- /**
49
- * Custom label for the tracked function
50
- */
51
- label?: string;
52
- /**
53
- * Performance threshold in milliseconds
54
- * Functions exceeding this threshold will be flagged as bottlenecks
55
- */
56
- threshold?: number;
57
- /**
58
- * Whether to track memory usage
59
- */
60
- trackMemory?: boolean;
61
- /**
62
- * Whether to suppress logging for this tracking
63
- */
64
- silent?: boolean;
65
- /**
66
- * Whether to enable nested tracking
67
- *
68
- * When enabled, TracePerf will track nested function calls
69
- * if they are also wrapped with track().
70
- *
71
- * @default true
72
- */
73
- enableNestedTracking?: boolean;
74
- /**
75
- * Tracking mode to use for this function
76
- * Controls the level of detail and performance impact
77
- */
78
- trackingMode?: string;
79
- /**
80
- * Any other custom options
81
- */
82
- [key: string]: any;
83
- }
84
- /**
85
- * Logger configuration
86
- */
87
- export interface ILoggerConfig {
88
- /**
89
- * Operational mode
90
- *
91
- * - dev: All logs are shown
92
- * - staging: Only warn and error logs are shown
93
- * - prod: Only error logs are shown
94
- */
95
- mode: LogMode;
96
- /**
97
- * Minimum log level to show
98
- */
99
- level: LogLevel;
100
- /**
101
- * Whether to colorize logs
102
- */
103
- colorize: boolean;
104
- /**
105
- * Whether to include timestamps in logs
106
- */
107
- timestamp: boolean;
108
- /**
109
- * Performance threshold in milliseconds
110
- *
111
- * Functions that take longer than this threshold will be marked as bottlenecks
112
- */
113
- performanceThreshold: number;
114
- /**
115
- * Indentation size for nested logs
116
- */
117
- indentSize: number;
118
- /**
119
- * Whether to automatically track nested function calls
120
- *
121
- * When enabled, TracePerf will automatically track nested function calls
122
- * using a proxy-based approach.
123
- *
124
- * @default true
125
- */
126
- autoTracking?: boolean;
127
- /**
128
- * Log output destinations
129
- * @default [ConsoleTransport]
130
- */
131
- transports?: ITransport[];
132
- /**
133
- * Log formatters
134
- * @default [CliFormatter]
135
- */
136
- formatters?: IFormatter[];
137
- /**
138
- * Tracking mode to use for performance monitoring
139
- * Controls the level of detail and performance impact
140
- */
141
- trackingMode?: string;
142
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":""}