UprobeStats

The UprobeStats module was introduced in Android 16. This module enables a dynamic instrumentation infrastructure that:

  • Uses uprobe and eBPF to enable rapid deployment of new telemetry to field devices.
  • Inspects user space processes using BPF programs.
  • Uses config push to control client behavior.
  • Manages BPF program attachment, data reading, and writing to logs.

This module addresses the need for faster telemetry deployment, especially for issues such as unexpected phone reboots and fighting abusive apps. This module enables OEMs to respond faster to concerns (such as virtual display abuse) and production incidents. It enables dynamic instrumentation capability that is crucial for combating app abuse.

Dependencies

The module depends on a platform API to look up executable offsets and paths, and a Statsd API for writing logs to Statsd.