Lock down the 'baseline' ping (or limit the maximum number of data points)
Categories
(Data Platform and Tools :: Glean: SDK, enhancement, P1)
Tracking
(Not tracked)
People
(Reporter: Dexter, Assigned: janerik)
References
Details
(Whiteboard: [telemetry:glean-rs:m11])
Attachments
(1 file)
After discussing bug 1508305 with Georg and Frank, we found that some application specific fields might be required to live in the baseline ping (think of the "release channel", which is only supported by some applications). Such fields are not provided out of the box, as they are not generally useful and only applicable to an handful of applications.
glean should provide a way for applications to add these new fields, with some caveats:
- we should probably limit the number of "custom" fields to prevent overloading the baseline ping;
- we should add a note that this invalidates the blanket "data-review" we had for the baseline ping (bug 1512938); new reviews will be required for the custom fields;
- we should change the schemas accordingly.
Reporter | ||
Updated•6 years ago
|
Comment 1•6 years ago
|
||
I think our implementation supports this already, since the application can set send_in_pings
to ['baseline']
. But we don't limit the number of fields added to that ping or anything of that sort.
We could reserve the baseline
category (which is distinct from the baseline
ping) for glean itself to make reviews more obvious, i.e. if it's in the baseline
category, it's part of glean and reviewed "centrally" for all apps. Otherwise, each app would need their own review for the metrics it adds.
Comment 2•6 years ago
|
||
I like what Mike suggests about leaving the baseline category as a reserved category.
I'm not sure about how the pipeline will like have different schema's for different applications when each client application adds its own metrics. I think we should consider how to keep the schema somewhat static across all apps for the baseline ping but I'm not sure yet how to best accomplish this. A somewhat flexible branch/section of the schema to hold an 'extras' dictionary for the app specific baseline metrics sounds reasonable, but I'm not sure if that approach is possible/practical or not.
Comment 3•6 years ago
|
||
I don't think a different schema or modifications to it will be required, since the schema doesn't explicitly mention specific metrics (except in the ping_info
section, which doesn't come into play here).
Baseline ping would look like (in YAML here, but it's really JSON):
ping_info:
...
metrics:
counter:
baseline.sessions:
42
app.custom: # <-- this is something the app added, because "baseline" is reserved
3
Updated•6 years ago
|
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Updated•6 years ago
|
Updated•6 years ago
|
Reporter | ||
Updated•5 years ago
|
Reporter | ||
Updated•5 years ago
|
Reporter | ||
Updated•5 years ago
|
Comment 4•5 years ago
|
||
We could use glinter for this.
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 5•5 years ago
|
||
Assignee | ||
Updated•5 years ago
|
Description
•