Od 27 marca 2025 r. zalecamy używanie android-latest-release
zamiast aosp-main
do kompilowania i wspołtworzenia AOSP. Więcej informacji znajdziesz w artykule o zmianach w AOSP.
Statsd
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Moduł Statsd obejmuje statsd, natywny serwis działający w tle, który zbiera dane, oraz usługę Java StatsCompanionService
, która działa w procesie systemowym i łączy statsd z Java. Ten moduł można aktualizować, co oznacza, że może on otrzymywać aktualizacje funkcji (np. aktualizacje danych wykorzystywanych do zbierania danych) poza normalnym cyklem wydawania Androida.
Granica modułu
Statsd to główny punkt styczności platformy z zbieraniem danych dotyczących bezpieczeństwa wdrożenia. Moduł statsd zawiera ten kod:
statsd
w: frameworks/base/cmds/statsd
StatsCompanionService
w: frameworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java
Podzbiór struktur protobuf platformy, znajdujących się głównie w pliku frameworks/base/core/proto
Jako usługa natywnych, statsd może przetrwać dłużej niż framework i wykrywać awarie w system_server
.
W Androidzie 12 kod modułu Statsd został przeniesiony z plików frameworks/base/cmds/StatsD
, frameworks/base/apex/StatsD
i system/core/libstats
.
Nowa struktura projektu
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
→
- Kopiowanie najwyższego poziomu bez zmian
- Przenieś
jni
do framework/jni
- Przenieś pliki najwyższego poziomu do katalogu
/apex
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
Przykładowe polecenia przenoszenia poprawek
Zastosuj zmiany w tych gałęziach:
goog/mainline-prod
goog/main
goog/\*-plus-aosp
aosp/main
Historia plików w Statsd powinna zostać zachowana.
Moduł statsd (com.android.os.statsd
) jest w formacie APEX i jest dostępny na urządzeniach z Androidem 11 lub nowszym.
Zależności modułu
Moduł Statsd udostępnia zestaw interfejsów API @hide
do rejestrowania zdarzeń z systemu. W przypadku kodu w Javie większość interfejsów @hide
została przebudowana, aby opierała się na mniejszym zbiorze metod z etykietą @SystemApi
, z uwzględnieniem niewielkiego wygenerowanego kodu łączącego. W przypadku kodu natywnego dotychczasowe funkcje natywne są przekształcane w oficjalne interfejsy API C VNDK za pomocą wygenerowanych elementów łączących.
Dostosowywanie
Moduł Statsd nie obsługuje dostosowywania.
Testowanie
Pakiet Compatibility Test Suite (CTS) sprawdza funkcjonalność statsd oraz atomów, od których zależy zarządzanie wersjami.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 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."]]