While most uses of the Graphites Metrics type "timing" were indeed for measures of time, it was also sometimes used for tracking other quantities. The motivation for that was that we still want to track, calculate, and visualize percentiles and related quantities in Grafana.
With Graphite that was defacto no problem, because Graphite does not know units, only numbers, and so it dutifully created histograms of anything that was put in under the label of a timing.
However with Prometheus, as I understand the conversation starting from T355837#10431981, units now do matter, and thus bytes should no longer be tracked as "timings" to get the 95th percentile of transferred data.
Examples for existing metrics in JavaScript that are not actually timings:
- timing.growthExperiments.specialHomepage.navigationTransferSize is measuring bytes, typical values between 15KiB and 120 KiB, Max spike in last 30 days was 230 KiB
Note:
- The PHP side of this is tracked in T348796: MediaWiki: Define new metric type - Histogram. The task here is about JavaScript.