kopia lustrzana https://github.com/ryukoposting/Signal-Android
152 wiersze
3.7 KiB
Protocol Buffer
152 wiersze
3.7 KiB
Protocol Buffer
/*
|
|
* Copyright (C) 2018 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
|
|
syntax = "proto2";
|
|
|
|
package signal;
|
|
|
|
option java_package = "org.thoughtcrime.securesms.trace";
|
|
option java_outer_classname = "TraceProtos";
|
|
|
|
/*
|
|
* Minimal interface needed to work with Perfetto.
|
|
*
|
|
* https://cs.android.com/android/platform/superproject/+/master:external/perfetto/protos/perfetto/trace/trace.proto
|
|
*/
|
|
message Trace {
|
|
repeated TracePacket packet = 1;
|
|
}
|
|
|
|
message TracePacket {
|
|
optional uint64 timestamp = 8;
|
|
optional uint32 timestamp_clock_id = 58;
|
|
|
|
oneof data {
|
|
TrackEvent track_event = 11;
|
|
TrackDescriptor track_descriptor = 60;
|
|
bytes synchronization_marker = 36;
|
|
}
|
|
|
|
oneof optional_trusted_packet_sequence_id {
|
|
uint32 trusted_packet_sequence_id = 10;
|
|
}
|
|
}
|
|
|
|
message TrackEvent {
|
|
repeated uint64 category_iids = 3;
|
|
repeated string categories = 22;
|
|
|
|
repeated DebugAnnotation debug_annotations = 4;
|
|
|
|
oneof name_field {
|
|
uint64 name_iid = 10;
|
|
string name = 23;
|
|
}
|
|
|
|
enum Type {
|
|
TYPE_UNSPECIFIED = 0;
|
|
TYPE_SLICE_BEGIN = 1;
|
|
TYPE_SLICE_END = 2;
|
|
TYPE_INSTANT = 3;
|
|
TYPE_COUNTER = 4;
|
|
}
|
|
|
|
optional Type type = 9;
|
|
optional uint64 track_uuid = 11;
|
|
optional int64 counter_value = 30;
|
|
|
|
oneof timestamp {
|
|
int64 timestamp_delta_us = 1;
|
|
int64 timestamp_absolute_us = 16;
|
|
}
|
|
|
|
oneof thread_time {
|
|
int64 thread_time_delta_us = 2;
|
|
int64 thread_time_absolute_us = 17;
|
|
}
|
|
}
|
|
|
|
message TrackDescriptor {
|
|
optional uint64 uuid = 1;
|
|
optional uint64 parent_uuid = 5;
|
|
optional string name = 2;
|
|
optional ThreadDescriptor thread = 4;
|
|
optional CounterDescriptor counter = 8;
|
|
}
|
|
|
|
|
|
message ThreadDescriptor {
|
|
optional int32 pid = 1;
|
|
optional int32 tid = 2;
|
|
|
|
optional string thread_name = 5;
|
|
}
|
|
|
|
message CounterDescriptor {
|
|
enum BuiltinCounterType {
|
|
COUNTER_UNSPECIFIED = 0;
|
|
COUNTER_THREAD_TIME_NS = 1;
|
|
COUNTER_THREAD_INSTRUCTION_COUNT = 2;
|
|
}
|
|
|
|
enum Unit {
|
|
UNIT_UNSPECIFIED = 0;
|
|
UNIT_TIME_NS = 1;
|
|
UNIT_COUNT = 2;
|
|
UNIT_SIZE_BYTES = 3;
|
|
}
|
|
optional BuiltinCounterType type = 1;
|
|
repeated string categories = 2;
|
|
optional Unit unit = 3;
|
|
optional int64 unit_multiplier = 4;
|
|
optional bool is_incremental = 5;
|
|
}
|
|
|
|
message DebugAnnotation {
|
|
message NestedValue {
|
|
enum NestedType {
|
|
UNSPECIFIED = 0;
|
|
DICT = 1;
|
|
ARRAY = 2;
|
|
}
|
|
|
|
optional NestedType nested_type = 1;
|
|
repeated string dict_keys = 2;
|
|
repeated NestedValue dict_values = 3;
|
|
repeated NestedValue array_values = 4;
|
|
optional int64 int_value = 5;
|
|
optional double double_value = 6;
|
|
optional bool bool_value = 7;
|
|
optional string string_value = 8;
|
|
}
|
|
|
|
oneof name_field {
|
|
uint64 name_iid = 1;
|
|
string name = 10;
|
|
}
|
|
|
|
oneof value {
|
|
bool bool_value = 2;
|
|
uint64 uint_value = 3;
|
|
int64 int_value = 4;
|
|
double double_value = 5;
|
|
string string_value = 6;
|
|
uint64 pointer_value = 7;
|
|
NestedValue nested_value = 8;
|
|
}
|
|
}
|