tree: ca9ee405500019c58b24e07f9f49771a85b45541 [path history] [tgz]
  1. chromecrash/
  2. cliprectperf/
  3. conference/
  4. cujrunner/
  5. data/
  6. everydaymultitaskingcuj/
  7. executioncontext/
  8. gallerycuj/
  9. geekbenchcuj/
  10. netflix/
  11. notification/
  12. perf/
  13. productivitycuj/
  14. quickcheckcuj/
  15. tabswitchperf/
  16. taskswitchcuj/
  17. arc_youtube_cuj.go
  18. audio_service.go
  19. automation_service.go
  20. automation_service_test.go
  21. basic_youtube_cuj.go
  22. benchmark_cuj.go
  23. bubble_launcher_animation_perf.go
  24. check_power_menu_service.go
  25. check_virtual_keyboard_service.go
  26. chrome_conn_eval_large_expr.go
  27. chrome_crash_early.go
  28. chrome_crash_logged_in.go
  29. chrome_crash_logged_in_direct.go
  30. chrome_crash_loop_v2.go
  31. chrome_crash_not_logged_in.go
  32. chrome_crash_not_logged_in_direct.go
  33. chrome_crash_reporter_metrics.go
  34. chrome_hang_respawn.go
  35. chrome_pip_energy_and_power.go
  36. chrome_pip_rounded_corners_underlay.go
  37. chrome_respawn.go
  38. chrometto_stack_profiling.go
  39. clear_google_drive_files.go
  40. clip_rect_perf.go
  41. conn_service.go
  42. cuj_runner.go
  43. debug_lacros_perf.go
  44. desk_button_desk_bar_perf.go
  45. desk_templates_cuj.go
  46. desks_animation_perf.go
  47. desks_chained_animation_perf.go
  48. desks_cuj.go
  49. desks_trackpad_swipe_perf.go
  50. desktop_control.go
  51. DIR_METADATA
  52. dmic_record.go
  53. doc.go
  54. docs_cuj.go
  55. drag_maximized_window_perf.go
  56. drag_tab_in_clamshell_perf.go
  57. drag_tab_in_tablet_perf.go
  58. drag_window_from_shelf_perf.go
  59. example_cuj.go
  60. gallery_cuj.go
  61. geekbench5_cuj.go
  62. geekbench6_cuj.go
  63. google_sheets_cuj.go
  64. google_slides_cuj.go
  65. hotseat_animation.go
  66. hotseat_drag.go
  67. hotseat_scroll_perf.go
  68. idle_perf.go
  69. keyboard_binding.go
  70. lacros_service.go
  71. launcher_page_switch_perf.go
  72. login_perf.go
  73. media_session_api.go
  74. meet_cuj.go
  75. new_conn_for_target_after_suspend.go
  76. notification_close_perf.go
  77. notification_popup_perf.go
  78. notification_scrolling_perf.go
  79. notification_service.go
  80. oobe_perf.go
  81. overview_drag_window_perf.go
  82. overview_perf.go
  83. overview_scroll_perf.go
  84. overview_with_expanded_desks_bar_perf.go
  85. OWNERS
  86. page_load_perf.go
  87. privacy_indicators.go
  88. quick_check_cuj.go
  89. README.md
  90. request_mobile_site_tablet.go
  91. screen_recorder.go
  92. screen_recorder_service.go
  93. screen_resolution_change.go
  94. screen_rotation_perf.go
  95. screenlock_service.go
  96. session_manager_respawn.go
  97. snap_perf.go
  98. split_view_resize_perf.go
  99. stack_sampled_metrics_v2.go
  100. system_tray_items_perf.go
  101. tab_hover_card_animation_perf.go
  102. tab_loading_animation_perf.go
  103. tab_switch_perf.go
  104. tab_switch_perf_recorder.go
  105. tablet_transition_perf.go
  106. task_switch_cuj.go
  107. tconn_service.go
  108. timezone_editable.go
  109. unlock_perf.go
  110. video_cuj.go
  111. webui_js_errors.go
  112. window_arrangement_cuj.go
  113. window_control.go
  114. window_cycle_perf.go
  115. window_resize_perf.go
  116. window_state_transitions_cuj.go
  117. youtube_audio_stress.go
  118. youtube_multi_tab.go
  119. youtube_screen_rotate.go
  120. youtube_stream_cuj.go
  121. youtube_stream_hdmi_display.go
src/go.chromium.org/tast-tests/cros/local/bundles/cros/ui/README.md

Performance CUJ Documentation and Guide

Author: ramsaroop@google.com, cros-sw-perf@google.com Updated: Jan 8, 2023

The purpose of this document is to provide a guide on how to locally run Performance CUJs, such as DesksCUJ and MeetCUJ.

Prerequisites

# Outside the chroot
$ cros_sdk update_chroot

Running a Performance CUJ

Commands

The following command assumes that the chromiumos checkout is found at ~/chromiumos. If this path is different, the commands must be appropriately adjusted.

# Outside the chroot
$ cd ~/chromiumos                     # Move to the ChromiumOS directory.
$ cros_sdk                            # Enter the chroot.
$ tast run <DUT IP> <TEST NAME>       # Run test.

Additional Flags

  1. -var=cujrecorder.isLocal=true -var=cuj.isLocal=true Skips temperature and CPU cooldown checks. This is useful for local development to speed up test run time.

  2. var=cujrecorder.record=true Records a video and saves a file record.webm in the test output.

Reading Test Output

Once the test completes, the last line of the test output should have a filepath in the form:

/tmp/tast/results/20231103-110702

From within the chroot, you can view the test metrics as follows:

$ vim /tmp/tast/results/20231103-110702/tests/{test-name}/results-chart.json

From outside the chroot, you can view the test metrics as follows:

$ vim chromiumos/out/tast/results/20231103-110702/tests/{test-name}/results-chart.json

Running CUJ Examples

Running One Test

$ tast run <DUT IP> ui.MeetCUJ.docs

Running Multiple Tests

$ tast run <DUT IP> ui.GoogleSheetsCUJ ui.GoogleSheetsCUJ.battery_saver

Running Test with Additional Flags

$ tast run -var=cujrecorder.isLocal=true -var=cuj.isLocal=true <DUT IP> ui.DesksCUJ

Performance CUJ Documentation

go/cuj-documentation contains a list of valid Performance CUJs that are supported by the Software performance Team.

go/cuj-videos contains video demos of each of the CUJs.