New issue
Advanced search Search tips

Issue 847944 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

New-style units are displayed with suffixes

Project Member Reported by eakuefner@chromium.org, May 30 2018

Issue description

Thanks to sullivan@ for reporting this bug. +benjhayden for question below about option 1.

The histogram pipeline currently stores units in TestMetadata entities with improvement direction suffixes, see

https://cs.chromium.org/chromium/src/third_party/catapult/dashboard/dashboard/add_histograms_queue.py?l=166&rcl=517100ca073f7deaf4818786104daf7e7c744b8d.

This causes these suffixed units to surface on the alerts page and on graphs, which is ugly.

There are two possible fixes:

1. Change add_histograms_queue to store the unsuffixed unit in the TestMetadata entity instead. This is super easy, since all the units will be fixed as the bots cycle. But Ben, would this cause any obvious problems for v2spa?
2. Change the places where we display units on the frontend to look up units using Unit, and then display the base unit's name instead. This seems like it would be more complicated, so I'd like to consider it only if 1. will cause problems for v2spa.
 
Labels: -Pri-2 Pri-1
Option 2, please. V2SPA does rely on receiving the full unit.
Long term, TBMv2 (and hence the histogram pipeline) should agree with the dashboard backend and frontend about whether units include improvement direction. I'd be open to splitting improvement direction from units in TBMv2 and V2SPA in order to match the dashboard backend, though that would require plumbing it separately at every API boundary.

Comment 3 by sullivan@google.com, May 31 2018

Cc: simonhatch@chromium.org
I'm okay with implementing option 2 in the short term.

But it seems really weird to me that the "full unit" is implemented by concatenating the unit name and the improvement direction into the unit name, when the datastore already has a field for improvement direction, which the backend uses.

On top of that, it'll be a long time before all data is fully converted to HistogramSet--doesn't that mean that V2SPA won't work correctly with the old data in the meantime?
I'm also curious about this -- what does v2spa do if the improvement direction isn't specified in the unit string?
For alerts, the API specifies whether an alert is an improvement, so V2SPA uses that to compute the improvement direction for units for alerts:
https://github.com/catapult-project/catapult/blob/v2spa/dashboard/dashboard/spa/alerts-section.js#L1385

Reports and charts use legacy unit info to deduce the improvement direction from the unit if it isn't a tbm2 unit. This is incorrect if any uploaders specify an improvement direction that is different from what legacy unit info says, but I haven't noticed any such timeseries, charts don't currently indicate improvement direction anyway, and report templates have only been created for TBM2 metrics and other well-behaved timeseries such as sizes.py. I'll make a note to plumb improvement direction through /api/report and /api/timeseries2.
https://github.com/catapult-project/catapult/blob/master/tracing/tracing/value/legacy_unit_info.html

Comment 6 by sullivan@google.com, May 31 2018

Thanks, Ben! So does that mean solution #1 is acceptable?

Comment 7 by dtu@chromium.org, May 31 2018

Cc: dtu@chromium.org
+cc dtu, some users have requested both units and improvement direction in Pinpoint results
Documentation for where improvement_direction shows up in chartjson is here: https://github.com/catapult-project/catapult-csm/blob/master/dashboard/docs/data-format.md

Ben or Ethan, where is it in HistogamSet?

Dave, we could also try having the perf dashboard send the info to pinpoint, but it wouldn't work for things like perf tryjobs.
#6: Sure, option 1 is feasible, let me plumb improvement_direction through V2SPA first. I'll let you know when that's done and then you can strip it from the units in the database.

#8: Improvement direction is bundled with the Histogram's units in HistogramSet. Here is where chartjson converter combines them:
https://github.com/catapult-project/catapult/blob/master/tracing/tracing/value/chart_json_converter.html#L53
v2spa plumbs improvement direction well enough for now. You can go ahead and strip improvement direction from TestMetadata.units.
Ethan, status update?
Labels: -Pri-1 Pri-2
Owner: ----
Status: Available (was: Assigned)
I'm not planning on working on this at this point and I don't think it's P1.

We should potentially consider closing in light of the fact that v2spa fixes this.

Sign in to add a comment