Closed Bug 1223030 Opened 9 years ago Closed 8 years ago

Add support for x-y bubble charts in telemetry

Categories

(Toolkit :: Telemetry, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox45 --- affected

People

(Reporter: kats, Unassigned)

References

Details

I would like to add a telemetry metric which is not just a one-axis histogram. It is instead a two-axis metric. What I would like to see is an API like so:

void Telemetry::Accumulate(ID id, uint32_t aX, uint32_t aY);

which goes with a Histograms.json entry like so (for example):

  "CHECKERBOARDED_VELOCITY_CSSPIXELS_MS": {
    "expires_in_version": "never",
    "description": "Magnitude of checkerboarding in CSSPixel-milliseconds per scrollable frame per composite as a function of velocity",
    "x_kind": "exponential",
    "x_high": "10000",
    "x_buckets": 30,
    "y_kind": "exponential",
    "y_high": "3840 * 2160 * 16",
    "y_buckets": 50
  },

and would generate a x-y bubble chart (e.g. [1]) in the telemetry dashboard. The evolution of the metric over releases could be done in an animation where the bubbles move on the chart; I've seen this done before in some TED talk and it was very easy to visualize the change.

[1] http://i.stack.imgur.com/HCCtU.png
There's no support for XY bubble charts in Telemetry right now and Perf team is pretty busy with e10s measurement (bug 1222849) at the moment. I don't know if the Measurement team has more time? I cc'ed Georg.

The right way to do this is to declare a new histogram type and integrate it into the rest of Telemetry. Chromium might have already implemented something similar?

If you really need this in Q4, you could just append another JSON subsection to the telemetry payload. Something like:

telemetryPing = {
  ...
  payload: {
  ...
    xyMeasurements: {
      "CHECKERBOARDED_VELOCITY_CSSPIXELS_MS": [[1, 101], [2, 201]]
    }
  }
}

This is far from ideal, but it would work. A regularly scheduled server could take care of the bucketing, aggregation and visualization.
Whether or not this is needed in Q4 depends on how meaningful you want the checkerboard metric from bug 1221694 to be. A one-axis checkerboard metric gives us some basic data but as Mason suggested, correlating it with velocity would be much more useful.
An update: I no longer need this for the checkerboard metrics (at least for now). We ended up using a different set of metrics which gives us meaningful data and I'm not sure how much value the velocity correlation would give us.
Awesome. Please reopen or refile when/if you find a need.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.