feat(profiling): pack column numbers for server-side unminification - #9501
Conversation
Set columnNumbers: 'pack' on the wall profiler and pass 'pack' to the space profiler's heap.profile call. pprof 5.17.0 packs the column into the line only for frames whose source map is declared but missing (dd:has-missing-map-files) — exactly the frames sent for server-side unminification — so this lets the backend deobfuscate minified Node.js (e.g. Next.js server) frames, where the column is the only discriminator between functions on a single generated line. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Overall package sizeSelf size: 7.48 MB Dependency sizes| name | version | self size | total size | |------|---------|-----------|------------| | import-in-the-middle | 3.3.2 | 124.41 kB | 440.65 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | dc-polyfill | 0.1.11 | 25.74 kB | 25.74 kB |🤖 This report was automatically generated by heaviest-objects-in-the-universe |
🎉 All green!🧪 All tests passed 🔄 Datadog retried 1 test - 1 passed on retry 🎯 Code Coverage (details) 🔗 Commit SHA: 992d42b | Docs | Datadog PR Page | Give us feedback! |
BenchmarksBenchmark execution time: 2026-07-23 10:40:03 Comparing candidate commit 992d42b in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 2323 metrics, 35 unstable metrics.
|
…9501) * feat(profiling): pack column numbers for server-side unminification Updates profiler to 5.17.0, and then sets columnNumbers: 'pack' on the wall profiler and pass 'pack' to the space profiler's heap.profile call. pprof 5.17.0 packs the column into the line only for frames whose source map is declared but missing (dd:has-missing-map-files) — exactly the frames sent for server-side unminification — so this lets the backend deobfuscate minified Node.js (e.g. Next.js server) frames, where the column is the only discriminator between functions on a single generated line.
…9501) * feat(profiling): pack column numbers for server-side unminification Updates profiler to 5.17.0, and then sets columnNumbers: 'pack' on the wall profiler and pass 'pack' to the space profiler's heap.profile call. pprof 5.17.0 packs the column into the line only for frames whose source map is declared but missing (dd:has-missing-map-files) — exactly the frames sent for server-side unminification — so this lets the backend deobfuscate minified Node.js (e.g. Next.js server) frames, where the column is the only discriminator between functions on a single generated line.
What does this PR do?
Updates the profiler to 5.17.0. Also turns on emission of column information for profile frames that need server-side unminification.
Motivation
A customer reported issue where the lack of column information prevents correct unminification of profiles in the backend.
Jira: PROF-15467