blob: 4ce08498bc3c9247dbc48d15e2f1f305cedccce1 [file] [log] [blame]
/*
* Copyright (C) 2020 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 perfetto.protos;
// Contains information to identify mojo handling events. The trace events in
// mojo are common for all mojo interfaces and this information is used to
// identify who is the caller or callee.
message ChromeMojoEventInfo {
// Contains the interface name or the file name of the creator of a mojo
// handle watcher, recorded when an event if notified to the watcher. The code
// that runs within the track event belongs to the interface.
optional string watcher_notify_interface_tag = 1;
// The hash of the IPC message that is being handled.
optional uint32 ipc_hash = 2;
// A static string representing the mojo interface name of the message that is
// being handled.
optional string mojo_interface_tag = 3;
// Refers to an interned UnsymbolizedSourceLocation.
// The UnsymbolizedSourceLocation contains the interface method that's being
// handled, represented as a native symbol.
// The native symbol can be symbolized after the trace is recorded.
// Not using a symbolized source location for official Chromium builds to
// reduce binary size - emitting file/function names as strings into the
// trace requires storing them in the binary, which causes a significant
// binary size bloat for Chromium.
optional uint64 mojo_interface_method_iid = 4;
// Indicate whether this is a message or reply.
optional bool is_reply = 5;
// The payload size of the message being sent through mojo messages.
optional uint64 payload_size = 6;
// Represents the size of the message. Includes all headers and user payload.
optional uint64 data_num_bytes = 7;
}