통계

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

Statsd 모듈에는 메트릭을 수집하는 백그라운드에서 실행되는 기본 서비스인 statsd와 시스템 프로세스에서 실행되고 statsd와 Java를 연결하는 Java 서비스 StatsCompanionService 가 포함됩니다. 이 모듈은 업데이트할 수 있습니다. 즉, 정상적인 Android 릴리스 주기 외에 기능 업데이트(예: 데이터 수집에 사용되는 메트릭 업데이트)를 받을 수 있습니다.

모듈 경계

Statsd는 플랫폼과 발사 안전 데이터 수집 사이의 주요 접점입니다. statsd 모듈에는 다음 코드가 포함되어 있습니다.

  • statsd , frameworks/base/cmds/statsd 에 있습니다.

  • frameworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java StatsCompanionService

  • 주로 frameworks/base/core/proto 에 있는 플랫폼 protobuf 구조의 하위 집합

기본 서비스인 statsd는 프레임워크보다 오래 지속되고 system_server 자체에서 충돌을 감지할 수 있습니다.

Android 12에서 Statsd 모듈 코드는 frameworks/base/cmds/StatsD , frameworks/base/apex/StatsDsystem/core/libstats 에서 이동되었습니다.

새로운 프로젝트 구조

  • 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
    • 최상위 레벨을 있는 그대로 복사
    • jni를 framework/jni jni 이동
    • 최상위 파일을 /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

패치 이동 샘플 명령

다음 분기에 변경 사항을 적용합니다.

  • goog/mainline-prod
  • goog/master
  • goog/\*-plus-aosp
  • aosp/master

Statsd 내의 파일 기록은 보존되어야 합니다.

모듈 형식

statsd 모듈( com.android.os.statsd )은 APEX 형식이며 Android 11 이상을 실행하는 기기에서 사용할 수 있습니다.

모듈 종속성

Statsd 모듈은 시스템에서 이벤트를 기록하는 @hide API 세트를 제공합니다. Java 코드의 경우 대부분의 @hide API는 작은 생성된 글루 코드가 내장된 더 작은 @SystemApi 태그 메서드 집합에 구축되도록 리팩토링됩니다. 네이티브 코드의 경우 기존 네이티브 함수는 생성된 공식 VNDK C API로 리팩터링됩니다. 접착제.

커스터마이징

Statsd 모듈은 사용자 정의를 지원하지 않습니다.

테스트

Android CTS(호환성 테스트 도구 모음)는 statsd의 기능과 릴리스 관리가 의존하는 원자를 확인합니다.