• Jakub Chyłkowski's avatar
    Add support for perfetto::TraceConfig in tracing · 47281893
    Jakub Chyłkowski authored
    Currently, the TraceConfig JSON object passed to the DevTools method to
    start tracing only supports configuration of the Chrome-internal trace
    event data source.
    
    This commit provides additional parameters in DevTools:
    
    - base64-encoded serialized protobuf message which takes precedence
      over other parameters,
    
    - backend selection.
    
    In order to handle new parameters, convert
    base::trace_event::TraceConfig to perfetto::TraceConfig before passing
    it and add support for the new perfettoConfig protocol param.
    
    Add test to handle Command to run new test:
    out/Default/content_browsertests --gtest_filter=DevToolsProtocolTest.TracingWithPerfettoConfig
    
    Bug: chromium:1141381, chromium:1141386
    Change-Id: I35e436487b2526bb3bf17bac34b9741712fb5319
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2560581
    Commit-Queue: Eric Seckler <eseckler@chromium.org>
    Reviewed-by: default avatarAndrey Kosyakov <caseq@chromium.org>
    Reviewed-by: default avatarEric Seckler <eseckler@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#836082}
    47281893
tracing_handler.cc 40.5 KB