1 2syntax = "proto2"; 3 4import "perf_data.proto"; 5 6option java_package = "com.google.android.perfprofd"; 7 8package android.perfprofd; 9 10message PerfprofdRecord { 11 // Symbol info for a shared library without build id. 12 message SymbolInfo { 13 // A symbol, stretching the given range of the library. 14 message Symbol { 15 optional string name = 1; 16 optional uint64 name_md5_prefix = 2; 17 18 optional uint64 addr = 3; 19 optional uint64 size = 4; 20 }; 21 22 optional string filename = 1; 23 optional uint64 filename_md5_prefix = 2; 24 25 optional uint64 min_vaddr = 3; 26 27 repeated Symbol symbols = 4; 28 }; 29 30 optional int64 id = 1; 31 optional quipper.PerfDataProto perf_data = 2; 32 33 // Extra symbol info. 34 repeated SymbolInfo symbol_info = 3; 35 36 // Stats inherited from old perf_profile.proto. 37 38 // is device screen on at point when profile is collected? 39 optional bool display_on = 5; 40 41 // system load at point when profile is collected; corresponds 42 // to first value from /proc/loadavg multiplied by 100 then 43 // converted to int32 44 optional int32 sys_load_average = 6; 45 46 // At the point when the profile was collected, was a camera active? 47 optional bool camera_active = 7; 48 49 // At the point when the profile was collected, was the device still booting? 50 optional bool booting = 8; 51 52 // At the point when the profile was collected, was the device plugged into 53 // a charger? 54 optional bool on_charger = 9; 55 56 // CPU utilization measured prior to profile collection (expressed as 57 // 100 minus the idle percentage). 58 optional int32 cpu_utilization = 10; 59}; 60