Skip to content

Conversation

@Qard
Copy link
Member

@Qard Qard commented Oct 26, 2024

I've marked AsyncContextFrame as stable and made it the default. With this we should see the substantial performance improvements to AsyncLocalStorage as the default case for users on future versions of Node.js. Getting more users on this will also help to identify if there are any perf outliers to tweak further.

I hope to land this in v24. I assume we would generally consider this change as major, but I'm happy to downgrade it to minor if we think it's safe to do so.

(Pushing from the train somewhere between Valencia and Barcelona! 🚅💨)

cc @nodejs/diagnostics APMs have had some time to try this out and there have been no further issues after the initial iteration. I'm taking this to mean it seems to be stable. If you disagree, please speak up.

cc @nodejs/electron-installer Note that this makes use of the ContinuationPreservedEmbedderData API which Chromium also makes use of. This likely means Electron will need to change to default to disabled due to this conflict. I believe it's possible for Electron to do some work on their end to enable layering embedder data providers. If anyone is interested in picking this up to support both please reach out, I'm happy to help however I can! 🙂

@Qard Qard added doc Issues and PRs related to the documentations. semver-major PRs that contain breaking changes and should be released in the next major version. test Issues and PRs related to the tests. async_local_storage AsyncLocalStorage labels Oct 26, 2024
@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. needs-ci PRs that need a full CI run. labels Oct 26, 2024
@Qard Qard force-pushed the default-to-async-context-frame branch from c7bd97e to 15fd51a Compare October 26, 2024 11:20
@Qard Qard added the request-ci Add this label to start a Jenkins CI on a PR. label Oct 26, 2024
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Oct 26, 2024
@nodejs-github-bot
Copy link
Collaborator

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

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

lgtm

@Qard Qard force-pushed the default-to-async-context-frame branch from 15fd51a to a61b8d7 Compare October 26, 2024 12:07
@codecov
Copy link

codecov bot commented Oct 26, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 88.40%. Comparing base (c63255b) to head (a61b8d7).
Report is 48 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #55552      +/-   ##
==========================================
- Coverage   88.43%   88.40%   -0.03%     
==========================================
  Files         654      654              
  Lines      187662   187662              
  Branches    36117    36101      -16     
==========================================
- Hits       165962   165910      -52     
- Misses      14938    14989      +51     
- Partials     6762     6763       +1     
Files with missing lines Coverage Δ
lib/internal/async_context_frame.js 76.31% <100.00%> (-21.06%) ⬇️
src/node_options.cc 87.44% <100.00%> (ø)

... and 25 files with indirect coverage changes

@nodejs-github-bot

This comment was marked as outdated.

@Qard Qard added the request-ci Add this label to start a Jenkins CI on a PR. label Oct 26, 2024
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Oct 26, 2024
@nodejs-github-bot
Copy link
Collaborator

@marco-ippolito marco-ippolito added the commit-queue Add this label to land a pull request using GitHub Actions. label Nov 2, 2024
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Nov 2, 2024
@nodejs-github-bot nodejs-github-bot merged commit 51ae576 into nodejs:main Nov 2, 2024
@nodejs-github-bot
Copy link
Collaborator

Landed in 51ae576

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

async_local_storage AsyncLocalStorage c++ Issues and PRs that require attention from people who are familiar with C++. doc Issues and PRs related to the documentations. needs-ci PRs that need a full CI run. semver-major PRs that contain breaking changes and should be released in the next major version. test Issues and PRs related to the tests.

Projects

None yet

Development

Successfully merging this pull request may close these issues.