• Ehsan Chiniforooshan's avatar
    Fix startup tracing in renderers · f192e8a2
    Ehsan Chiniforooshan authored
    Startup tracing is broken for several reasons:
    
    1. When renderers are forked from a Zygote process, --trace-startup
       flags are ignored.
    
    2. In a non-zygote mode, when --trace-config-file is used, it is
       ignored since sandboxed renderers do not have access to file
       system.
    
    3. Another bug is that --trace-config-file is always passed to
       renderer processes, even if they are created after tracing is
       stopped, e.g. via DevTools.
    
    4. Startup tracing flags are not passed along to the ppapi plugin
       and utility processes.
    
    This CL fixes 1, 3, and 4 and partially fixes 2 by passing categories
    and record mode of a trace config file using flags to sandboxed
    renderer processes so that they do not need to ready these information
    from a file. Obviously, this does not work for complex trace config
    files, but should be enough to resolve existing telemetry issues
    (please see discussions in crbug.com/809833).
    
    Bug: 809833
    Change-Id: I6723664fd477117262763476c0a86fd6881b94a7
    Reviewed-on: https://chromium-review.googlesource.com/972145Reviewed-by: default avatarJohn Abd-El-Malek <jam@chromium.org>
    Reviewed-by: default avataroysteine <oysteine@chromium.org>
    Commit-Queue: Ehsan Chiniforooshan <chiniforooshan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#545950}
    f192e8a2
content_main_runner.cc 27 KB