GeckoView Streaming API

As an alternative to GeckoView mode, 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.


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.