Closed Bug 661578 Opened 13 years ago Closed 5 years ago

Telemetry: Use a binary data packet + gzip

Categories

(Toolkit :: Telemetry, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: taras.mozilla, Unassigned)

References

Details

As we expand our use of telemetry it would be nice to minimize the size of the data packet.
Can HTTP POSTs (which is what I assume we're using) do gzip compression on the fly? And do we? :)
(In reply to comment #1)
> Can HTTP POSTs (which is what I assume we're using) do gzip compression on
> the fly? And do we? :)

HTTP supports it. Not sure on how to rig up our APIs to use that.
HTTP-level compression is not the best way to minimize the data size. I would have a pre-configured compression dictionary for each release, and avoid doing any binary encoding of the data. I think this will give better results than plain gzip + a binary encoding. I would like to discuss this further as I am considering a similar technique for our HTTP disk cache.
Just how much data are we talking about for telemetry drops, relative to normal HTTP usage, the browser's existing update/blocklist pings, and crash reports?

My only real concern here is that binary data sucks to work with. Unless we're talking about some enormous volume of data, it seems like working with JSON (or XML ;) and compressing it for transfer should be fine.
Component: General → Telemetry

We use JSON and stream-compress it in flight. We also compress it before saving to disk. I think this can be considered fixed, though investigations into next-generation in-flight data formats are always in scope (and are currently taking place as part of the glean project)

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.