1syntax = "proto2"; 2 3package android.os.statsd.adpf; 4 5import "frameworks/proto_logging/stats/atom_field_options.proto"; 6 7option java_package = "com.android.os.adpf"; 8option java_multiple_files = true; 9 10enum AdpfSessionTag { 11 // This tag is used to mark uncategorized hint sessions. 12 OTHER = 0; 13 // This tag is used to mark the SurfaceFlinger hint session. 14 SURFACEFLINGER = 1; 15 // This tag is used to mark hint sessions created by HWUI. 16 HWUI = 2; 17 // This tag is used to mark hint sessions created by applications that are 18 // categorized as games. 19 GAME = 3; 20 // This tag is used to mark the hint session is created by the application. 21 // If an applications is categorized as game, then GAME should be used 22 // instead. 23 APP = 4; 24} 25 26enum FmqStatus { 27 OTHER_STATUS = 0; 28 SUPPORTED = 1; 29 UNSUPPORTED = 2; 30 HAL_VERSION_NOT_MET = 3; 31} 32 33/** 34 * Logs information related to Android Dynamic Performance Framework (ADPF). 35 */ 36 37message PerformanceHintSessionReported { 38 // UID of the package. 39 optional int32 package_uid = 1 [(is_uid) = true]; 40 41 // Unique ID of the hint session. 42 optional int64 session_id = 2; 43 44 // Hint session target duration, in nanoseconds. 45 optional int64 target_duration_ns = 3; 46 47 // Number of threads affected by this session. 48 optional int32 tid_count = 4; 49 50 // Session tag specifying the type of the session. 51 optional AdpfSessionTag session_tag = 5; 52} 53 54message ADPFSystemComponentInfo { 55 // True if SurfaceFlinger CPU hint is enabled on the device. 56 optional bool surfaceflinger_cpu_hint_enabled = 1; 57 58 // True if HWUI hint is enabled on the device. 59 optional bool hwui_hint_enabled = 2; 60 61 // True if FMQ is supported and used on the device. 62 optional FmqStatus fmq_supported = 3; 63} 64