
Under perfetto client library, ETW exports (based in TraceLog)
don't work.
This CL implements exports based on interceptor. This improves support
for some type of track events (dynamic name and categories) and
adds a duration field to events.
Arguments are no longer exported; proto based args were not supported
in the existing etw export anyway.
A downside is that the new method covers less of startup; perfetto
backend is initialized later than the previous exports; this is
because perfetto has dependencies on mojo and the ThreadPool, though
those restrictions could be worked around in the future
Bug: 1465855
, 1497783
Change-Id: I03f2e45b640615fa8b639ee4a5616c0894a65ff2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4952937
Reviewed-by: Etienne Bergeron <etienneb@chromium.org>
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1224499}