Closed Bug 1153471 Opened 9 years ago Closed 6 years ago

Telemetry enum histograms should allow string-typed labels

Categories

(Toolkit :: Telemetry, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: dmosedale, Unassigned)

Details

Because enum histogram labels can only be integers, they are missing some important benefits of enumeration types, when one is dealing with actual enumerations rather than just integer values.  An example is in the Loop code, where we are bucketing call lengths into these buckets:

SHORTER_THAN_10S
BETWEEN_10S_AND_30S
BETWEEN_30S_AND_5M
MORE_THAN_5M 

* automatic (i.e. DRY) maintenance of integer -> human-readable string mapping.  The current requirement of maintaining this by hand is error prone, particularly since separate mappings need to be maintained in the code itself and the scripts that analyze the code.

* about:telemetry only shows the integer values, which makes it error-prone for developers and testers to verify that probes are logging the right things at the right times

* telemetry.mozilla.org (or any other automated tools that don't have special knowledge but allow ad hoc queries) can only show the integer values, which makes it error-prone and non-intuitive for product managers, designers, and engineers to interpret  

We're (currently, at least) using keyed histograms as a workaround to avoid these problems (but cause a few others), even though it's a clear architectural mismatch for the data we're collecting.

Allowing string-typed labels should either address or make it possible to address all of these problems.
(In reply to Dan Mosedale (:dmose) - needinfo? me for response from comment #0)
> 
> * automatic (i.e. DRY) maintenance of integer -> human-readable string
> mapping.  The current requirement of maintaining this by hand is error
> prone, particularly since separate mappings need to be maintained in the
> code itself and the scripts that analyze the code.

I meant "and the scripts that analyze the data".
It would be a very fine thing if existing integer-labeled enum histograms could continue to "just work" and add to the same data collection, so that we don't need to start data collection over.  This may well just come for free, but on the off-chance it doesn't, I thought it would be worth calling out here.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.