| /* |
| * 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; |
| } |