[Node.js] disable source maps in node heap#107
Conversation
35a893a to
097ac19
Compare
097ac19 to
1410323
Compare
| { | ||
| "regular_expression": "processTimers;listOnTimeout;work;b;slice", | ||
| "percent": 66, | ||
| "percent": 50, |
There was a problem hiding this comment.
why is this changing to 50 50 ?
There was a problem hiding this comment.
These are the observed values and reflect exactly what the code is doing. When back to 60 I had from CI
Assertion failed: stack 'processTimers;listOnTimeout;work;b;slice' (labels=[]) should have been 66% +/- 5% of the profile but was 50% with 16% error
Assertion failed: stack 'processTimers;listOnTimeout;work;a;slice' (labels=[]) should have been 33% +/- 5% of the profile but was 49% with 16% error
There was a problem hiding this comment.
I understand, but are these values expected ?
Is the scenario meant to have 1/3 2/3 split or a 50/50 split ?
There was a problem hiding this comment.
function work() {
count += 1
a(allocSize, refs);
b(allocSize * 2, refs);
There was a problem hiding this comment.
IMO the 50/50 is correct because the objects profile counts allocations, not bytes. In work() a and b are called once on every iteration.
The old 66/33 value for objects was not the expectation of the scenario. It was an observed bias from earlier runs https://github.com/DataDog/prof-correctness/blob/main/scenarios/node_heap/README.md?plain=1#L23
There was a problem hiding this comment.
ah OK, this is number of objects, apologies
scenarios/node_heap/Dockerfile
Outdated
| ENV DD_REMOTE_CONFIGURATION_ENABLED=0 | ||
| ENV DD_PROFILING_PROFILERS=space | ||
| ENV DD_TRACE_DEBUG=1 | ||
| ENV DD_PROFILING_DEBUG_SOURCE_MAPS=0 |
There was a problem hiding this comment.
NIT: could requires a comment to explain that we can remove this at a specific release
There was a problem hiding this comment.
I just checked that the default value is false not needed anymore
The
node_heaptest started failing after dd-trace-js changed profiler startup to happen earlier, during tracer initialization.References:
TypeError: mapper.loadDirectory is not a functionand the issue turned out to be a version mismatch. The package dd-trace is installed from master branch, but @datadog/pprof was overridden to "dev" which is an npm dist-tag, not a git branch, and it was resolving to an older pre-release build6.0.0-pre-fdd7f20rather than the current main branch.The pprof pipeline to publish dev was fixed use trusted publishing for dev releases pprof-nodejs#310 and use release publisher file to release dev tag too pprof-nodejs#311