traceperf 0.1.2 → 0.1.5
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/README.md +119 -113
- package/dist/browser.d.ts +24 -6
- package/dist/browser.js +35 -48
- package/dist/browser.js.map +1 -1
- package/dist/core/logger.d.ts +14 -1
- package/dist/core/logger.js +16 -4
- package/dist/core/logger.js.map +1 -1
- package/dist/esm/browser.d.ts +24 -6
- package/dist/esm/browser.js +35 -48
- package/dist/esm/browser.js.map +1 -1
- package/dist/esm/core/logger.d.ts +14 -1
- package/dist/esm/core/logger.js +16 -4
- package/dist/esm/core/logger.js.map +1 -1
- package/dist/esm/trackers/execution.d.ts +11 -6
- package/dist/esm/trackers/execution.js +22 -49
- package/dist/esm/trackers/execution.js.map +1 -1
- package/dist/esm/types/config.d.ts +35 -17
- package/dist/esm/types/index.d.ts +54 -4
- package/dist/esm/types/logger.d.ts +11 -0
- package/dist/esm/utils/proxy-tracker.d.ts +68 -0
- package/dist/esm/utils/proxy-tracker.js +127 -0
- package/dist/esm/utils/proxy-tracker.js.map +1 -0
- package/dist/trackers/execution.d.ts +11 -6
- package/dist/trackers/execution.js +22 -49
- package/dist/trackers/execution.js.map +1 -1
- package/dist/types/config.d.ts +35 -17
- package/dist/types/index.d.ts +54 -4
- package/dist/types/logger.d.ts +11 -0
- package/dist/utils/proxy-tracker.d.ts +68 -0
- package/dist/utils/proxy-tracker.js +131 -0
- package/dist/utils/proxy-tracker.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -54,43 +54,7 @@ import tracePerf from 'traceperf';
|
|
|
54
54
|
tracePerf.info('This is an info message');
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
## Execution Flow Tracking
|
|
58
57
|
|
|
59
|
-
```javascript
|
|
60
|
-
function fetchData() {
|
|
61
|
-
processData();
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
function processData() {
|
|
65
|
-
calculateResults();
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
function calculateResults() {
|
|
69
|
-
return 'done';
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// Track the execution of the fetchData function
|
|
73
|
-
const result = tracePerf.track(fetchData);
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
Output:
|
|
77
|
-
|
|
78
|
-
```
|
|
79
|
-
Execution Flow:
|
|
80
|
-
┌──────────────────────────────┐
|
|
81
|
-
│ fetchData │ ⏱ 200ms
|
|
82
|
-
└──────────────────────────────┘
|
|
83
|
-
│
|
|
84
|
-
▼
|
|
85
|
-
┌──────────────────────────────┐
|
|
86
|
-
│ processData │ ⏱ 500ms ⚠️ SLOW
|
|
87
|
-
└──────────────────────────────┘
|
|
88
|
-
│
|
|
89
|
-
▼
|
|
90
|
-
┌──────────────────────────────┐
|
|
91
|
-
│ calculateResults │ ⏱ 300ms
|
|
92
|
-
└──────────────────────────────┘
|
|
93
|
-
```
|
|
94
58
|
|
|
95
59
|
## Conditional Logging Modes
|
|
96
60
|
|
|
@@ -183,7 +147,125 @@ function DataComponent() {
|
|
|
183
147
|
}
|
|
184
148
|
```
|
|
185
149
|
|
|
186
|
-
## Advanced
|
|
150
|
+
## Advanced Usage
|
|
151
|
+
|
|
152
|
+
### Tracking Nested Function Calls
|
|
153
|
+
|
|
154
|
+
TracePerf provides two approaches for tracking nested function calls, allowing you to visualize the complete execution flow of your application:
|
|
155
|
+
|
|
156
|
+
1. **Using the `createTrackable` method** (recommended)
|
|
157
|
+
2. **Using nested `track` calls**
|
|
158
|
+
|
|
159
|
+
#### Using createTrackable (Recommended)
|
|
160
|
+
|
|
161
|
+
The `createTrackable` method creates tracked versions of your functions that can be used in place of the original functions:
|
|
162
|
+
|
|
163
|
+
```javascript
|
|
164
|
+
function fetchData() {
|
|
165
|
+
processData();
|
|
166
|
+
calculateResults();
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
function processData() {
|
|
170
|
+
// Some processing logic
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
function calculateResults() {
|
|
174
|
+
// Some calculation logic
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
// Create tracked versions of all functions
|
|
178
|
+
const trackedFetchData = tracePerf.createTrackable(fetchData, { label: 'fetchData' });
|
|
179
|
+
const trackedProcessData = tracePerf.createTrackable(processData, { label: 'processData' });
|
|
180
|
+
const trackedCalculateResults = tracePerf.createTrackable(calculateResults, { label: 'calculateResults' });
|
|
181
|
+
|
|
182
|
+
// Replace the global references to enable tracking
|
|
183
|
+
global.processData = trackedProcessData;
|
|
184
|
+
global.calculateResults = trackedCalculateResults;
|
|
185
|
+
|
|
186
|
+
// Execute the tracked top-level function
|
|
187
|
+
trackedFetchData();
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
This will produce a complete execution flow chart showing all nested function calls:
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
Execution Flow:
|
|
194
|
+
┌──────────────────────────────┐
|
|
195
|
+
│ fetchData │ ⏱ 200ms
|
|
196
|
+
└──────────────────────────────┘
|
|
197
|
+
│
|
|
198
|
+
▼
|
|
199
|
+
┌──────────────────────────────┐
|
|
200
|
+
│ processData │ ⏱ 500ms ⚠️ SLOW
|
|
201
|
+
└──────────────────────────────┘
|
|
202
|
+
│
|
|
203
|
+
▼
|
|
204
|
+
┌──────────────────────────────┐
|
|
205
|
+
│ calculateResults │ ⏱ 300ms
|
|
206
|
+
└──────────────────────────────┘
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
#### Using Nested Track Calls
|
|
210
|
+
|
|
211
|
+
For more complex scenarios, you can use nested `track` calls:
|
|
212
|
+
|
|
213
|
+
```javascript
|
|
214
|
+
tracePerf.track(() => {
|
|
215
|
+
// Top-level function logic
|
|
216
|
+
|
|
217
|
+
tracePerf.track(() => {
|
|
218
|
+
// Nested function logic
|
|
219
|
+
|
|
220
|
+
tracePerf.track(() => {
|
|
221
|
+
// Deeply nested function logic
|
|
222
|
+
}, { label: 'deeplyNestedFunction' });
|
|
223
|
+
|
|
224
|
+
}, { label: 'nestedFunction' });
|
|
225
|
+
|
|
226
|
+
}, { label: 'topLevelFunction' });
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
#### Controlling Nested Tracking
|
|
230
|
+
|
|
231
|
+
You can control nested tracking with the following option:
|
|
232
|
+
|
|
233
|
+
```javascript
|
|
234
|
+
// Disable nested tracking entirely
|
|
235
|
+
tracePerf.track(fetchData, { enableNestedTracking: false });
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
For more examples, see the `examples/nested-tracking.js` and `examples/auto-tracking-example.js` files in the repository.
|
|
239
|
+
|
|
240
|
+
## API Reference for Nested Tracking
|
|
241
|
+
|
|
242
|
+
### createTrackable
|
|
243
|
+
|
|
244
|
+
```javascript
|
|
245
|
+
tracePerf.createTrackable(fn, options)
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
Creates a tracked version of a function that can be used for nested function tracking.
|
|
249
|
+
|
|
250
|
+
- `fn`: The function to make trackable
|
|
251
|
+
- `options`: Options for tracking
|
|
252
|
+
- `label`: Custom label for the function (defaults to function name)
|
|
253
|
+
- `threshold`: Performance threshold in milliseconds
|
|
254
|
+
- `includeMemory`: Whether to include memory usage tracking
|
|
255
|
+
- `enableNestedTracking`: Whether to enable nested tracking (default: true)
|
|
256
|
+
|
|
257
|
+
Returns a new function that, when called, will track the execution of the original function.
|
|
258
|
+
|
|
259
|
+
### Track Options for Nested Tracking
|
|
260
|
+
|
|
261
|
+
When using the `track` method, you can control nested tracking with these options:
|
|
262
|
+
|
|
263
|
+
```javascript
|
|
264
|
+
tracePerf.track(fn, {
|
|
265
|
+
// ... other options
|
|
266
|
+
enableNestedTracking: true, // Enable/disable nested tracking
|
|
267
|
+
});
|
|
268
|
+
```
|
|
187
269
|
|
|
188
270
|
```javascript
|
|
189
271
|
const { createLogger } = require('traceperf');
|
|
@@ -233,79 +315,3 @@ logger.info('Custom logger');
|
|
|
233
315
|
|
|
234
316
|
MIT
|
|
235
317
|
|
|
236
|
-
## Advanced Usage
|
|
237
|
-
|
|
238
|
-
### Tracking Nested Function Calls
|
|
239
|
-
|
|
240
|
-
TracePerf provides several approaches to track nested function calls:
|
|
241
|
-
|
|
242
|
-
#### Approach 1: Manual Tracking (Recommended)
|
|
243
|
-
|
|
244
|
-
The most reliable way to track nested function calls is to manually track each function:
|
|
245
|
-
|
|
246
|
-
```javascript
|
|
247
|
-
function fetchData() {
|
|
248
|
-
// Simulate API call
|
|
249
|
-
const data = { items: [1, 2, 3, 4, 5] };
|
|
250
|
-
|
|
251
|
-
// Process the data with manual tracking
|
|
252
|
-
const processedData = tracePerf.track(() => {
|
|
253
|
-
// Data processing logic
|
|
254
|
-
return data.items.map(item => item * 2);
|
|
255
|
-
}, { label: "processData" });
|
|
256
|
-
|
|
257
|
-
// Calculate results with manual tracking
|
|
258
|
-
const results = tracePerf.track(() => {
|
|
259
|
-
// Calculation logic
|
|
260
|
-
return processedData.reduce((sum, item) => sum + item, 0);
|
|
261
|
-
}, { label: "calculateResults" });
|
|
262
|
-
|
|
263
|
-
return results;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
// Track the main function
|
|
267
|
-
tracePerf.track(fetchData, { label: "fetchData" });
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
This approach gives you the most control and provides accurate timing for each function.
|
|
271
|
-
|
|
272
|
-
#### Approach 2: Wrapper Functions
|
|
273
|
-
|
|
274
|
-
You can create tracked versions of your functions:
|
|
275
|
-
|
|
276
|
-
```javascript
|
|
277
|
-
// Original functions
|
|
278
|
-
function processData(data) {
|
|
279
|
-
return data.items.map(item => item * 2);
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
function calculateResults(processedData) {
|
|
283
|
-
return processedData.reduce((sum, item) => sum + item, 0);
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
// Create tracked versions
|
|
287
|
-
const trackedProcessData = (data) => {
|
|
288
|
-
return tracePerf.track(() => processData(data), { label: "processData" });
|
|
289
|
-
};
|
|
290
|
-
|
|
291
|
-
const trackedCalculateResults = (data) => {
|
|
292
|
-
return tracePerf.track(() => calculateResults(data), { label: "calculateResults" });
|
|
293
|
-
};
|
|
294
|
-
|
|
295
|
-
// Use tracked versions in your main function
|
|
296
|
-
function fetchData() {
|
|
297
|
-
const data = { items: [1, 2, 3, 4, 5] };
|
|
298
|
-
const processedData = trackedProcessData(data);
|
|
299
|
-
const results = trackedCalculateResults(processedData);
|
|
300
|
-
return results;
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
// Track the main function
|
|
304
|
-
tracePerf.track(fetchData, { label: "fetchData" });
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
This approach allows you to keep your original functions clean while still tracking their performance.
|
|
308
|
-
|
|
309
|
-
### Customizing Performance Thresholds
|
|
310
|
-
|
|
311
|
-
// ... existing code ...
|
package/dist/browser.d.ts
CHANGED
|
@@ -33,8 +33,7 @@ declare class BrowserExecutionTracker {
|
|
|
33
33
|
private _executions;
|
|
34
34
|
private _currentExecution;
|
|
35
35
|
private _defaultThreshold;
|
|
36
|
-
private
|
|
37
|
-
private _isInstrumented;
|
|
36
|
+
private _globalScope;
|
|
38
37
|
/**
|
|
39
38
|
* Create a new BrowserExecutionTracker instance
|
|
40
39
|
*
|
|
@@ -60,12 +59,18 @@ declare class BrowserExecutionTracker {
|
|
|
60
59
|
*/
|
|
61
60
|
track<T>(fn: () => T, options?: any): T;
|
|
62
61
|
/**
|
|
63
|
-
*
|
|
62
|
+
* Create a trackable version of a function
|
|
64
63
|
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
64
|
+
* This is a helper method to create a tracked version of a function
|
|
65
|
+
* that can be used for nested function tracking.
|
|
66
|
+
*
|
|
67
|
+
* @param fn - The function to make trackable
|
|
68
|
+
* @param options - Options for tracking
|
|
69
|
+
* @returns A tracked version of the function
|
|
67
70
|
*/
|
|
68
|
-
|
|
71
|
+
createTrackable<T extends (...args: any[]) => any>(fn: T, options?: Omit<ITrackOptions, 'label'> & {
|
|
72
|
+
label?: string;
|
|
73
|
+
}): (...args: Parameters<T>) => ReturnType<T>;
|
|
69
74
|
/**
|
|
70
75
|
* Get the current call stack
|
|
71
76
|
*
|
|
@@ -115,6 +120,19 @@ declare class BrowserLogger {
|
|
|
115
120
|
setMode(mode: LogMode): void;
|
|
116
121
|
getMode(): LogMode;
|
|
117
122
|
track<T>(fn: () => T, options?: ITrackOptions): T;
|
|
123
|
+
/**
|
|
124
|
+
* Create a trackable version of a function
|
|
125
|
+
*
|
|
126
|
+
* This is a helper method to create a tracked version of a function
|
|
127
|
+
* that can be used for nested function tracking.
|
|
128
|
+
*
|
|
129
|
+
* @param fn - The function to make trackable
|
|
130
|
+
* @param options - Options for tracking
|
|
131
|
+
* @returns A tracked version of the function
|
|
132
|
+
*/
|
|
133
|
+
createTrackable<T extends (...args: any[]) => any>(fn: T, options?: Omit<ITrackOptions, 'label'> & {
|
|
134
|
+
label?: string;
|
|
135
|
+
}): (...args: Parameters<T>) => ReturnType<T>;
|
|
118
136
|
private log;
|
|
119
137
|
}
|
|
120
138
|
/**
|
package/dist/browser.js
CHANGED
|
@@ -79,9 +79,11 @@ class BrowserExecutionTracker {
|
|
|
79
79
|
this._callStack = [];
|
|
80
80
|
this._executions = [];
|
|
81
81
|
this._currentExecution = null;
|
|
82
|
-
this._instrumentedFunctions = new Map();
|
|
83
|
-
this._isInstrumented = false;
|
|
84
82
|
this._defaultThreshold = (_a = options.defaultThreshold) !== null && _a !== void 0 ? _a : 100; // ms
|
|
83
|
+
// Get a reference to the global scope (window in browsers)
|
|
84
|
+
this._globalScope = typeof window !== 'undefined' ? window :
|
|
85
|
+
typeof global !== 'undefined' ? global :
|
|
86
|
+
{};
|
|
85
87
|
}
|
|
86
88
|
/**
|
|
87
89
|
* Generate a performance optimization suggestion based on execution duration
|
|
@@ -126,7 +128,7 @@ class BrowserExecutionTracker {
|
|
|
126
128
|
children: [],
|
|
127
129
|
};
|
|
128
130
|
// Set parent-child relationship
|
|
129
|
-
if (this._currentExecution) {
|
|
131
|
+
if (this._currentExecution && enableNestedTracking) {
|
|
130
132
|
execution.parent = this._currentExecution;
|
|
131
133
|
this._currentExecution.children.push(execution);
|
|
132
134
|
}
|
|
@@ -138,21 +140,10 @@ class BrowserExecutionTracker {
|
|
|
138
140
|
const previousExecution = this._currentExecution;
|
|
139
141
|
// Set this as the current execution
|
|
140
142
|
this._currentExecution = execution;
|
|
141
|
-
// Flag to track if we're already instrumenting to avoid recursion
|
|
142
|
-
const wasInstrumented = this._isInstrumented;
|
|
143
143
|
let result;
|
|
144
144
|
try {
|
|
145
|
-
//
|
|
146
|
-
|
|
147
|
-
this._isInstrumented = true;
|
|
148
|
-
// Instrument the function to track nested calls
|
|
149
|
-
const instrumentedFn = this.instrumentFunction(fn);
|
|
150
|
-
result = instrumentedFn();
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
// Execute the function normally
|
|
154
|
-
result = fn();
|
|
155
|
-
}
|
|
145
|
+
// Execute the function
|
|
146
|
+
result = fn();
|
|
156
147
|
}
|
|
157
148
|
catch (error) {
|
|
158
149
|
// End timing
|
|
@@ -164,10 +155,6 @@ class BrowserExecutionTracker {
|
|
|
164
155
|
this._currentExecution = previousExecution;
|
|
165
156
|
// Remove from call stack
|
|
166
157
|
this._callStack.pop();
|
|
167
|
-
// Reset instrumentation flag if this was the top-level call
|
|
168
|
-
if (!wasInstrumented) {
|
|
169
|
-
this._isInstrumented = false;
|
|
170
|
-
}
|
|
171
158
|
// Re-throw the error
|
|
172
159
|
throw error;
|
|
173
160
|
}
|
|
@@ -184,39 +171,27 @@ class BrowserExecutionTracker {
|
|
|
184
171
|
this._currentExecution = previousExecution;
|
|
185
172
|
// Remove from call stack
|
|
186
173
|
this._callStack.pop();
|
|
187
|
-
// Reset instrumentation flag if this was the top-level call
|
|
188
|
-
if (!wasInstrumented) {
|
|
189
|
-
this._isInstrumented = false;
|
|
190
|
-
}
|
|
191
174
|
return result;
|
|
192
175
|
}
|
|
193
176
|
/**
|
|
194
|
-
*
|
|
177
|
+
* Create a trackable version of a function
|
|
178
|
+
*
|
|
179
|
+
* This is a helper method to create a tracked version of a function
|
|
180
|
+
* that can be used for nested function tracking.
|
|
195
181
|
*
|
|
196
|
-
* @param fn - The function to
|
|
197
|
-
* @
|
|
182
|
+
* @param fn - The function to make trackable
|
|
183
|
+
* @param options - Options for tracking
|
|
184
|
+
* @returns A tracked version of the function
|
|
198
185
|
*/
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
try {
|
|
208
|
-
// We can't actually modify the function at runtime to track nested calls,
|
|
209
|
-
// so we'll just execute it and rely on the call stack for visualization
|
|
210
|
-
return fn();
|
|
211
|
-
}
|
|
212
|
-
catch (error) {
|
|
213
|
-
// Re-throw any errors
|
|
214
|
-
throw error;
|
|
215
|
-
}
|
|
186
|
+
createTrackable(fn, options) {
|
|
187
|
+
const self = this;
|
|
188
|
+
const fnName = (options === null || options === void 0 ? void 0 : options.label) || fn.name || 'anonymous';
|
|
189
|
+
return function (...args) {
|
|
190
|
+
return self.track(() => fn.apply(this, args), {
|
|
191
|
+
...options,
|
|
192
|
+
label: fnName
|
|
193
|
+
});
|
|
216
194
|
};
|
|
217
|
-
// Cache the instrumented function
|
|
218
|
-
this._instrumentedFunctions.set(fn, instrumentedFn);
|
|
219
|
-
return instrumentedFn;
|
|
220
195
|
}
|
|
221
196
|
/**
|
|
222
197
|
* Get the current call stack
|
|
@@ -296,7 +271,6 @@ class BrowserExecutionTracker {
|
|
|
296
271
|
this._executions = [];
|
|
297
272
|
this._currentExecution = null;
|
|
298
273
|
this._callStack = [];
|
|
299
|
-
this._instrumentedFunctions.clear();
|
|
300
274
|
}
|
|
301
275
|
}
|
|
302
276
|
exports.BrowserExecutionTracker = BrowserExecutionTracker;
|
|
@@ -363,6 +337,19 @@ class BrowserLogger {
|
|
|
363
337
|
}
|
|
364
338
|
return result;
|
|
365
339
|
}
|
|
340
|
+
/**
|
|
341
|
+
* Create a trackable version of a function
|
|
342
|
+
*
|
|
343
|
+
* This is a helper method to create a tracked version of a function
|
|
344
|
+
* that can be used for nested function tracking.
|
|
345
|
+
*
|
|
346
|
+
* @param fn - The function to make trackable
|
|
347
|
+
* @param options - Options for tracking
|
|
348
|
+
* @returns A tracked version of the function
|
|
349
|
+
*/
|
|
350
|
+
createTrackable(fn, options) {
|
|
351
|
+
return this._executionTracker.createTrackable(fn, options);
|
|
352
|
+
}
|
|
366
353
|
log(level, message, args) {
|
|
367
354
|
// Skip logs based on mode
|
|
368
355
|
if (this._mode === 'prod' && level !== 'error') {
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
package/dist/core/logger.d.ts
CHANGED
|
@@ -66,13 +66,26 @@ export declare class Logger implements ILogger {
|
|
|
66
66
|
*/
|
|
67
67
|
getMode(): LogMode;
|
|
68
68
|
/**
|
|
69
|
-
* Track the execution of a function
|
|
69
|
+
* Track the execution of a function
|
|
70
70
|
*
|
|
71
71
|
* @param fn - The function to track
|
|
72
72
|
* @param options - Options for tracking
|
|
73
73
|
* @returns The return value of the tracked function
|
|
74
74
|
*/
|
|
75
75
|
track<T>(fn: () => T, options?: ITrackOptions): T;
|
|
76
|
+
/**
|
|
77
|
+
* Create a trackable version of a function
|
|
78
|
+
*
|
|
79
|
+
* This is a helper method to create a tracked version of a function
|
|
80
|
+
* that can be used for nested function tracking.
|
|
81
|
+
*
|
|
82
|
+
* @param fn - The function to make trackable
|
|
83
|
+
* @param options - Options for tracking
|
|
84
|
+
* @returns A tracked version of the function
|
|
85
|
+
*/
|
|
86
|
+
createTrackable<T extends (...args: any[]) => any>(fn: T, options?: Omit<ITrackOptions, 'label'> & {
|
|
87
|
+
label?: string;
|
|
88
|
+
}): (...args: Parameters<T>) => ReturnType<T>;
|
|
76
89
|
/**
|
|
77
90
|
* Internal method to log a message
|
|
78
91
|
*
|
package/dist/core/logger.js
CHANGED
|
@@ -121,7 +121,7 @@ class Logger {
|
|
|
121
121
|
return this._config.getMode();
|
|
122
122
|
}
|
|
123
123
|
/**
|
|
124
|
-
* Track the execution of a function
|
|
124
|
+
* Track the execution of a function
|
|
125
125
|
*
|
|
126
126
|
* @param fn - The function to track
|
|
127
127
|
* @param options - Options for tracking
|
|
@@ -135,13 +135,25 @@ class Logger {
|
|
|
135
135
|
// Log the execution flow if not silent
|
|
136
136
|
if (!silent) {
|
|
137
137
|
const flowChart = this._executionTracker.generateFlowChart();
|
|
138
|
-
// Log the flow chart directly to
|
|
139
|
-
//
|
|
140
|
-
console.log('\nExecution Flow:');
|
|
138
|
+
// Log the flow chart directly to console to preserve ASCII art
|
|
139
|
+
// Skip formatters to avoid messing up the ASCII art
|
|
141
140
|
console.log(flowChart);
|
|
142
141
|
}
|
|
143
142
|
return result;
|
|
144
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Create a trackable version of a function
|
|
146
|
+
*
|
|
147
|
+
* This is a helper method to create a tracked version of a function
|
|
148
|
+
* that can be used for nested function tracking.
|
|
149
|
+
*
|
|
150
|
+
* @param fn - The function to make trackable
|
|
151
|
+
* @param options - Options for tracking
|
|
152
|
+
* @returns A tracked version of the function
|
|
153
|
+
*/
|
|
154
|
+
createTrackable(fn, options) {
|
|
155
|
+
return this._executionTracker.createTrackable(fn, options);
|
|
156
|
+
}
|
|
145
157
|
/**
|
|
146
158
|
* Internal method to log a message
|
|
147
159
|
*
|
package/dist/core/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/browser.d.ts
CHANGED
|
@@ -33,8 +33,7 @@ declare class BrowserExecutionTracker {
|
|
|
33
33
|
private _executions;
|
|
34
34
|
private _currentExecution;
|
|
35
35
|
private _defaultThreshold;
|
|
36
|
-
private
|
|
37
|
-
private _isInstrumented;
|
|
36
|
+
private _globalScope;
|
|
38
37
|
/**
|
|
39
38
|
* Create a new BrowserExecutionTracker instance
|
|
40
39
|
*
|
|
@@ -60,12 +59,18 @@ declare class BrowserExecutionTracker {
|
|
|
60
59
|
*/
|
|
61
60
|
track<T>(fn: () => T, options?: any): T;
|
|
62
61
|
/**
|
|
63
|
-
*
|
|
62
|
+
* Create a trackable version of a function
|
|
64
63
|
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
64
|
+
* This is a helper method to create a tracked version of a function
|
|
65
|
+
* that can be used for nested function tracking.
|
|
66
|
+
*
|
|
67
|
+
* @param fn - The function to make trackable
|
|
68
|
+
* @param options - Options for tracking
|
|
69
|
+
* @returns A tracked version of the function
|
|
67
70
|
*/
|
|
68
|
-
|
|
71
|
+
createTrackable<T extends (...args: any[]) => any>(fn: T, options?: Omit<ITrackOptions, 'label'> & {
|
|
72
|
+
label?: string;
|
|
73
|
+
}): (...args: Parameters<T>) => ReturnType<T>;
|
|
69
74
|
/**
|
|
70
75
|
* Get the current call stack
|
|
71
76
|
*
|
|
@@ -115,6 +120,19 @@ declare class BrowserLogger {
|
|
|
115
120
|
setMode(mode: LogMode): void;
|
|
116
121
|
getMode(): LogMode;
|
|
117
122
|
track<T>(fn: () => T, options?: ITrackOptions): T;
|
|
123
|
+
/**
|
|
124
|
+
* Create a trackable version of a function
|
|
125
|
+
*
|
|
126
|
+
* This is a helper method to create a tracked version of a function
|
|
127
|
+
* that can be used for nested function tracking.
|
|
128
|
+
*
|
|
129
|
+
* @param fn - The function to make trackable
|
|
130
|
+
* @param options - Options for tracking
|
|
131
|
+
* @returns A tracked version of the function
|
|
132
|
+
*/
|
|
133
|
+
createTrackable<T extends (...args: any[]) => any>(fn: T, options?: Omit<ITrackOptions, 'label'> & {
|
|
134
|
+
label?: string;
|
|
135
|
+
}): (...args: Parameters<T>) => ReturnType<T>;
|
|
118
136
|
private log;
|
|
119
137
|
}
|
|
120
138
|
/**
|