GeckoView Streaming API

As an alternative to the normal mode where Firefox Desktop records and sends data, Telemetry can instead route Histogram samples and Scalar values out of Gecko to a Telemetry Delegate.

To do this, toolkit.telemetry.geckoview.streaming must be set to true, and Gecko must have been built with MOZ_WIDGET_ANDROID defined.

See this guide for how to collect data in this mode.

Details

Samples accumulated on Histograms and values set (ScalarAdd and ScalarSetMaximum operations are not supported) on Scalars that have products lists that include geckoview_streaming will be redirected to a small batching service in toolkit/components/telemetry/geckoview/streaming. The batching service (essentially just tables of histogram/scalar names to lists of samples/values) will hold on to these lists of samples/values paired to the histogram/scalar names for a length of time (toolkit.telemetry.geckoview.batchDurationMS (default 5000)) after which the next accumulation or ScalarSet will trigger the whole batch (all lists) to be passed over to the StreamingTelemetryDelegate.