// This is the definition for camera profiler message. syntax = "proto2"; package profiler; // Time stamp of start and end processing time. message TimeStamp { optional uint64 start = 1; optional uint64 end = 2; optional uint32 count = 3; optional int32 request_id = 4; } // TimeSeries stores the target name and a series of time stamps and fps. message TimeSeries { optional string name = 1; repeated TimeStamp runtime = 2; } // Profilering result stores the usecase name, and the targets' runtime it // profiled. message ProfilingResult { // The usecase indicates which mode/session it is profiling. For example, // camera preview, video preview, etc. optional string usecase = 1; repeated TimeSeries target = 2; optional string build_id = 3; optional string device_type = 4; optional string device_serial = 5; // Unix epoch timestamp when profile started. optional int64 profile_start_time_nanos = 6; // CLOCK_BOOTTIME value as near as possible to the same moment // as profile_start_time_millis. optional uint64 profile_start_boottime_nanos = 7; // Unix epoch timestamp when profile ended. optional int64 profile_end_time_nanos = 8; }