Implement a Firefox Origin Telemetry skeleton
Categories
(Toolkit :: Telemetry, enhancement, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox68 | --- | fixed |
People
(Reporter: chutten, Assigned: chutten)
References
Details
Attachments
(4 files)
This bug is about learning how well the proposed design of Firefox Origin Telemetry (bug 1522660) works when we try to turn it into a concrete implementation.
This skeleton will have:
- An API (which we hope to keep stable as we move forward with implementation)
- A data storage mechanism
- The ability to prio-encode information to a payload
- Only enough tests to convince myself that it works
- A list of fake origins
This skeleton does not need to have:
- A ping assembly, scheduling, and sending mechanism (because I'm rather practised at this part already)
- Any way to snapshot the plaintext or encoded data (because that's only needed by tests, about:telemetry, and ping assembly)
- The rest of the tests
about:telemetry
support- The actual list of supported origins
Questions we hope this exercise will help answer:
- In what language should the API and data storage portions be written?
- Are any aspects of the design proposal under-specified? Turn out to be wrong?
Assignee | ||
Comment 1•6 years ago
|
||
Assignee | ||
Comment 2•6 years ago
|
||
Depends on D21756
Updated•6 years ago
|
Assignee | ||
Comment 3•6 years ago
|
||
For some reason Telemetry's gtests doesn't like one or more of the dependencies
of mprio.h, so I had to move it into PrioEncoder's cpp and forward declare the
PublicKey typedefs.
It isn't the cleanest, but I'm surprised C++ let me off with just that level
of nonsensery.
Depends on D22119
Assignee | ||
Comment 4•6 years ago
|
||
The threading and promise handling is kept at the TelemetryImpl level
deliberately to facilitate testing. It also turns out that hangs/modules do
more-or-less the same split for their off-thread collection, so in
retrospect it is the obvious choice.
For the batch ID we're using the app build id as discussed.
Depends on D22605
Assignee | ||
Comment 5•6 years ago
|
||
Try run's looking fairly green: https://treeherder.mozilla.org/#/jobs?repo=try&revision=9b4584eb545c737e68f1cfbee2b64540732dfd99
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Comment 7•6 years ago
|
||
Backed out for causing leaks
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=235237671&repo=autoland&lineNumber=3728
Backout: https://hg.mozilla.org/integration/autoland/rev/7eb8e627961c4b54041da26c73bd5ee2d65fee3c
Assignee | ||
Comment 8•6 years ago
|
||
Ack, missed gBatchID's buffer and gOriginsList's nsTArray_base.
New patches put them on the heap and manage them explicitly. I guess I'll work on moving them to definitions files next so I can generate them at build time instead of putting them on the heap.
Comment 10•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/a032ef105979
https://hg.mozilla.org/mozilla-central/rev/9cdc1c4c026b
https://hg.mozilla.org/mozilla-central/rev/70d73a31d22a
https://hg.mozilla.org/mozilla-central/rev/91a4fa9c15a8
Comment 11•6 years ago
|
||
Description
•