• Peter Marshall's avatar
    [tracing] Use the new perfetto client API · edd383fb
    Peter Marshall authored
    The client API provides a much simpler interface so that we don't have
    to deal with producers, consumers etc. directly. This CL removes all the
    code that dealt with the more complex API used previously.
    
    The architecture used here requires that the embedder call into
    Tracing::Initialize() to set up the tracing backend. The tracing
    controller then connects to this backend when calling
    DataSource::Register() and Tracing::NewTrace(). This will ultimately
    avoid the need for a virtual call (or two) for every trace event that
    need to be dispatched over the API - chrome can provide a backend
    and V8 will connect to it opaquely with the same code when tracing is
    enabled.
    
    Cq-Include-Trybots: luci.v8.try:v8_linux64_perfetto_dbg_ng
    Bug: v8:8339
    Change-Id: I6b74fbb49ffcc89638caeb59ed3d5cc81238f3e8
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1634916Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Commit-Queue: Peter Marshall <petermarshall@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#62568}
    edd383fb
tracing-controller.cc 15.8 KB