This implements daemons and libraries providing device telemetry and diagnostics.
The daemon that collects telemetry information and exposes APIs that allow to access it. This daemon also acts as a proxy to the more heavily isolated diagnostics_processor
daemon.
This daemon will process the telemetry information provided by the diagnosticsd
daemon. Exposes an API that allows to obtain the output of the telemetry processing.
The bidirectional API between diagnosticsd
and the browser is based on Mojo. The bootstrapping of the Mojo connection is performed via D-Bus - specifically, by the browser calling the BootstrapMojoConnection method.
The bidirectional API between diagnosticsd
and diagnostics_processor
is based on gRPC running over Unix domain sockets.