Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Issue 2769643002: Speed up the EQT metric computation. (Closed)

Created:
3 years, 9 months ago by ulan
Modified:
3 years, 9 months ago
Reviewers:
benjhayden
CC:
catapult-reviews_chromium.org, tracing-review_chromium.org
Target Ref:
refs/heads/master
Project:
catapult
Visibility:
Public.

Description

Speed up the EQT metric computation. Performance profiling shows that computing TTI is expensive. This patch shares the computed TTI between the main EQT metric and the diagnostic metrics. The performance win is ~10 seconds per story in v8.infinite_scroll_tbmv2 benchmark. BUG=chromium:625701 Review-Url: https://codereview.chromium.org/2769643002 Committed: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+/7c7b8a1defa3e74e8c947461b6a4a5aa705594a1

Patch Set 1 #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+35 lines, -21 lines) Patch
M tracing/tracing/metrics/system_health/expected_queueing_time_metric.html View 6 chunks +32 lines, -20 lines 1 comment Download
M tracing/tracing/metrics/system_health/expected_queueing_time_metric_test.html View 1 chunk +3 lines, -1 line 0 comments Download

Messages

Total messages: 11 (5 generated)
ulan
PTAL. https://codereview.chromium.org/2769643002/diff/1/tracing/tracing/metrics/system_health/expected_queueing_time_metric.html File tracing/tracing/metrics/system_health/expected_queueing_time_metric.html (right): https://codereview.chromium.org/2769643002/diff/1/tracing/tracing/metrics/system_health/expected_queueing_time_metric.html#newcode107 tracing/tracing/metrics/system_health/expected_queueing_time_metric.html:107: const rendererToInteractiveTimestamps = This is the main change.
3 years, 9 months ago (2017-03-22 12:29:49 UTC) #3
benjhayden
Wow, 10s/story! LGTM! Can you share a little bit about how you measured that? We ...
3 years, 9 months ago (2017-03-22 22:56:47 UTC) #4
ulan
On 2017/03/22 22:56:47, benjhayden wrote: > Wow, 10s/story! LGTM! > > Can you share a ...
3 years, 9 months ago (2017-03-23 09:18:36 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2769643002/1
3 years, 9 months ago (2017-03-23 09:18:48 UTC) #7
commit-bot: I haz the power
Committed patchset #1 (id:1) as https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+/7c7b8a1defa3e74e8c947461b6a4a5aa705594a1
3 years, 9 months ago (2017-03-23 09:41:10 UTC) #10
benjhayden
3 years, 9 months ago (2017-03-23 20:12:37 UTC) #11
Message was sent while issue was closed.
On 2017/03/23 at 09:18:36, ulan wrote:
> On 2017/03/22 22:56:47, benjhayden wrote:
> > Wow, 10s/story! LGTM!
> > 
> > Can you share a little bit about how you measured that? We could add a
section
> > to how-to-write-metrics about profiling metric performance.
> > 
> I recorded a trace of a benchmark run using --output-format=json. Then loaded
the trace in Chrome and used the DevTools CPU profiler on the EQT metric.
> 
> For measuring metric run-time before and after the change I used
./catapult/tracing/bin/run_metric on the same trace.

Thanks! Want to add some text along these lines to how-to-write-metrics.md?

> 
> > Are there any next steps? More low-hanging fruit?
> There is definitely room for optimization in the metrics that I know (V8,
loading, EQT). The lowest-hanging fruit is to avoid iterating all the events
multiple times. This would require optimizations similar to what I did in this
patch. So this is a trade-off between code complexity and performance.
> 
> Is there a project on improving metrics performance? If not, should we start
it? I think the first step would be to track metrics performance in telemetry.

No project, it's just something that I'm keeping an eye on.
We could add some timing code to metric_map_function and add a per-metric
histogram. I'm not sure if it would be worth it.
Maybe we can just pick some low-hanging fruit and wait until running metrics is
a significant portion of the bot cycle time?

Powered by Google App Engine
This is Rietveld 408576698