Come up with a way to support Glean SDK ping uploads from Rust
Categories
(Core :: Networking: HTTP, task, P1)
Tracking
()
People
(Reporter: chutten, Assigned: chutten)
References
Details
Project FOG is bringing the cross-platform data collection library, Glean SDK, to Firefox Desktop. This'll let us (among other things) instrument code and interactions in Gecko and have the data reported through Glean on all products that use Gecko (looking at you, Fenix).
To do that, FOG needs a way to upload pings in Firefox Desktop. The layer that's doing this is the FOG Integration Layer, which is written in Rust.
Perhaps this is a good opportunity to make Fetch available over Rust? Or maybe the Glean Team should write an HttpChannel consumer and manage their integration as a one-off?
Let's evaluate the trade-offs of these (and any other) approaches and see what sort of solutions we can come up with.
FOG's requirements are to POST a gzip-encoded JSON payload with minimal headers (no Cookies!) to a specific path (determined at runtime) of a specific host (https://incoming.telemetry.mozilla.org or http://localhost). The edge server spec is here.
Assignee | ||
Comment 1•5 years ago
|
||
In a conversation on matrix :dragana mentioned that this might be a good opportunity to wrap Fetch in Rust, possibly with a little extra internal flag to allow FOG to turn unnecessary headers off (if necessary).
(( Another option floated was that we could try a one-off integration in C++ using HttpChannel. But we decided fetch
was the better abstraction to put our efforts behind. ))
:dragana, did I summarize correctly? If we're heading for a Rust API for Fetch, you mentioned you could point me at some glue code and API examples I could crib from?
Comment 2•5 years ago
|
||
As we discussed via email there is bug 1628068 that will salved this problem.
Assignee | ||
Updated•5 years ago
|
Description
•