Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
std::optional<perfetto::Track> parent_track,
Can this become non-optional now that the track is guaranteed to be available?
TracedWrapper<base::TaskPriority>>
Nit: adding the Priority event should really be in its own commit. Not a huge deal though.
proxy.tracing_track(),
Please fix this WARNING reported by ClangTidy: check: bugprone-use-after-move
'proxy' used after it was moved (https://clang.l...
check: bugprone-use-after-move
'proxy' used after it was moved (https://clang.llvm.org/extra/clang-tidy/checks/bugprone/use-after-move.html)
I would make a helper func that that takes an AnyChildProcessHostProxy and returns the tracing track from the wrapped proxy, or Current() for the browser process, and call that from the main ProcessNodeImpl constructor (instead of passing the track as a param).
uint64_t process_track_id,
Since this is unused now, should remove it from the mojom.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Can this become non-optional now that the track is guaranteed to be available?
Done
Nit: adding the Priority event should really be in its own commit. Not a huge deal though.
Done
Please fix this WARNING reported by ClangTidy: check: bugprone-use-after-move
'proxy' used after it was moved (https://clang.l...
check: bugprone-use-after-move
'proxy' used after it was moved (https://clang.llvm.org/extra/clang-tidy/checks/bugprone/use-after-move.html)
I would make a helper func that that takes an AnyChildProcessHostProxy and returns the tracing track from the wrapped proxy, or Current() for the browser process, and call that from the main ProcessNodeImpl constructor (instead of passing the track as a param).
Done
Since this is unused now, should remove it from the mojom.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Code-Review | +1 |
// re-initialized for the same ProcessNode (eg. after a crash).
Nit: this comment is now out of date. (Judgement call whether to keep the CHECK.)
// perfetto track whose parent is a child process track.
Nit: "tracks".
Also I think it would be clearer to phrase this as, "This may be used to create new perfetto tracks nested under the child process track." Otherwise "parent" and "child" are used in different ways in this comment.
// Do not emit events directly to this track. This may be used to create new
Nit: Explain why not. (I assume it's because the child process will also be emitting events to the track, and mixing events from different processes would be confusing?)
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
// re-initialized for the same ProcessNode (eg. after a crash).
Nit: this comment is now out of date. (Judgement call whether to keep the CHECK.)
Done
// perfetto track whose parent is a child process track.
Nit: "tracks".
Also I think it would be clearer to phrase this as, "This may be used to create new perfetto tracks nested under the child process track." Otherwise "parent" and "child" are used in different ways in this comment.
Done
// Do not emit events directly to this track. This may be used to create new
Nit: Explain why not. (I assume it's because the child process will also be emitting events to the track, and mixing events from different processes would be confusing?)
Done -> emitting directly to a track whose id is the process doesn't make a lot of sense, and the UI shows these events in a very misleading way.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Code-Review | +1 |
perfetto::NamedTrack ProcessNodeImpl::CreateTracingTrack(
Nit: the difference between this and GetTracingTrack is confusing. Maybe call this `CreateNestedTracingTrack`?
// auto track = perfetto::NamedTrack( "Name", id,
Nit: extra space here
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Nit: the difference between this and GetTracingTrack is confusing. Maybe call this `CreateNestedTracingTrack`?
Ah no, this isn't needed anymore, deleted.
// auto track = perfetto::NamedTrack( "Name", id,
Etienne Pierre-DorayNit: extra space here
Done
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
[tracing] Guarantee a predictable process track in performance manager
This CL fixes a caveat in dumping PM frame tree: it makes
child process track guaranteed to be available by having
the browser process decide on the track uuid at process creation.
The track uuid is forwarded to child processes through command line.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |