Skip to content

Add message to the profiler startup error consistent with one in proxy.js#5518

Merged
szegedi merged 1 commit intomasterfrom
szegedi/better-profiling-error
Apr 2, 2025
Merged

Add message to the profiler startup error consistent with one in proxy.js#5518
szegedi merged 1 commit intomasterfrom
szegedi/better-profiling-error

Conversation

@szegedi
Copy link
Copy Markdown
Contributor

@szegedi szegedi commented Apr 2, 2025

What does this PR do?

Add message to the profiler startup error, consistent with one in proxy.js. As such, this is a continuation of #5242.

Motivation

Exceptions thrown in the async part of profiler initialization would not get the message that points to the troubleshooting link. Now they do. Before the change a telemetry log message from here would look like this:

{
  level: 'ERROR',
  count: 1,
  message: 'Generic Error',
  stack_trace: 'Error: BOOM! Async profiler startup error\n' +
    '    at Profiler._start (dd-trace/src/profiling/profiler.js:65:11)\n' +
    '    at Profiler.start (dd-trace/src/profiling/profiler.js:54:17)\n' +
    '    at Object.start (dd-trace/src/profiler.js:30:21)\n' +
    '    at Tracer._startProfiler (dd-trace/src/proxy.js:219:36)\n' +
    '    at Tracer.init (dd-trace/src/proxy.js:152:40)'
}

After the change:

{
  level: 'ERROR',
  count: 1,
  message: 'Error starting profiler. For troubleshooting tips, see <https://dtdg.co/nodejs-profiler-troubleshooting>',
  stack_trace: 'Error: BOOM! Async profiler startup error\n' +
    '    at Profiler._start (dd-trace/src/profiling/profiler.js:66:11)\n' +
    '    at Profiler.start (dd-trace/src/profiling/profiler.js:54:17)\n' +
    '    at Object.start (dd-trace/src/profiler.js:30:21)\n' +
    '    at Tracer._startProfiler (dd-trace/src/proxy.js:219:36)\n' +
    '    at Tracer.init (dd-trace/src/proxy.js:152:40)'
}

That is, it shows something more useful than "Generic Error".

Jira: PROF-11346

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 2, 2025

Overall package size

Self size: 9.19 MB
Deduped: 101.5 MB
No deduping: 102.02 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.5.0 | 29.83 MB | 29.83 MB | | @datadog/native-appsec | 8.5.1 | 19.26 MB | 19.27 MB | | @datadog/native-iast-taint-tracking | 3.3.0 | 13.77 MB | 13.78 MB | | @datadog/pprof | 5.6.0 | 9.79 MB | 10.16 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.4.0 | 2.77 MB | 5.42 MB | | @datadog/wasm-js-rewriter | 3.1.0 | 2.37 MB | 2.52 MB | | @datadog/native-metrics | 3.1.0 | 1.06 MB | 1.46 MB | | @opentelemetry/api | 1.8.0 | 1.21 MB | 1.21 MB | | import-in-the-middle | 1.13.1 | 117.64 kB | 839.26 kB | | source-map | 0.7.4 | 226 kB | 226 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | lru-cache | 7.18.3 | 133.92 kB | 133.92 kB | | pprof-format | 2.1.0 | 111.69 kB | 111.69 kB | | @datadog/sketches-js | 2.1.1 | 109.9 kB | 109.9 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | ignore | 5.3.2 | 53.63 kB | 53.63 kB | | istanbul-lib-coverage | 3.2.0 | 29.34 kB | 29.34 kB | | rfdc | 1.4.1 | 27.15 kB | 27.15 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | dc-polyfill | 0.1.6 | 24.56 kB | 24.56 kB | | shell-quote | 1.8.2 | 23.54 kB | 23.54 kB | | limiter | 1.1.5 | 23.17 kB | 23.17 kB | | retry | 0.13.1 | 18.85 kB | 18.85 kB | | semifies | 1.0.0 | 15.84 kB | 15.84 kB | | jest-docblock | 29.7.0 | 8.99 kB | 12.76 kB | | crypto-randomuuid | 1.0.0 | 11.18 kB | 11.18 kB | | ttl-set | 1.0.0 | 4.61 kB | 9.69 kB | | path-to-regexp | 0.1.12 | 6.6 kB | 6.6 kB | | koalas | 1.0.2 | 6.47 kB | 6.47 kB | | module-details-from-path | 1.0.3 | 4.47 kB | 4.47 kB |

🤖 This report was automatically generated by heaviest-objects-in-the-universe

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 2, 2025

Codecov Report

Attention: Patch coverage is 33.33333% with 2 lines in your changes missing coverage. Please review.

Project coverage is 79.18%. Comparing base (b94052c) to head (1fcc3ad).
Report is 2 commits behind head on master.

Files with missing lines Patch % Lines
packages/dd-trace/src/profiler.js 0.00% 1 Missing ⚠️
packages/dd-trace/src/profiling/profiler.js 50.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #5518   +/-   ##
=======================================
  Coverage   79.18%   79.18%           
=======================================
  Files         512      512           
  Lines       23158    23158           
=======================================
  Hits        18338    18338           
  Misses       4820     4820           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@datadog-datadog-prod-us1
Copy link
Copy Markdown

Datadog Report

Branch report: szegedi/better-profiling-error
Commit report: 87f4597
Test service: dd-trace-js-integration-tests

✅ 0 Failed, 925 Passed, 0 Skipped, 12m 18.71s Total Time

@szegedi szegedi marked this pull request as ready for review April 2, 2025 09:49
@szegedi szegedi requested a review from a team as a code owner April 2, 2025 09:49
@szegedi szegedi requested a review from nsavoire April 2, 2025 12:42
@szegedi szegedi enabled auto-merge (squash) April 2, 2025 12:42
info: (message) => log.info(message),
warn: (message) => log.warn(message),
error: (message) => log.error(message)
error: (...args) => log.error(...args)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Feels a bit weird to have a different prototype for error()

@szegedi szegedi merged commit 3082b98 into master Apr 2, 2025
429 checks passed
@szegedi szegedi deleted the szegedi/better-profiling-error branch April 2, 2025 13:54
@wconti27 wconti27 mentioned this pull request Apr 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants