New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 872551 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Aug 10
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug

Blocked on:
issue 847857

Blocking:
issue 867368



Sign in to add a comment

Illegal wpr file name tough_canvas_cases_001.wprgo, doesn't begin with tough_pinch_zoom_cases

Project Member Reported by kainino@chromium.org, Aug 9

Issue description

I'm trying to add a new perf test. I'm not sure I'm doing it right, but while I was trying to do so I found these instructions:
https://chromium.googlesource.com/chromium/src/+/6a866d29f4314b990981119285da46540a50742c/docs/speed/benchmark/harnesses/rendering.md

So I tried doing this, on master (f1b3001131c9) with an existing story - without my new changes:

$ tools/perf/record_wpr --browser=system rendering_desktop --story-filter=animometer_webgl

and got the error below. Any idea what is going on here?

[90/7475]
(WARNING) 2018-08-08 19:11:01,417 desktop_browser_finder.FindAllAvailableBrowsers:278  Chrome build location for linux_x86_64 not found. Browser will
 be run without Flash.
[ RUN      ] rendering.desktop/animometer_webgl
(WARNING) 2018-08-08 19:11:18,451 model._CreateImporters:259  No importer found for TraceDataPart("telemetry")
[       OK ] rendering.desktop/animometer_webgl (23415 ms)
[  PASSED  ] 1 test.
Traceback (most recent call last):
  <module> at /usr/local/google/home/kainino/src/chrome/src/tools/perf/record_wpr:24
    sys.exit(record_wpr.Main(environment=config))
  Main at /usr/local/google/home/kainino/src/chrome/src/third_party/catapult/telemetry/telemetry/record_wpr.py:305
    wpr_recorder.HandleResults(results, args.upload)
  HandleResults at /usr/local/google/home/kainino/src/chrome/src/third_party/catapult/telemetry/telemetry/record_wpr.py:255
    target_platform=self._record_page_test.platform)
  AddRecordedStories at /usr/local/google/home/kainino/src/chrome/src/third_party/catapult/telemetry/telemetry/wpr/archive_info.py:143
    (target_wpr_file, target_wpr_file_path) = self._NextWprFileName()
  _NextWprFileName at /usr/local/google/home/kainino/src/chrome/src/third_party/catapult/telemetry/telemetry/wpr/archive_info.py:212
    ', doesn\'t begin with ' + base)
Exception: Illegal wpr file name tough_canvas_cases_001.wprgo, doesn't begin with tough_pinch_zoom_cases
Locals:
  base           : u'tough_pinch_zoom_cases'
  extension      : 'wprgo'
  highest_number : 1
  match          : <_sre.SRE_Match object at 0x7fe32ce45470>
  p              : u'DEFAULT'
  pattern        : '(?P<BASE>.*)_(?P<NUMBER>[0-9]+).wprgo'
  story          : u'microsoft_speed_reading'
  wpr_file       : u'tough_canvas_cases_001.wprgo'
  wpr_files      : [u'tough_pinch_zoom_cases_000.wprgo', u'tough_canvas_cases_001.wprgo', u'tough_webgl_cases_006.wprgo', u'tough_canvas_cases_001.wp
rgo', u'tough_pinch_zoom_cases_001.wprgo', u'tough_pinch_zoom_cases_001.wprgo', u'tough_webgl_cases_006.wprgo', u'tough_webgl_cases_006.wprgo', u'tou
gh_canvas_cases_001.wprgo', u'tough_pinch_zoom_cases_000.wprgo', u'top_25_012.wprgo', u'tough_canvas_cases_001.wprgo', u'tough_canvas_cases_001.wprgo
', u'tough_webgl_cases_006.wprgo', u'tough_canvas_cases_001.wprgo', u'tough_pinch ... tough_filters_cases_002.wprgo', u'tough_canvas_cases_001.wprgo'
, u'top_25_012.wprgo', u'tough_compositor_cases_001.wprgo', u'tough_pinch_zoom_cases_000.wprgo', u'tough_pinch_zoom_cases_001.wprgo', u'tough_pinch_z
oom_cases_001.wprgo', u'top_25_012.wprgo', u'tough_pinch_zoom_cases_001.wprgo', u'tough_canvas_cases_001.wprgo', u'tough_compositor_cases_001.wprgo',
 u'top_25_012.wprgo', u'tough_pinch_zoom_cases_000.wprgo', u'top_25_012.wprgo', u'tough_pinch_zoom_cases_000.wprgo', u'tough_canvas_cases_001.wprgo']
 (truncated)
 
