summaryrefslogtreecommitdiffstats
path: root/toolkit/components/telemetry/docs/internals/geckoview-streaming.rst
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/telemetry/docs/internals/geckoview-streaming.rst')
-rw-r--r--toolkit/components/telemetry/docs/internals/geckoview-streaming.rst26
1 files changed, 26 insertions, 0 deletions
diff --git a/toolkit/components/telemetry/docs/internals/geckoview-streaming.rst b/toolkit/components/telemetry/docs/internals/geckoview-streaming.rst
new file mode 100644
index 0000000000..10dfcdf860
--- /dev/null
+++ b/toolkit/components/telemetry/docs/internals/geckoview-streaming.rst
@@ -0,0 +1,26 @@
+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 :doc:`this guide <../start/report-gecko-telemetry-in-glean>`
+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``.