Ab dem 27. März 2025 empfehlen wir, android-latest-release
anstelle von aosp-main
zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Statsd
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Das Statsd-Modul umfasst statsd, einen nativen Dienst, der im Hintergrund ausgeführt wird und Messwerte erfasst, sowie den Java-Dienst StatsCompanionService
, der im Systemprozess ausgeführt wird und eine Brücke zwischen statsd und Java bildet. Dieses Modul kann aktualisiert werden, d. h. es kann außerhalb des normalen Android-Releasezyklus Funktionsupdates erhalten, z. B. Updates der bei der Datenerhebung verwendeten Messwerte.
Modulgrenze
Statsd ist der primäre Berührungspunkt zwischen der Plattform und der Erfassung von Daten zur Launch-Sicherheit. Das StatsD-Modul enthält folgenden Code.
statsd
in frameworks/base/cmds/statsd
StatsCompanionService
in frameworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java
Ein Teil der protobuf-Strukturen der Plattform, die sich hauptsächlich in frameworks/base/core/proto
befinden
Als nativer Dienst kann statsd das Framework überdauern und Abstürze in system_server
selbst erkennen.
In Android 12 wird der Code des Statsd-Moduls von frameworks/base/cmds/StatsD
, frameworks/base/apex/StatsD
und system/core/libstats
verschoben.
Neue Projektstruktur
system/core/libstats
→ packages/modules/StatsD/lib/libstats
system/core/libstats/socket
→ packages/modules/StatsD/lib/libstatssocket
system/core/libstats/pull
→ packages/modules/StatsD/lib/libstatspull
frameworks/base/cmds/StatsD
→ packages/modules/StatsD/bin
frameworks/base/apex/StatsD
→
- Oberste Ebene unverändert kopieren
jni
in framework/jni
verschieben
- Dateien der obersten Ebene in das Verzeichnis
/apex
verschieben
frameworks/base/apex/StatsD/\*
→ packages/modules/StatsD/apex/\*
frameworks/base/apex/StatsD/jni
→ packages/modules/StatsD/apex/framework/jni
cts/hostsidetests/StatsD
→ packages/modules/StatsD/tests
Beispielbefehle für das Verschieben von Patches
Wenden Sie die Änderungen auf die folgenden Branches an:
goog/mainline-prod
goog/main
goog/\*-plus-aosp
aosp/main
Der Verlauf der Dateien in Statsd sollte beibehalten werden.
Das statsd-Modul (com.android.os.statsd
) ist im APEX-Format verfügbar und kann auf Geräten mit Android 11 oder höher verwendet werden.
Modulabhängigkeiten
Das Statsd-Modul bietet eine Reihe von @hide
APIs zum Protokollieren von Ereignissen aus dem System. Bei Java-Code werden die meisten @hide
APIs so umstrukturiert, dass sie auf einer kleineren Gruppe von @SystemApi
-getaggten Methoden basieren, in die ein wenig generierter Glue-Code eingebettet ist. Bei nativem Code werden vorhandene native Funktionen in offizielle VNDK-C-APIs mit generiertem Glue umstrukturiert.
Personalisierung
Das Statsd-Modul unterstützt keine Anpassung.
Testen
Die Android Compatibility Test Suite (CTS) prüft die Funktionalität von statsd und der Atome, von denen die Releaseverwaltung abhängt.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# Statsd\n\nThe Statsd module includes statsd, a native service that runs in the background\ncollecting metrics, and the Java service `StatsCompanionService`, which runs in\nthe system process and bridges statsd and Java. This module is updatable,\nmeaning it can receive updates to functionality (such as updates to the metrics\nused in data collection) outside of the normal Android release cycle.\n\nModule boundary\n---------------\n\nStatsd is the primary touchpoint between the platform and launch-safety data\ncollection. The statsd module includes the following code.\n\n- `statsd`, located in `frameworks/base/cmds/statsd`\n\n- `StatsCompanionService`, located in\n `frameworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java`\n\n- A subset of the platform protobuf structures, located primarily in\n `frameworks/base/core/proto`\n\nAs a native service, statsd can outlive the framework and detect crashes in the\n`system_server` itself.\n\nIn Android 12, the Statsd\nmodule code is moved from `frameworks/base/cmds/StatsD`,\n`frameworks/base/apex/StatsD`, and `system/core/libstats`.\n\n### New project structure\n\n- `system/core/libstats` → `packages/modules/StatsD/lib/libstats`\n - `system/core/libstats/socket` → `packages/modules/StatsD/lib/libstatssocket`\n - `system/core/libstats/pull` → `packages/modules/StatsD/lib/libstatspull`\n- `frameworks/base/cmds/StatsD` → `packages/modules/StatsD/bin`\n- `frameworks/base/apex/StatsD` →\n - Copy top level as is\n - Move `jni` into `framework/jni`\n - Move toplevel files into `/apex` directory\n - `frameworks/base/apex/StatsD/\\*` → `packages/modules/StatsD/apex/\\*`\n - `frameworks/base/apex/StatsD/jni` → `packages/modules/StatsD/apex/framework/jni`\n- `cts/hostsidetests/StatsD` → `packages/modules/StatsD/tests`\n\n### Patch move sample commands\n\nApply the changes to the following branches:\n\n- `goog/mainline-prod`\n- `goog/main`\n- `goog/\\*-plus-aosp`\n- `aosp/main`\n\nThe history for the files within Statsd should be preserved.\n\nModule format\n-------------\n\nThe statsd module (`com.android.os.statsd`) is in\n[APEX](/docs/core/ota/apex) format and is available for devices\nrunning Android 11 or higher.\n\nModule dependencies\n-------------------\n\nThe Statsd module presents a set of `@hide` APIs to log events from the\nsystem. For Java code, most `@hide` APIs are refactored to be built on a\nsmaller set of `@SystemApi` tagged methods, with some small generated\nglue code built in. For native code, existing native functions are refactored\nto be official VNDK C APIs, with generated glue.\n\nCustomization\n-------------\n\nThe Statsd module doesn't support customization.\n\nTesting\n-------\n\nThe Android Compatibility Test Suite (CTS) verifies the functionality of statsd\nand the atoms on which release management depends."]]