Cc: perezju@chromium.org amyqiu@google.com sadrul@chromium.org
Owner: vovoy@chromium.org
Status: Assigned (was: Untriaged)
vovoy@ I suspect this is related to your work on WPR archive recently, can you take a look?
OK
In archive_info.py _NextWprFileName(), it checks if every wprgo entries in the json file begins with the same base name.

Most tools/perf/page_sets/data/*.json have the same base name in all entries (e.g. all wprgo entries begin with top_10 in top_10.json). rendering.desktop and rendering.mobile are the 2 exceptions.

The entries in rendering_*.json are copied from other json instead of generated by record_wpr.

There are some options:
1. Rename all the entries in rendering_*.json and the corresponding *.wprgo.sha1 files to have the same base name.
2. Remove the restriction that all wprgo entries in *.json shall have the same base name.

P.S.: This failure is not caused by changes in  https://crbug.com/869762 
I would vote for 1.
Cc: vovoy@chromium.org
Owner: amyqiu@google.com
Hi, amyqiu@, this issue is related to  https://crbug.com/847857 

Can you help to rename the wprgo entries in rendering_desktop.json and rendering_mobile.json ?

For example: for the top_25_012.wprgo entry in rendering_desktop.json, as it's also in rendering_mobile.json. You may rename it to render_desktop_XXX.wprgo, and have a copy render_mobile_XXX.wprgo for rendering_mobile.json.
Blockedon: 847857
Blocking: 867368
FYI, I tried commenting this check out (archive_info.py:212) and the result was this: every time I try to rerecord something it ends up rerecording into archives with incorrect names, e.g.
* with --story-tag-filter=tough_webgl, key_silk_cases_021.wprgo.sha1
* with --story-filter=camera_to_webgl, tough_canvas_cases_013.wprgo.sha1

I'm working around it by rerecording --story-tag-filter=tough_webgl, then manually renaming the resulting archive, and manually editing rendering_mobile.json/rendering_desktop.json. I think this should unblock me on  issue 867368 .
Project Member

Comment 8 by bugdroid1@chromium.org, Aug 10

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

commit 521ddf971c53f5bc336100b63a33783b859594e5
Author: Amy Qiu <amyqiu@google.com>
Date: Fri Aug 10 13:31:08 2018

Rename wprgo files for rendering page sets

To ensure that all entries in rendering_desktop.json and
rendering_mobile.json have consistently named wprgo files, rename
existing recordings. In cases where the .wprgo.sha1 file is not used
anywhere else, simply rename to rendering_desktop_*.wprgo.sha1 and make
copy for rendering_mobile if needed (or only rendering_mobile). If the .wprgo.sha1
file is used elsewhere (ex.tough_path_rendering_cases), create a new copy for
rendering_desktop and rendering_mobile. Numbering is kept consistent between
rendering_mobile and rendering_desktop. Ex. rendering_desktop_002.wprgo.sha1 and
rendering_mobile_002.wprgo.sha1 both contain what was previously in
tough_filters_cases_002.wprgo.sha1

Bug:  872551 
Change-Id: Iaf542df5fed27d6ed3254e44461ec0e4af93e891
Reviewed-on: https://chromium-review.googlesource.com/1169424
Reviewed-by: Ned Nguyen <nednguyen@google.com>
Commit-Queue: Amy Qiu <amyqiu@google.com>
Cr-Commit-Position: refs/heads/master@{#582134}
[modify] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_desktop.json
[rename] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_desktop_000.wprgo.sha1
[rename] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_desktop_001.wprgo.sha1
[rename] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_desktop_002.wprgo.sha1
[rename] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_desktop_003.wprgo.sha1
[rename] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_desktop_004.wprgo.sha1
[add] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_desktop_005.wprgo.sha1
[rename] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_desktop_006.wprgo.sha1
[add] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_desktop_007.wprgo.sha1
[rename] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_desktop_008.wprgo.sha1
[rename] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_desktop_009.wprgo.sha1
[rename] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_desktop_010.wprgo.sha1
[modify] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile.json
[copy] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_000.wprgo.sha1
[copy] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_002.wprgo.sha1
[copy] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_003.wprgo.sha1
[copy] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_004.wprgo.sha1
[add] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_005.wprgo.sha1
[copy] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_006.wprgo.sha1
[add] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_007.wprgo.sha1
[copy] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_008.wprgo.sha1
[copy] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_009.wprgo.sha1
[copy] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_010.wprgo.sha1
[add] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_011.wprgo.sha1
[add] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_012.wprgo.sha1
[add] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_013.wprgo.sha1
[add] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_014.wprgo.sha1
[add] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_015.wprgo.sha1
[rename] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_016.wprgo.sha1
[rename] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_017.wprgo.sha1
[add] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_018.wprgo.sha1
[add] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_019.wprgo.sha1
[add] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_020.wprgo.sha1
[add] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_021.wprgo.sha1
[add] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_022.wprgo.sha1
[add] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_023.wprgo.sha1
[add] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_024.wprgo.sha1
[rename] https://crrev.com/521ddf971c53f5bc336100b63a33783b859594e5/tools/perf/page_sets/data/rendering_mobile_025.wprgo.sha1

Status: Fixed (was: Assigned)
The wprgo entries have all been renamed, recording should work without errors now.
Fantastic, thank you! I'll rebase my change on top of this fix.
Project Member

Comment 11 by bugdroid1@chromium.org, Aug 11

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

commit 074cecb79d9d30ec9f2bf6b5b10edb6cd77a8b4f
Author: Kai Ninomiya <kainino@chromium.org>
Date: Sat Aug 11 01:26:13 2018

Normalize rendering_desktop.json, rendering_mobile.json

This is needed because re-recording archives (using record_wpr)
causes these files to get re-alphabetized automatically.
This commit lets us re-record an archive without producing an
unreadable diff.

Doing this also removes the duplicate key
"androidpolice_mobile_sync_scroll_2018" from rendering_mobile.json.

Tangentially, also delete the unused archive
rendering_mobile_007.wprgo.sha1.

Bug:  872551 ,  867368 
Change-Id: Ib15c9c0a8600e7fa510a146ad896aa92e4f9de45
Reviewed-on: https://chromium-review.googlesource.com/1171677
Reviewed-by: Ned Nguyen <nednguyen@google.com>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582414}
[modify] https://crrev.com/074cecb79d9d30ec9f2bf6b5b10edb6cd77a8b4f/tools/perf/page_sets/data/rendering_desktop.json
[modify] https://crrev.com/074cecb79d9d30ec9f2bf6b5b10edb6cd77a8b4f/tools/perf/page_sets/data/rendering_mobile.json
[delete] https://crrev.com/6fec3aebc5358345210d473c0ec36fef86ba5937/tools/perf/page_sets/data/rendering_mobile_007.wprgo.sha1

Comment 12 by benhenry@google.com, Jan 16 (3 days ago)

Components: Test>Telemetry

Comment 13 by benhenry@google.com, Jan 16 (3 days ago)

Components: -Speed>Telemetry

Sign in to add a comment