New issue
Advanced search Search tips

Issue 792214 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 731255
issue 799072



Sign in to add a comment

Add metric for delta between start of main and first frame presented

Project Member Reported by sky@chromium.org, Dec 5 2017

Issue description

We want to make sure the ui service doesn't impact this time.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/df8ebd61e7a32186d242c6f98a256814550b89e5

commit df8ebd61e7a32186d242c6f98a256814550b89e5
Author: Scott Violet <sky@chromium.org>
Date: Wed Dec 06 02:12:12 2017

chromeos: really fix up event locations

I had the locations wrong. The root is reset to the local, not the
local to the root. Not sure why some tests passed with the other way.

BUG= 792214 
TEST=none

Change-Id: I9a0a29c0c412d9c097d1c7df64312e1693328998
Reviewed-on: https://chromium-review.googlesource.com/810009
Reviewed-by: Elliot Glaysher <erg@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521950}
[modify] https://crrev.com/df8ebd61e7a32186d242c6f98a256814550b89e5/ui/aura/event_injector.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Dec 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e979c01d386fa7973d745ca803fd26e2a695ccbf

commit e979c01d386fa7973d745ca803fd26e2a695ccbf
Author: Scott Violet <sky@chromium.org>
Date: Fri Dec 08 00:18:16 2017

Adds ability to register for callback when next frame is presented

I plan to use this to track the time from main to the first frame
being displayed for chromeos.

BUG= 792214 
TEST=none

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I9697d6fa9b0044ec2ff3a490c37df22e5c1a3e41
Reviewed-on: https://chromium-review.googlesource.com/809885
Commit-Queue: Scott Violet <sky@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522633}
[modify] https://crrev.com/e979c01d386fa7973d745ca803fd26e2a695ccbf/cc/test/fake_layer_tree_host_impl_client.h
[modify] https://crrev.com/e979c01d386fa7973d745ca803fd26e2a695ccbf/cc/trees/layer_tree_frame_sink_client.h
[modify] https://crrev.com/e979c01d386fa7973d745ca803fd26e2a695ccbf/cc/trees/layer_tree_host.cc
[modify] https://crrev.com/e979c01d386fa7973d745ca803fd26e2a695ccbf/cc/trees/layer_tree_host.h
[modify] https://crrev.com/e979c01d386fa7973d745ca803fd26e2a695ccbf/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/e979c01d386fa7973d745ca803fd26e2a695ccbf/cc/trees/layer_tree_host_impl.h
[modify] https://crrev.com/e979c01d386fa7973d745ca803fd26e2a695ccbf/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/e979c01d386fa7973d745ca803fd26e2a695ccbf/cc/trees/layer_tree_impl.h
[modify] https://crrev.com/e979c01d386fa7973d745ca803fd26e2a695ccbf/cc/trees/proxy_impl.cc
[modify] https://crrev.com/e979c01d386fa7973d745ca803fd26e2a695ccbf/cc/trees/proxy_impl.h
[modify] https://crrev.com/e979c01d386fa7973d745ca803fd26e2a695ccbf/cc/trees/proxy_main.cc
[modify] https://crrev.com/e979c01d386fa7973d745ca803fd26e2a695ccbf/cc/trees/proxy_main.h
[modify] https://crrev.com/e979c01d386fa7973d745ca803fd26e2a695ccbf/cc/trees/single_thread_proxy.cc
[modify] https://crrev.com/e979c01d386fa7973d745ca803fd26e2a695ccbf/cc/trees/single_thread_proxy.h
[modify] https://crrev.com/e979c01d386fa7973d745ca803fd26e2a695ccbf/ui/compositor/compositor.cc
[modify] https://crrev.com/e979c01d386fa7973d745ca803fd26e2a695ccbf/ui/compositor/compositor.h

Comment 3 by sky@chromium.org, Dec 8 2017

Blockedon: 776877
Project Member

Comment 4 by bugdroid1@chromium.org, Dec 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3c554ae583241a102edd960d761382397efbfefa

commit 3c554ae583241a102edd960d761382397efbfefa
Author: Scott Violet <sky@chromium.org>
Date: Wed Dec 13 02:25:41 2017

chromeos: Adds metric for time between main and ChromeOS UI is visible

Visible in this case means pixels have been lit on the display for the
ChromeOS system UI.

This is not completely enabled as the underlying wiring this is using
(presentation-token) is not fully implemented yet. There is a test,
but it is disabled for this reason as well.

BUG= 792214 
TEST=none

