1// This is the definition for camera profiler message.
2syntax = "proto2";
3
4package profiler;
5
6// Time stamp of start and end processing time.
7message TimeStamp {
8  optional uint64 start = 1;
9  optional uint64 end = 2;
10  optional uint32 count = 3;
11  optional int32 request_id = 4;
12}
13
14// TimeSeries stores the target name and a series of time stamps and fps.
15message TimeSeries {
16  optional string name = 1;
17  repeated TimeStamp runtime = 2;
18}
19
20// Profilering result stores the usecase name, and the targets' runtime it
21// profiled.
22message ProfilingResult {
23  // The usecase indicates which mode/session it is profiling. For example,
24  // camera preview, video preview, etc.
25  optional string usecase = 1;
26  repeated TimeSeries target = 2;
27  optional string build_id = 3;
28  optional string device_type = 4;
29  optional string device_serial = 5;
30  // Unix epoch timestamp when profile started.
31  optional int64 profile_start_time_nanos = 6;
32  // CLOCK_BOOTTIME value as near as possible to the same moment
33  // as profile_start_time_millis.
34  optional uint64 profile_start_boottime_nanos = 7;
35  // Unix epoch timestamp when profile ended.
36  optional int64 profile_end_time_nanos = 8;
37}
38