Statystyki

Moduł Statsd zawiera statystyki – natywną usługę działającą w tle zbierające wskaźniki oraz usługę Java StatsCompanionService, która działa w procesie systemowym i łączy statystyki z obsługą języka 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 uruchamiania. 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/StatsDsystem/core/libstats.

Nowa struktura projektu

  • system/core/libstatspackages/modules/StatsD/lib/libstats
    • system/core/libstats/socketpackages/modules/StatsD/lib/libstatssocket
    • system/core/libstats/pullpackages/modules/StatsD/lib/libstatspull
  • frameworks/base/cmds/StatsDpackages/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/jnipackages/modules/StatsD/apex/framework/jni
  • cts/hostsidetests/StatsDpackages/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.

Format modułu

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 tak, 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ą wygenerowanego kodu pośredniczącego.

Dostosowywanie

Moduł statystyk nie obsługuje dostosowywania.

Testowanie

Pakiet Compatibility Test Suite (CTS) sprawdza funkcjonalność statsd oraz atomów, od których zależy zarządzanie wersjami.