• nednguyen's avatar
    Support tracing metrics for measureTime & measureFrameTime methods in blink_perf (Reland) · c5cc2a4f
    nednguyen authored
    * Fix include:
       1) handle cases thread_times = None
       2) disable testBlinkPerfTracingMetricsForMeasureTime on Win
    
    This CL adds support for tracing metrics with measureTime &
    measureFrameTime methods in blink_perf harness.
    
    If a test has "tracingCategories" & "traceEventsToMeasure" fields
    specified, Telemetry will enable the specified tracing categories &
    compute the cpu time of all the specified trace events (one per test
    run).
    
    Detailed examples of how to use this new API are in third_party/WebKit/PerformanceTests/TestData/
    
    BUG=701059, 715822
    
    TBR=wangxianzhu@chromium.org
    
    Reviewer: you can see this in action by patching this CL & run:
    ./tools/perf/run_benchmark --browser=system blink_perf.testing --story-filter=frame --output-format=json
    [ RUN      ] append-child-measure-time.html
    ...
    ...
    CPU times of trace event "UpdateLayoutTree":
    values 1.8760000000, 3.2080000000, 3.4260000000, 1.9020000000, 1.6990000000, 2.2940000000, 1.8570000000, 1.7100000000, 1.4170000000, 1.4150000000 ms
    avg 2.0804000000 ms
    
    CPU times of trace event "FrameView::layout":
    values 4.6150000000, 8.3140000000, 8.6080000000, 4.4360000000, 4.0940000000, 5.9130000000, 4.5970000000, 3.9440000000, 3.4590000000, 3.4600000000 ms
    avg 5.1440000000 ms
    [ RUN      ] color-changes-measure-frame-time.html
    ...
    ...
    CPU times of trace event "FrameView::prePaint":
    values 5.9890000000, 5.9640000000, 6.2360000000, 6.3870000000, 5.9490000000, 6.3450000000, 6.3340000000, 6.9270000000, 6.8910000000 ms
    avg 6.3357777778 ms
    
    CPU times of trace event "FrameView::paintTree":
    values 30.0950000000, 30.5020000000, 30.6510000000, 30.3380000000, 30.4160000000, 30.3480000000, 30.5110000000, 30.7570000000, 30.6140000000 ms
    avg 30.4702222222 ms
    
    After running the command above, the command also produces 2 trace files
    locally, one for each test.
    
    Review-Url: https://codereview.chromium.org/2819343002
    Cr-Commit-Position: refs/heads/master@{#467445}
    Committed: https://chromium.googlesource.com/chromium/src/+/0d2d43615b4553f00ac711f54dbcc0835f04366b
    
    patch from issue 2819343002 at patchset 270001 (http://crrev.com/2819343002#ps270001)
    
    Review-Url: https://codereview.chromium.org/2844133002
    Cr-Commit-Position: refs/heads/master@{#467637}
    c5cc2a4f
runner.js 14.6 KB