You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi folks, I work on V8 and we would like to move V8's tracing to be Perfetto-only, to be able to take advantage of various things that Perfetto supports which the legacy tracing doesn't. I see there was a past project to make Node use Perfetto, which ended up getting dropped (#277). I assume that V8 moving to Perfetto would have consequences for Node, so I would like to reopen this conversation.
Apparently, it ended up being closed due to lack of bandwidth #277 (comment) I don't think there is a consequence for Node, and even if there was it might have changed by now (the issue has been going on for about 6 years now). I'm happy to help on this (but I don't have have much bandwidth too)
I don't really have the cycles nor mandate to move Node to Perfetto, I just would like to avoid breaking Node if I were to move V8 to require Perfetto. The legacy trace macros should still work, given that they currently work for V8 when compiled with Perfetto in Chromium, so it would be more of a build system change than a tracing change (of course afterward, Node would also be free to move to non-legacy tracing if it were to want to).
Well, a few years ago I opened a PR that made the switch to perfetto and ended up closing it because no one else expressed any interest in even helping to review it. I'm +1 on switching and will happily review PRs.
If V8 is going to be perfetto-only for tracing, I think the answer to the question that how likely perfetto will be abandoned like gyp is we need to go with perfetto regardless. Maintaining the existing tracing library like https://github.com/nodejs/gyp-next/ seems infeasible as V8 traces will be missing in this case.
Well, basically I hope it won't be, because if Perfetto is abandoned, then V8, Chromium, and Android are all going to have to scramble to replace it, and I imagine there would have to be some shim to help with migration (like we have for the existing legacy JSON-based tracing, which fwiw is already abandoned so we're comparing already-abandoned vs. maybe-future-abandoned). Obviously no one can make any promises here though.
Activity
RafaelGSS commentedon Feb 18, 2025
Apparently, it ended up being closed due to lack of bandwidth #277 (comment) I don't think there is a consequence for Node, and even if there was it might have changed by now (the issue has been going on for about 6 years now). I'm happy to help on this (but I don't have have much bandwidth too)
LeszekSwirski commentedon Feb 18, 2025
I don't really have the cycles nor mandate to move Node to Perfetto, I just would like to avoid breaking Node if I were to move V8 to require Perfetto. The legacy trace macros should still work, given that they currently work for V8 when compiled with Perfetto in Chromium, so it would be more of a build system change than a tracing change (of course afterward, Node would also be free to move to non-legacy tracing if it were to want to).
jasnell commentedon Feb 18, 2025
Well, a few years ago I opened a PR that made the switch to perfetto and ended up closing it because no one else expressed any interest in even helping to review it. I'm +1 on switching and will happily review PRs.
Qard commentedon Feb 20, 2025
Same here. Happy to review, but don't have the bandwidth to build myself right now. 😅
legendecas commentedon Feb 21, 2025
If V8 is going to be perfetto-only for tracing, I think the answer to the question that how likely perfetto will be abandoned like gyp is we need to go with perfetto regardless. Maintaining the existing tracing library like https://github.com/nodejs/gyp-next/ seems infeasible as V8 traces will be missing in this case.
@jasnell will you pick up nodejs/node#35900 again? Or I may try to pick it up.
LeszekSwirski commentedon Feb 21, 2025
Well, basically I hope it won't be, because if Perfetto is abandoned, then V8, Chromium, and Android are all going to have to scramble to replace it, and I imagine there would have to be some shim to help with migration (like we have for the existing legacy JSON-based tracing, which fwiw is already abandoned so we're comparing already-abandoned vs. maybe-future-abandoned). Obviously no one can make any promises here though.
tools: extract target abseil to abseil.gyp
Qard commentedon Apr 7, 2025
@BridgeAR This is relevant to our conversation.
tools: extract target abseil to abseil.gyp
tools: extract target abseil to abseil.gyp
tools: extract target abseil to abseil.gyp
52 remaining items
build: run perfetto build and test on GHA
build: perfetto-sdk
lib: add perfetto support
src: fix trace macro compatibility
src: rename legacy trace event headers
src: add perfetto trace agent
src: fix perfetto build on GetTraceFilePath
src,test: disable trace events tests when perfetto is enabled
build: fix v8_use_perfetto source scraping
build: run perfetto build and test on GHA
src: fix perfetto build on GetTraceFilePath
src,test: disable trace events tests when perfetto is enabled
build: fix v8_use_perfetto source scraping
build: run perfetto build and test on GHA
perfetto: support big-endian in in-process tracing SDK code paths (#7449