Commit 4feb07b
fix(debugger): reuse loaded tracer for trace context in devtools client (#9765)
The devtools worker evaluates an expression on every paused call frame to read
the active trace and span IDs. That expression used global.require('dd-trace'),
which re-resolves and re-requires the tracer module on each hit.
Use globalThis._ddtrace instead, matching the singleton instance installed by
bootstrap when the application first loads dd-trace. This avoids duplicate
module resolution, works when the bare 'dd-trace' specifier is not resolvable
from the paused frame (e.g. sirun benchmarks that load the tracer by path), and
removes per-hit require overhead from the hot pause path.1 parent ca8d4ec commit 4feb07b
2 files changed
Lines changed: 6 additions & 15 deletions
File tree
- benchmark/sirun/debugger
- packages/dd-trace/src/debugger/devtools_client
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | 5 | | |
7 | 6 | | |
8 | 7 | | |
9 | 8 | | |
10 | 9 | | |
11 | 10 | | |
12 | 11 | | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
22 | 15 | | |
23 | 16 | | |
24 | 17 | | |
| |||
27 | 20 | | |
28 | 21 | | |
29 | 22 | | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | 23 | | |
34 | 24 | | |
35 | 25 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
27 | 26 | | |
28 | 27 | | |
29 | 28 | | |
| |||
34 | 33 | | |
35 | 34 | | |
36 | 35 | | |
| 36 | + | |
| 37 | + | |
37 | 38 | | |
38 | | - | |
| 39 | + | |
39 | 40 | | |
40 | 41 | | |
41 | 42 | | |
| |||
0 commit comments