Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PROF-9395: More async encoding of profiles #4190

Merged
merged 1 commit into from
Mar 26, 2024

Conversation

szegedi
Copy link
Contributor

@szegedi szegedi commented Mar 26, 2024

What does this PR do?

Updates @datadog/pprof to 5.2.0. The relevant change in it is an update to @datadog/pprof-format which introduces asynchronous stages into encoding of profiles, which should help attenuating the latency spikes on profile submission. The update alone is sufficient to enable the new functionality.

Motivation

We want to reduce the latency spikes.

Additional Notes

Propagates changes from DataDog/pprof-nodejs#165 and DataDog/pprof-format#19

Security

Datadog employees:

  • If this PR touches code that signs or publishes builds or packages, or handles credentials of any kind, I've requested a review from @DataDog/security-design-and-guidance.
  • This PR doesn't touch any of that.

@szegedi szegedi requested a review from a team as a code owner March 26, 2024 12:40
@szegedi szegedi requested review from Qard and nsavoire March 26, 2024 12:40
Copy link

Overall package size

Self size: 6.25 MB
Deduped: 60.73 MB
No deduping: 61.01 MB

Dependency sizes

name version self size total size
@datadog/native-iast-taint-tracking 1.7.0 16.71 MB 16.72 MB
@datadog/native-appsec 7.1.0 14.37 MB 14.38 MB
@datadog/pprof 5.2.0 8.84 MB 9.21 MB
protobufjs 7.2.5 2.77 MB 6.56 MB
@datadog/native-iast-rewriter 2.3.0 2.15 MB 2.24 MB
@opentelemetry/core 1.14.0 872.87 kB 1.47 MB
@datadog/native-metrics 2.0.0 898.77 kB 1.3 MB
@opentelemetry/api 1.4.1 780.32 kB 780.32 kB
import-in-the-middle 1.7.3 67.62 kB 731.01 kB
msgpack-lite 0.1.26 201.16 kB 281.59 kB
opentracing 0.14.7 194.81 kB 194.81 kB
semver 7.5.4 93.4 kB 123.8 kB
pprof-format 2.1.0 111.69 kB 111.69 kB
@datadog/sketches-js 2.1.0 109.9 kB 109.9 kB
lodash.sortby 4.7.0 75.76 kB 75.76 kB
lru-cache 7.14.0 74.95 kB 74.95 kB
ipaddr.js 2.1.0 60.23 kB 60.23 kB
ignore 5.2.4 51.22 kB 51.22 kB
int64-buffer 0.1.10 49.18 kB 49.18 kB
shell-quote 1.8.1 44.96 kB 44.96 kB
istanbul-lib-coverage 3.2.0 29.34 kB 29.34 kB
tlhunter-sorted-set 0.1.0 24.94 kB 24.94 kB
limiter 1.1.5 23.17 kB 23.17 kB
dc-polyfill 0.1.4 23.1 kB 23.1 kB
retry 0.13.1 18.85 kB 18.85 kB
node-abort-controller 3.1.1 16.89 kB 16.89 kB
jest-docblock 29.7.0 8.99 kB 12.76 kB
crypto-randomuuid 1.0.0 11.18 kB 11.18 kB
path-to-regexp 0.1.7 6.78 kB 6.78 kB
koalas 1.0.2 6.47 kB 6.47 kB
methods 1.1.2 5.29 kB 5.29 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

Copy link

codecov bot commented Mar 26, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 85.23%. Comparing base (09455e6) to head (494e62e).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4190      +/-   ##
==========================================
+ Coverage   85.02%   85.23%   +0.20%     
==========================================
  Files         244      247       +3     
  Lines       10784    10956     +172     
  Branches       33       33              
==========================================
+ Hits         9169     9338     +169     
- Misses       1615     1618       +3     

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

@szegedi szegedi merged commit 2b43d31 into master Mar 26, 2024
112 of 114 checks passed
@szegedi szegedi deleted the szegedi/profile-async-encode branch March 26, 2024 14:10
uurien pushed a commit that referenced this pull request Mar 26, 2024
Uses a version of `@datadog/pprof` and `@datadog/pprof-format` that add extra async stages for profile encoding, reducing worst-case latency impact of it.
uurien pushed a commit that referenced this pull request Mar 26, 2024
Uses a version of `@datadog/pprof` and `@datadog/pprof-format` that add extra async stages for profile encoding, reducing worst-case latency impact of it.
uurien pushed a commit that referenced this pull request Mar 26, 2024
Uses a version of `@datadog/pprof` and `@datadog/pprof-format` that add extra async stages for profile encoding, reducing worst-case latency impact of it.
This was referenced Mar 26, 2024
uurien pushed a commit that referenced this pull request Mar 26, 2024
Uses a version of `@datadog/pprof` and `@datadog/pprof-format` that add extra async stages for profile encoding, reducing worst-case latency impact of it.
uurien pushed a commit that referenced this pull request Mar 26, 2024
Uses a version of `@datadog/pprof` and `@datadog/pprof-format` that add extra async stages for profile encoding, reducing worst-case latency impact of it.
uurien pushed a commit that referenced this pull request Mar 26, 2024
Uses a version of `@datadog/pprof` and `@datadog/pprof-format` that add extra async stages for profile encoding, reducing worst-case latency impact of it.
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.

None yet

2 participants