Implement the proposed Glean Interface for Firefox Telemetry (GIFFT)
Categories
(Toolkit :: Telemetry, enhancement, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox89 | --- | fixed |
People
(Reporter: chutten, Assigned: chutten)
References
(Blocks 1 open bug)
Details
(Whiteboard: [telemetry:fog:m?])
Attachments
(7 files)
48 bytes,
text/x-github-pull-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
Bug 1685406 - Clarify how new Glean metric types should architect themselves in FOG's MLA r?janerik!
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
Following the design proposed in bug 1681812 (proposal doc), implement the mirroring of Glean Metric Type API calls in C++ and JS to Telemetry APIs when the metrics have telemetry mirrors specified in their definitions in metrics.yaml
.
Work will include:
- Augmenting glean_parser to accept
telemetry_mirror
string fields and verify the mirrored metrics have a lifetime ofping
- Adding the new Glean Metric ID -> Histogram/Scalar/Event ID maps/switchblocks to the glean_parser C++ code generator
- Augmenting each Glean Metric Type in the MLA (
toolkit/components/glean/bindings/private/
) to check if there's a mirror and, if so, call the appropriate Telemetry APIs- Be careful about processes here.
- Tests
- Documentation in-tree, including a conversion guide
- Be sure to highlight that this is a temporary measure to get us through Migration
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Comment 1•4 years ago
|
||
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 2•4 years ago
|
||
Additional requirement: Due to bug 1670261 stalled due to new gecko+nimbus+a-s+glean megazord proposal, this should also provide an ability to instrument using Glean APIs in C++/JS without Glean actually being present in the build. (Glean No-op or GNop)
As a result C++ and JS APIs and generated metrics will be unconditionally present in Gecko.
Assignee | ||
Comment 3•4 years ago
|
||
Assignee | ||
Comment 4•4 years ago
|
||
Depends on D109624
Assignee | ||
Comment 5•4 years ago
|
||
Depends on D109625
Assignee | ||
Comment 6•4 years ago
|
||
Depends on D109626
Assignee | ||
Comment 7•4 years ago
|
||
I tried my best to keep this self-contained so it'll be easy to remove.
Notes:
- For all three Telemetry probe types we must generate new headers
that map from metric id to mirrored probe id. - For events, note that we must generate a second file because of
our strongly-typed enum class extra event keys in the C++ FOG
Event API. - This is intended to work in situations where there is no Glean.
This meant rewriting a few APIs to return monotonically-increasing
ids instead of 0 in the event there is no SDK around to generate them.
Depends on D109627
Assignee | ||
Comment 8•4 years ago
|
||
Depends on D109628
Comment 10•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/279347edf165
https://hg.mozilla.org/mozilla-central/rev/96f79e770e74
https://hg.mozilla.org/mozilla-central/rev/ae94785c583d
https://hg.mozilla.org/mozilla-central/rev/e2c7170587f0
https://hg.mozilla.org/mozilla-central/rev/6f6bf921bdc8
https://hg.mozilla.org/mozilla-central/rev/261f77f6af13
Description
•