-
Notifications
You must be signed in to change notification settings - Fork 123
Implement metrics broker #1735
Comments
@wresuolc Taking this, since it's still up for grabs. Does Test Pilot need to batch up packets, or can we just fire off events as they are received? If they need to be batched, what are the requirements? (Or is contacting the Telemetry and Tiles teams part of this bug?) |
Another question for myself or anybody: what data has turned out to be most valuable, so far? Ping the experiment teams to find out what data led to product changes, and what data wasn't used for decision making. Once we have that data, we can turn it into suggestions / examples in the metrics doc (#1662). |
No batching, fire away. I've got an open thread w/ legal about your "who owns the GA account" concern |
I've confirmed with legal that we're good to go on the GA plan here (allowing someone to put their credentials in the add-on). Turns out the agreements we have with google are actually available to anyone. In the GA account you can go into the settings and adjust how much your data is smooshed together with other data, etc. We'll require that experiments have those settings adjusted to protect privacy. If an experiment won't do that for some reason, we'll just leave the GA credentials blank and data won't be collected there. |
@wresuolc @lmorchard Based on the docs in #1662, I sketched out a super rough draft of a One thing I'm not clear on is whether |
I'd say ping the main addon with nsIObserver (SDK & bootstrapped & XUL) or BroadcastChannel (webextension). By going with the messaging channels, we tried to simplify the usage of There's also more that goes on in Telemetry than just pinging a server via HTTP. The common submission API we use with |
Sounds like what we need here is reusable code that works for:
And we need that code to offer a function that accepts a generic reporting data structure and maps it to specific pings sent to:
Seems like GA & Onyx are simple (?) HTTP services. Telemetry is a bit more complicated. Also, will a single module on npm work for every add-on type we want to support? |
wresuolc, lmorchard, and I met to discuss this issue earlier today. Notes are here: https://public.etherpad-mozilla.org/p/test-pilot-metrics-chat-20161115 Copying over the conclusions/decisions to make life easy:
My todo list for this issue:
|
I've opened a PR against ping-centre to add support for the Currently blocked on landing that PR and ping-centre being published to npm (mozilla/ping-centre#22). |
Here's a WIP branch while we're waiting for ping-centre to hit npm: https://github.com/6a68/testpilot/tree/add-ping-centre |
Closed by #2151 |
There is an idea/dream/blueprint at #1662 of a new metrics function implemented in Test Pilot. We should implement it (as a new function, probably, to not mess with the current experiments).
At a minimum lets connect GA and Telemetry. For extra credit, sync up with Tim or Marina and let's start pinging Tim's pipeline too. Activity Stream code uses it, and they have some docs at https://github.com/mozilla/activity-stream/blob/master/data_dictionary.md and https://github.com/mozilla/activity-stream/blob/master/data_events.md . I can help with who to talk to on that team.
This issue is probably bigger than it seems because we're working with 3rd party systems.
The text was updated successfully, but these errors were encountered: