Repository navigation
refactor: node tracing agent and track event registration - #52678
Merged
Merged
Conversation
ckerr
approved these changes
Aug 6, 2026
Member
|
@deepak1556 you have this stacked on top of the same branch you proposed merging this into. These two are mutually exclusive? I think we want to unstack -> merge this into |
|
No Release Notes |
ckerr
pushed a commit
that referenced
this pull request
Aug 7, 2026
jkleinsc
pushed a commit
that referenced
this pull request
Aug 20, 2026
jkleinsc
pushed a commit
that referenced
this pull request
Aug 24, 2026
jkleinsc
pushed a commit
that referenced
this pull request
Aug 24, 2026
jkleinsc
pushed a commit
that referenced
this pull request
Aug 24, 2026
jkleinsc
pushed a commit
that referenced
this pull request
Aug 25, 2026
jkleinsc
pushed a commit
that referenced
this pull request
Aug 25, 2026
jkleinsc
pushed a commit
that referenced
this pull request
Aug 25, 2026
deepak1556
added a commit
that referenced
this pull request
Aug 26, 2026
jkleinsc
pushed a commit
that referenced
this pull request
Aug 26, 2026
deepak1556
added a commit
that referenced
this pull request
Aug 27, 2026
* chore: bump node in DEPS to v24.19.0 * chore: remove upstreamed patch Ref: nodejs/node#64053 Co-Authored-By: GitHub Copilot <[email protected]> * chore: update patches (trivial only) Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): add perfetto trace agent Backport Node's Perfetto tracing agent now that Chromium V8 no longer exposes the legacy tracing controller APIs. Ref: nodejs/node#64565 Ref: nodejs/node#64721 Co-Authored-By: GitHub Copilot <[email protected]> * node#64565: src: rename legacy trace event headers Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): sample delay per event loop iteration Ref: nodejs/node#62935 Ref: nodejs/node#64480 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): avoid redundant std::get_if<>() call Ref: nodejs/node#64094 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): add perfetto trace agent Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * node#64053: src: abstract tracing agent for legacy and perfetto Ref: nodejs/node#64053 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): add perfetto trace agent Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * node#64053: src: abstract tracing agent for legacy and perfetto Ref: nodejs/node#64053 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): support native IPC serialization in V8 sandbox Ref: nodejs/node#63933 Co-Authored-By: GitHub Copilot <[email protected]> * test: hide output package.json in node spec runner Virtual CommonJS files rooted at process.execPath inherit the output directory's type=module package unless the runner hides it alongside Chromium's root package. Ref: nodejs/node#44713 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): account for libc++ rm error on Electron Linux Node's fs.rmSync() delegates recursive deletion to std::filesystem::remove_all(). Electron's Linux build uses libc++, which reports ENOTEMPTY here while Node's libstdc++ build reports EACCES. Ref: nodejs/node#57103 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): mark worker stack-size test flaky Ref: nodejs/node#33085 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): restore user timing trace events Ref: #50591 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): own fallback tracing controller Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): release cppgc wrapper tracking nodes Ref: nodejs/node#56534 Co-Authored-By: GitHub Copilot <[email protected]> * test: extend cpp heap remote app timeout The ChunkedDataPipeReadableStream liveness test can exceed the remote fixture's 30-second watchdog under Linux ASAN, which disconnects the control socket before assertions run. Ref: #52447 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): remove unused legacy tracing backend Electron builds Node exclusively with Perfetto since #50591. Wire the upstream Perfetto agent directly and drop the legacy header split and dual-backend source lists. Ref: #50591 Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * docs: better explanation of test_account_for_libc_rm_error_on_electron_linux.patch * refactor: node tracing agent and track event registration (#52678) * fix: register Node tracing in utility processes The Node upgrade moved tracing setup out of JavascriptEnvironment, but the utility process did not adopt the explicit registration used by other embedded Node hosts. Register its TrackEvent data source with Chromium before creating the isolate. Co-authored-by: John Kleinschmidt <[email protected]> * chore: update patches (trivial only) * chore: update patches * Revert "fix(patch): mark worker stack-size test flaky" This reverts commit f2e5cb5. * fixup! support native IPC serialization in V8 sandbox * chore: address review feedback * fixup! support native IPC serialization in V8 sandbox Allocate ValueSerializer buffers as V8 backing stores and retain the original backing store when adopting the released buffer. This preserves the shared allocator lifetime when serialized buffers are transferred from a worker and outlive its isolate. * fixup! refactor: node tracing agent and track event registration --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr <[email protected]> Co-authored-by: GitHub Copilot <[email protected]> Co-authored-by: Robo <[email protected]> Co-authored-by: John Kleinschmidt <[email protected]>
jkleinsc
pushed a commit
that referenced
this pull request
Aug 27, 2026
MarshallOfSound
pushed a commit
that referenced
this pull request
Aug 28, 2026
* chore: bump node in DEPS to v24.19.0 * chore: remove upstreamed patch Ref: nodejs/node#64053 Co-Authored-By: GitHub Copilot <[email protected]> * chore: update patches (trivial only) * fix(patch): add perfetto trace agent Backport Node's Perfetto tracing agent now that Chromium V8 no longer exposes the legacy tracing controller APIs. Ref: nodejs/node#64565 Ref: nodejs/node#64721 Co-Authored-By: GitHub Copilot <[email protected]> * node#64565: src: rename legacy trace event headers Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): sample delay per event loop iteration Ref: nodejs/node#62935 Ref: nodejs/node#64480 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): avoid redundant std::get_if<>() call Ref: nodejs/node#64094 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): add perfetto trace agent Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * node#64053: src: abstract tracing agent for legacy and perfetto Ref: nodejs/node#64053 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): add perfetto trace agent Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * node#64053: src: abstract tracing agent for legacy and perfetto Ref: nodejs/node#64053 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): support native IPC serialization in V8 sandbox Ref: nodejs/node#63933 Co-Authored-By: GitHub Copilot <[email protected]> * test: hide output package.json in node spec runner Virtual CommonJS files rooted at process.execPath inherit the output directory's type=module package unless the runner hides it alongside Chromium's root package. Ref: nodejs/node#44713 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): account for libc++ rm error on Electron Linux Node's fs.rmSync() delegates recursive deletion to std::filesystem::remove_all(). Electron's Linux build uses libc++, which reports ENOTEMPTY here while Node's libstdc++ build reports EACCES. Ref: nodejs/node#57103 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): mark worker stack-size test flaky Ref: nodejs/node#33085 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): restore user timing trace events Ref: #50591 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): own fallback tracing controller Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): release cppgc wrapper tracking nodes Ref: nodejs/node#56534 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): remove unused legacy tracing backend Electron builds Node exclusively with Perfetto since #50591. Wire the upstream Perfetto agent directly and drop the legacy header split and dual-backend source lists. Ref: #50591 Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * docs: better explanation of test_account_for_libc_rm_error_on_electron_linux.patch * refactor: node tracing agent and track event registration (#52678) * fix: register Node tracing in utility processes The Node upgrade moved tracing setup out of JavascriptEnvironment, but the utility process did not adopt the explicit registration used by other embedded Node hosts. Register its TrackEvent data source with Chromium before creating the isolate. Co-authored-by: John Kleinschmidt <[email protected]> * chore: update patches (trivial only) * chore: update patches (trivial only) Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): skip unsupported WebCrypto fixtures with BoringSSL Ref: nodejs/node#63520 Co-Authored-By: GitHub Copilot <[email protected]> * Revert "fix(patch): mark worker stack-size test flaky" This reverts commit f2e5cb5. * chore: address review feedback (cherry picked from commit b8f475c) * fixup! refactor: node tracing agent and track event registration (cherry picked from commit d898f33) --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr <[email protected]> Co-authored-by: GitHub Copilot <[email protected]> Co-authored-by: Robo <[email protected]> Co-authored-by: John Kleinschmidt <[email protected]>
MarshallOfSound
pushed a commit
that referenced
this pull request
Aug 28, 2026
* chore: bump node in DEPS to v24.19.0 * chore: remove upstreamed patch Ref: nodejs/node#64053 Co-Authored-By: GitHub Copilot <[email protected]> * chore: update patches (trivial only) * fix(patch): add perfetto trace agent Backport Node's Perfetto tracing agent now that Chromium V8 no longer exposes the legacy tracing controller APIs. Ref: nodejs/node#64565 Ref: nodejs/node#64721 Co-Authored-By: GitHub Copilot <[email protected]> * node#64565: src: rename legacy trace event headers Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): sample delay per event loop iteration Ref: nodejs/node#62935 Ref: nodejs/node#64480 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): avoid redundant std::get_if<>() call Ref: nodejs/node#64094 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): add perfetto trace agent Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * node#64053: src: abstract tracing agent for legacy and perfetto Ref: nodejs/node#64053 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): add perfetto trace agent Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * node#64053: src: abstract tracing agent for legacy and perfetto Ref: nodejs/node#64053 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): support native IPC serialization in V8 sandbox Ref: nodejs/node#63933 Co-Authored-By: GitHub Copilot <[email protected]> * test: hide output package.json in node spec runner Virtual CommonJS files rooted at process.execPath inherit the output directory's type=module package unless the runner hides it alongside Chromium's root package. Ref: nodejs/node#44713 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): account for libc++ rm error on Electron Linux Node's fs.rmSync() delegates recursive deletion to std::filesystem::remove_all(). Electron's Linux build uses libc++, which reports ENOTEMPTY here while Node's libstdc++ build reports EACCES. Ref: nodejs/node#57103 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): mark worker stack-size test flaky Ref: nodejs/node#33085 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): restore user timing trace events Ref: #50591 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): own fallback tracing controller Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): release cppgc wrapper tracking nodes Ref: nodejs/node#56534 Co-Authored-By: GitHub Copilot <[email protected]> * test: extend cpp heap remote app timeout The ChunkedDataPipeReadableStream liveness test can exceed the remote fixture's 30-second watchdog under Linux ASAN, which disconnects the control socket before assertions run. Ref: #52447 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): remove unused legacy tracing backend Electron builds Node exclusively with Perfetto since #50591. Wire the upstream Perfetto agent directly and drop the legacy header split and dual-backend source lists. Ref: #50591 Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * docs: better explanation of test_account_for_libc_rm_error_on_electron_linux.patch * refactor: node tracing agent and track event registration (#52678) * fix: register Node tracing in utility processes The Node upgrade moved tracing setup out of JavascriptEnvironment, but the utility process did not adopt the explicit registration used by other embedded Node hosts. Register its TrackEvent data source with Chromium before creating the isolate. Co-Authored-By: John Kleinschmidt <[email protected]> * chore: update patches (trivial only) * chore: update patches (trivial only) Co-Authored-By: GitHub Copilot <[email protected]> * Revert "fix(patch): mark worker stack-size test flaky" This reverts commit f2e5cb5. * fixup! support native IPC serialization in V8 sandbox * chore: address review feedback (cherry picked from commit b8f475c) * fixup! support native IPC serialization in V8 sandbox Allocate ValueSerializer buffers as V8 backing stores and retain the original backing store when adopting the released buffer. This preserves the shared allocator lifetime when serialized buffers are transferred from a worker and outlive its isolate. (cherry picked from commit f35b26d) * fixup! refactor: node tracing agent and track event registration (cherry picked from commit d898f33) --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr <[email protected]> Co-authored-by: GitHub Copilot <[email protected]> Co-authored-by: Robo <[email protected]> Co-authored-by: John Kleinschmidt <[email protected]>
jkleinsc
added a commit
that referenced
this pull request
Aug 28, 2026
* chore: bump node in DEPS to v24.19.0 * chore: remove upstreamed patch Ref: nodejs/node#64053 Co-Authored-By: GitHub Copilot <[email protected]> * chore: update patches (trivial only) Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): add perfetto trace agent Backport Node's Perfetto tracing agent now that Chromium V8 no longer exposes the legacy tracing controller APIs. Ref: nodejs/node#64565 Ref: nodejs/node#64721 Co-Authored-By: GitHub Copilot <[email protected]> * node#64565: src: rename legacy trace event headers Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): sample delay per event loop iteration Ref: nodejs/node#62935 Ref: nodejs/node#64480 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): avoid redundant std::get_if<>() call Ref: nodejs/node#64094 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): add perfetto trace agent Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * node#64053: src: abstract tracing agent for legacy and perfetto Ref: nodejs/node#64053 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): add perfetto trace agent Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * node#64053: src: abstract tracing agent for legacy and perfetto Ref: nodejs/node#64053 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): support native IPC serialization in V8 sandbox Ref: nodejs/node#63933 Co-Authored-By: GitHub Copilot <[email protected]> * test: hide output package.json in node spec runner Virtual CommonJS files rooted at process.execPath inherit the output directory's type=module package unless the runner hides it alongside Chromium's root package. Ref: nodejs/node#44713 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): account for libc++ rm error on Electron Linux Node's fs.rmSync() delegates recursive deletion to std::filesystem::remove_all(). Electron's Linux build uses libc++, which reports ENOTEMPTY here while Node's libstdc++ build reports EACCES. Ref: nodejs/node#57103 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): mark worker stack-size test flaky Ref: nodejs/node#33085 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): restore user timing trace events Ref: #50591 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): own fallback tracing controller Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): release cppgc wrapper tracking nodes Ref: nodejs/node#56534 Co-Authored-By: GitHub Copilot <[email protected]> * test: extend cpp heap remote app timeout The ChunkedDataPipeReadableStream liveness test can exceed the remote fixture's 30-second watchdog under Linux ASAN, which disconnects the control socket before assertions run. Ref: #52447 Co-Authored-By: GitHub Copilot <[email protected]> * fix(patch): remove unused legacy tracing backend Electron builds Node exclusively with Perfetto since #50591. Wire the upstream Perfetto agent directly and drop the legacy header split and dual-backend source lists. Ref: #50591 Ref: nodejs/node#64565 Co-Authored-By: GitHub Copilot <[email protected]> * docs: better explanation of test_account_for_libc_rm_error_on_electron_linux.patch * refactor: node tracing agent and track event registration (#52678) * fix: register Node tracing in utility processes The Node upgrade moved tracing setup out of JavascriptEnvironment, but the utility process did not adopt the explicit registration used by other embedded Node hosts. Register its TrackEvent data source with Chromium before creating the isolate. Co-authored-by: John Kleinschmidt <[email protected]> * chore: update patches (trivial only) * chore: update patches (trivial only) Co-Authored-By: GitHub Copilot <[email protected]> * Revert "fix(patch): mark worker stack-size test flaky" This reverts commit f2e5cb5. * fixup! support native IPC serialization in V8 sandbox * chore: update patch * chore: address review feedback (cherry picked from commit b8f475c) * fixup! support native IPC serialization in V8 sandbox Allocate ValueSerializer buffers as V8 backing stores and retain the original backing store when adopting the released buffer. This preserves the shared allocator lifetime when serialized buffers are transferred from a worker and outlive its isolate. (cherry picked from commit f35b26d) * fixup! refactor: node tracing agent and track event registration (cherry picked from commit d898f33) --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr <[email protected]> Co-authored-by: GitHub Copilot <[email protected]> Co-authored-by: Robo <[email protected]> Co-authored-by: John Kleinschmidt <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of Change
Preserves content tracing capture of Node.js trace categories from #50591
cc @ckerr
Release Notes
Notes: none