Change-Id: I6c3574a7204dda6112af69dc63f246906fa6a58b
Reviewed-on: https://chromium-review.googlesource.com/818382
Commit-Queue: Scott Violet <sky@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523658}
[modify] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/ash/BUILD.gn
[modify] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/ash/manifest.json
[modify] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/ash/metrics/desktop_task_switch_metric_recorder.h
[add] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/ash/metrics/time_to_first_present_recorder.cc
[add] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/ash/metrics/time_to_first_present_recorder.h
[add] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/ash/metrics/time_to_first_present_recorder_test_api.cc
[add] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/ash/metrics/time_to_first_present_recorder_test_api.h
[modify] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/ash/mojo_interface_factory.cc
[modify] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/ash/mojo_test_interface_factory.cc
[modify] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/ash/public/interfaces/BUILD.gn
[add] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/ash/public/interfaces/process_creation_time_recorder.mojom
[add] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/ash/public/interfaces/time_to_first_present_recorder_test_api.mojom
[modify] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/ash/shell.cc
[modify] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/ash/shell.h
[modify] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/ash/shell_test_api.h
[modify] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/chrome/browser/chromeos/BUILD.gn
[modify] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
[add] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/chrome/browser/ui/views/ash/time_to_first_present_recorder_browsertest.cc
[modify] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/chrome/test/BUILD.gn
[modify] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/tools/metrics/histograms/histograms.xml
[modify] https://crrev.com/3c554ae583241a102edd960d761382397efbfefa/ui/aura/window.h

Project Member

Comment 5 by bugdroid1@chromium.org, Dec 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e3d44eea7f0bff5edabd26d9379af6ceec1b136a

commit e3d44eea7f0bff5edabd26d9379af6ceec1b136a
Author: Scott Violet <sky@chromium.org>
Date: Fri Dec 15 01:09:23 2017

centralize checking presentation-callback into standalone function

And add a couple of calls/overrides for tests to support presentation-callback.

BUG= 792214 , 776877 
TEST=covered by test

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I1be1e89c65caa971ed108d361f4d9352651d2c35
Reviewed-on: https://chromium-review.googlesource.com/826302
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524273}
[modify] https://crrev.com/e3d44eea7f0bff5edabd26d9379af6ceec1b136a/ash/metrics/time_to_first_present_recorder.cc
[modify] https://crrev.com/e3d44eea7f0bff5edabd26d9379af6ceec1b136a/chrome/browser/ui/views/ash/time_to_first_present_recorder_browsertest.cc
[modify] https://crrev.com/e3d44eea7f0bff5edabd26d9379af6ceec1b136a/gpu/ipc/client/command_buffer_proxy_impl.cc
[modify] https://crrev.com/e3d44eea7f0bff5edabd26d9379af6ceec1b136a/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/e3d44eea7f0bff5edabd26d9379af6ceec1b136a/gpu/ipc/service/pass_through_image_transport_surface.cc
[modify] https://crrev.com/e3d44eea7f0bff5edabd26d9379af6ceec1b136a/ui/gl/BUILD.gn
[modify] https://crrev.com/e3d44eea7f0bff5edabd26d9379af6ceec1b136a/ui/gl/gl_surface_osmesa.cc
[modify] https://crrev.com/e3d44eea7f0bff5edabd26d9379af6ceec1b136a/ui/gl/gl_surface_osmesa.h
[modify] https://crrev.com/e3d44eea7f0bff5edabd26d9379af6ceec1b136a/ui/gl/gl_surface_stub.cc
[modify] https://crrev.com/e3d44eea7f0bff5edabd26d9379af6ceec1b136a/ui/gl/gl_surface_stub.h
[add] https://crrev.com/e3d44eea7f0bff5edabd26d9379af6ceec1b136a/ui/gl/gl_switches_util.cc
[add] https://crrev.com/e3d44eea7f0bff5edabd26d9379af6ceec1b136a/ui/gl/gl_switches_util.h
[modify] https://crrev.com/e3d44eea7f0bff5edabd26d9379af6ceec1b136a/ui/ozone/platform/headless/gl_surface_osmesa_png.cc
[modify] https://crrev.com/e3d44eea7f0bff5edabd26d9379af6ceec1b136a/ui/ozone/platform/headless/gl_surface_osmesa_png.h

Blocking: 799072

Comment 7 by sky@chromium.org, Jan 4 2018

James, if you want to test this now supply the switch --enable-presentation-callback. Once that switch is enabled by default on chromeos I'll move this to fixed.
Project Member

Comment 8 by bugdroid1@chromium.org, Jan 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a95e276ba77b0f2fa606e5e01d847b8d91e2c763

commit a95e276ba77b0f2fa606e5e01d847b8d91e2c763
Author: Scott Violet <sky@chromium.org>
Date: Fri Jan 12 17:08:10 2018

chromeos: enable presentation callback on chromeos

It's been fully implemented on Chrome OS and we would like to use it
for metrics.

BUG= 776877 , 792214 
TEST=covered by tests

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: If4a49439eb5e8ddf75ec02ccaaa34e153f42f504
Reviewed-on: https://chromium-review.googlesource.com/862707
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528976}
[modify] https://crrev.com/a95e276ba77b0f2fa606e5e01d847b8d91e2c763/ui/gl/gl_switches_util.cc

Comment 9 by sky@chromium.org, Jan 12 2018

Blockedon: -776877
Status: Fixed (was: Started)
I've turned on the presentation callback for chromeos, which means we are now collecting timing.

Sign in to add a comment