xref: /aosp_15_r20/development/tools/winscope/protos/protolog/udc/protolog.proto (revision 90c8c64db3049935a07c6143d7fd006e26f8ecca)
1*90c8c64dSAndroid Build Coastguard Worker/*
2*90c8c64dSAndroid Build Coastguard Worker * Copyright (C) 2017 The Android Open Source Project
3*90c8c64dSAndroid Build Coastguard Worker *
4*90c8c64dSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
5*90c8c64dSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
6*90c8c64dSAndroid Build Coastguard Worker * You may obtain a copy of the License at
7*90c8c64dSAndroid Build Coastguard Worker *
8*90c8c64dSAndroid Build Coastguard Worker *      http://www.apache.org/licenses/LICENSE-2.0
9*90c8c64dSAndroid Build Coastguard Worker *
10*90c8c64dSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
11*90c8c64dSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
12*90c8c64dSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*90c8c64dSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
14*90c8c64dSAndroid Build Coastguard Worker * limitations under the License.
15*90c8c64dSAndroid Build Coastguard Worker */
16*90c8c64dSAndroid Build Coastguard Worker
17*90c8c64dSAndroid Build Coastguard Workersyntax = "proto2";
18*90c8c64dSAndroid Build Coastguard Worker
19*90c8c64dSAndroid Build Coastguard Workerpackage com.android.internal.protolog;
20*90c8c64dSAndroid Build Coastguard Worker
21*90c8c64dSAndroid Build Coastguard Workeroption java_multiple_files = true;
22*90c8c64dSAndroid Build Coastguard Worker
23*90c8c64dSAndroid Build Coastguard Workerimport "frameworks/base/core/proto/android/privacy.proto";
24*90c8c64dSAndroid Build Coastguard Worker
25*90c8c64dSAndroid Build Coastguard Worker/* represents a single log entry */
26*90c8c64dSAndroid Build Coastguard Workermessage ProtoLogMessage {
27*90c8c64dSAndroid Build Coastguard Worker    option (.android.msg_privacy).dest = DEST_LOCAL;
28*90c8c64dSAndroid Build Coastguard Worker
29*90c8c64dSAndroid Build Coastguard Worker    /* log statement identifier, created from message string and log level. */
30*90c8c64dSAndroid Build Coastguard Worker    optional sfixed32 message_hash_legacy = 1 [deprecated = true];
31*90c8c64dSAndroid Build Coastguard Worker    /* log time, relative to the elapsed system time clock. */
32*90c8c64dSAndroid Build Coastguard Worker    optional fixed64 elapsed_realtime_nanos = 2;
33*90c8c64dSAndroid Build Coastguard Worker    /* string parameters passed to the log call. */
34*90c8c64dSAndroid Build Coastguard Worker    repeated string str_params = 3;
35*90c8c64dSAndroid Build Coastguard Worker    /* integer parameters passed to the log call. */
36*90c8c64dSAndroid Build Coastguard Worker    repeated sint64 sint64_params = 4 [packed=true];
37*90c8c64dSAndroid Build Coastguard Worker    /* floating point parameters passed to the log call. */
38*90c8c64dSAndroid Build Coastguard Worker    repeated double double_params = 5 [packed=true];
39*90c8c64dSAndroid Build Coastguard Worker    /* boolean parameters passed to the log call. */
40*90c8c64dSAndroid Build Coastguard Worker    repeated bool boolean_params = 6 [packed=true];
41*90c8c64dSAndroid Build Coastguard Worker
42*90c8c64dSAndroid Build Coastguard Worker    /* log statement identifier, created from message string and log level. */
43*90c8c64dSAndroid Build Coastguard Worker    optional sfixed64 message_hash = 7;
44*90c8c64dSAndroid Build Coastguard Worker}
45*90c8c64dSAndroid Build Coastguard Worker
46*90c8c64dSAndroid Build Coastguard Worker/* represents a log file containing ProtoLog log entries.
47*90c8c64dSAndroid Build Coastguard Worker   Encoded, it should start with 0x9 0x50 0x52 0x4f 0x54 0x4f 0x4c 0x4f 0x47 (.PROTOLOG), such
48*90c8c64dSAndroid Build Coastguard Worker   that they can be easily identified. */
49*90c8c64dSAndroid Build Coastguard Workermessage ProtoLogFileProto {
50*90c8c64dSAndroid Build Coastguard Worker    option (.android.msg_privacy).dest = DEST_LOCAL;
51*90c8c64dSAndroid Build Coastguard Worker
52*90c8c64dSAndroid Build Coastguard Worker    /* constant; MAGIC_NUMBER = (long) MAGIC_NUMBER_H << 32 | MagicNumber.MAGIC_NUMBER_L
53*90c8c64dSAndroid Build Coastguard Worker       (this is needed because enums have to be 32 bits and there's no nice way to put 64bit
54*90c8c64dSAndroid Build Coastguard Worker        constants into .proto files. */
55*90c8c64dSAndroid Build Coastguard Worker    enum MagicNumber {
56*90c8c64dSAndroid Build Coastguard Worker        INVALID = 0;
57*90c8c64dSAndroid Build Coastguard Worker        MAGIC_NUMBER_L = 0x544f5250; /* PROT (little-endian ASCII) */
58*90c8c64dSAndroid Build Coastguard Worker        MAGIC_NUMBER_H = 0x474f4c4f; /* OLOG (little-endian ASCII) */
59*90c8c64dSAndroid Build Coastguard Worker    }
60*90c8c64dSAndroid Build Coastguard Worker
61*90c8c64dSAndroid Build Coastguard Worker    /* the magic number header */
62*90c8c64dSAndroid Build Coastguard Worker    optional fixed64 magic_number = 1;
63*90c8c64dSAndroid Build Coastguard Worker    /* log proto version. */
64*90c8c64dSAndroid Build Coastguard Worker    optional string version = 2;
65*90c8c64dSAndroid Build Coastguard Worker    /* offset between real-time clock and elapsed system time clock in milliseconds.
66*90c8c64dSAndroid Build Coastguard Worker       Calculated as: (System.currentTimeMillis() - (SystemClock.elapsedRealtimeNanos() / 1000000) */
67*90c8c64dSAndroid Build Coastguard Worker    optional fixed64 realTimeToElapsedTimeOffsetMillis = 3;
68*90c8c64dSAndroid Build Coastguard Worker    /* log entries */
69*90c8c64dSAndroid Build Coastguard Worker    repeated ProtoLogMessage log = 4;
70*90c8c64dSAndroid Build Coastguard Worker}
71