perfetto-protos
Version:
Perfetto protos exposed via protobuf-es for browser and node
309 lines (276 loc) • 11.1 kB
text/typescript
//
// Copyright (C) 2017 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.
// @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
// @generated from file protos/perfetto/ipc/wire_protocol.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */
import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";
/**
* Describes the file protos/perfetto/ipc/wire_protocol.proto.
*/
export const file_protos_perfetto_ipc_wire_protocol: GenFile = /*@__PURE__*/
fileDesc("Cidwcm90b3MvcGVyZmV0dG8vaXBjL3dpcmVfcHJvdG9jb2wucHJvdG8SD3BlcmZldHRvLnByb3RvcyLSBwoISVBDRnJhbWUSEgoKcmVxdWVzdF9pZBgCIAEoBBJBChBtc2dfYmluZF9zZXJ2aWNlGAMgASgLMiUucGVyZmV0dG8ucHJvdG9zLklQQ0ZyYW1lLkJpbmRTZXJ2aWNlSAASTAoWbXNnX2JpbmRfc2VydmljZV9yZXBseRgEIAEoCzIqLnBlcmZldHRvLnByb3Rvcy5JUENGcmFtZS5CaW5kU2VydmljZVJlcGx5SAASQwoRbXNnX2ludm9rZV9tZXRob2QYBSABKAsyJi5wZXJmZXR0by5wcm90b3MuSVBDRnJhbWUuSW52b2tlTWV0aG9kSAASTgoXbXNnX2ludm9rZV9tZXRob2RfcmVwbHkYBiABKAsyKy5wZXJmZXR0by5wcm90b3MuSVBDRnJhbWUuSW52b2tlTWV0aG9kUmVwbHlIABJDChFtc2dfcmVxdWVzdF9lcnJvchgHIAEoCzImLnBlcmZldHRvLnByb3Rvcy5JUENGcmFtZS5SZXF1ZXN0RXJyb3JIABJGChFzZXRfcGVlcl9pZGVudGl0eRgIIAEoCzIpLnBlcmZldHRvLnByb3Rvcy5JUENGcmFtZS5TZXRQZWVySWRlbnRpdHlIABIYChBkYXRhX2Zvcl90ZXN0aW5nGAEgAygMGiMKC0JpbmRTZXJ2aWNlEhQKDHNlcnZpY2VfbmFtZRgBIAEoCRqnAQoQQmluZFNlcnZpY2VSZXBseRIPCgdzdWNjZXNzGAEgASgIEhIKCnNlcnZpY2VfaWQYAiABKA0SRgoHbWV0aG9kcxgDIAMoCzI1LnBlcmZldHRvLnByb3Rvcy5JUENGcmFtZS5CaW5kU2VydmljZVJlcGx5Lk1ldGhvZEluZm8aJgoKTWV0aG9kSW5mbxIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJGl0KDEludm9rZU1ldGhvZBISCgpzZXJ2aWNlX2lkGAEgASgNEhEKCW1ldGhvZF9pZBgCIAEoDRISCgphcmdzX3Byb3RvGAMgASgMEhIKCmRyb3BfcmVwbHkYBCABKAgaSwoRSW52b2tlTWV0aG9kUmVwbHkSDwoHc3VjY2VzcxgBIAEoCBIQCghoYXNfbW9yZRgCIAEoCBITCgtyZXBseV9wcm90bxgDIAEoDBodCgxSZXF1ZXN0RXJyb3ISDQoFZXJyb3IYASABKAkaRAoPU2V0UGVlcklkZW50aXR5EgsKA3BpZBgBIAEoBRILCgN1aWQYAiABKAUSFwoPbWFjaGluZV9pZF9oaW50GAMgASgJQgUKA21zZw");
/**
* @generated from message perfetto.protos.IPCFrame
*/
export type IPCFrame = Message<"perfetto.protos.IPCFrame"> & {
/**
* The client is expected to send requests with monotonically increasing
* request_id. The host will match the request_id sent from the client.
* In the case of a Streaming response (has_more = true) the host will send
* several InvokeMethodReply with the same request_id.
*
* @generated from field: optional uint64 request_id = 2;
*/
requestId: bigint;
/**
* @generated from oneof perfetto.protos.IPCFrame.msg
*/
msg: {
/**
* @generated from field: perfetto.protos.IPCFrame.BindService msg_bind_service = 3;
*/
value: IPCFrame_BindService;
case: "msgBindService";
} | {
/**
* @generated from field: perfetto.protos.IPCFrame.BindServiceReply msg_bind_service_reply = 4;
*/
value: IPCFrame_BindServiceReply;
case: "msgBindServiceReply";
} | {
/**
* @generated from field: perfetto.protos.IPCFrame.InvokeMethod msg_invoke_method = 5;
*/
value: IPCFrame_InvokeMethod;
case: "msgInvokeMethod";
} | {
/**
* @generated from field: perfetto.protos.IPCFrame.InvokeMethodReply msg_invoke_method_reply = 6;
*/
value: IPCFrame_InvokeMethodReply;
case: "msgInvokeMethodReply";
} | {
/**
* @generated from field: perfetto.protos.IPCFrame.RequestError msg_request_error = 7;
*/
value: IPCFrame_RequestError;
case: "msgRequestError";
} | {
/**
* @generated from field: perfetto.protos.IPCFrame.SetPeerIdentity set_peer_identity = 8;
*/
value: IPCFrame_SetPeerIdentity;
case: "setPeerIdentity";
} | { case: undefined; value?: undefined };
/**
* Used only in unittests to generate a parsable message of arbitrary size.
*
* @generated from field: repeated bytes data_for_testing = 1;
*/
dataForTesting: Uint8Array[];
};
/**
* Describes the message perfetto.protos.IPCFrame.
* Use `create(IPCFrameSchema)` to create a new message.
*/
export const IPCFrameSchema: GenMessage<IPCFrame> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_wire_protocol, 0);
/**
* Client -> Host.
*
* @generated from message perfetto.protos.IPCFrame.BindService
*/
export type IPCFrame_BindService = Message<"perfetto.protos.IPCFrame.BindService"> & {
/**
* @generated from field: optional string service_name = 1;
*/
serviceName: string;
};
/**
* Describes the message perfetto.protos.IPCFrame.BindService.
* Use `create(IPCFrame_BindServiceSchema)` to create a new message.
*/
export const IPCFrame_BindServiceSchema: GenMessage<IPCFrame_BindService> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_wire_protocol, 0, 0);
/**
* Host -> Client.
*
* @generated from message perfetto.protos.IPCFrame.BindServiceReply
*/
export type IPCFrame_BindServiceReply = Message<"perfetto.protos.IPCFrame.BindServiceReply"> & {
/**
* @generated from field: optional bool success = 1;
*/
success: boolean;
/**
* @generated from field: optional uint32 service_id = 2;
*/
serviceId: number;
/**
* @generated from field: repeated perfetto.protos.IPCFrame.BindServiceReply.MethodInfo methods = 3;
*/
methods: IPCFrame_BindServiceReply_MethodInfo[];
};
/**
* Describes the message perfetto.protos.IPCFrame.BindServiceReply.
* Use `create(IPCFrame_BindServiceReplySchema)` to create a new message.
*/
export const IPCFrame_BindServiceReplySchema: GenMessage<IPCFrame_BindServiceReply> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_wire_protocol, 0, 1);
/**
* @generated from message perfetto.protos.IPCFrame.BindServiceReply.MethodInfo
*/
export type IPCFrame_BindServiceReply_MethodInfo = Message<"perfetto.protos.IPCFrame.BindServiceReply.MethodInfo"> & {
/**
* @generated from field: optional uint32 id = 1;
*/
id: number;
/**
* @generated from field: optional string name = 2;
*/
name: string;
};
/**
* Describes the message perfetto.protos.IPCFrame.BindServiceReply.MethodInfo.
* Use `create(IPCFrame_BindServiceReply_MethodInfoSchema)` to create a new message.
*/
export const IPCFrame_BindServiceReply_MethodInfoSchema: GenMessage<IPCFrame_BindServiceReply_MethodInfo> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_wire_protocol, 0, 1, 0);
/**
* Client -> Host.
*
* @generated from message perfetto.protos.IPCFrame.InvokeMethod
*/
export type IPCFrame_InvokeMethod = Message<"perfetto.protos.IPCFrame.InvokeMethod"> & {
/**
* BindServiceReply.id.
*
* @generated from field: optional uint32 service_id = 1;
*/
serviceId: number;
/**
* BindServiceReply.method.id.
*
* @generated from field: optional uint32 method_id = 2;
*/
methodId: number;
/**
* Proto-encoded request argument.
*
* @generated from field: optional bytes args_proto = 3;
*/
argsProto: Uint8Array;
/**
* When true the client specifies that a reply is not needed. The use case
* is a method with an empty, where the client doesn't care about the
* success/failure of the method invocation and rather prefers avoiding the
* IPC roundtrip + context switch associated with the reply.
*
* @generated from field: optional bool drop_reply = 4;
*/
dropReply: boolean;
};
/**
* Describes the message perfetto.protos.IPCFrame.InvokeMethod.
* Use `create(IPCFrame_InvokeMethodSchema)` to create a new message.
*/
export const IPCFrame_InvokeMethodSchema: GenMessage<IPCFrame_InvokeMethod> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_wire_protocol, 0, 2);
/**
* Host -> Client.
*
* @generated from message perfetto.protos.IPCFrame.InvokeMethodReply
*/
export type IPCFrame_InvokeMethodReply = Message<"perfetto.protos.IPCFrame.InvokeMethodReply"> & {
/**
* @generated from field: optional bool success = 1;
*/
success: boolean;
/**
* only for streaming RPCs.
*
* @generated from field: optional bool has_more = 2;
*/
hasMore: boolean;
/**
* proto-encoded response value.
*
* @generated from field: optional bytes reply_proto = 3;
*/
replyProto: Uint8Array;
};
/**
* Describes the message perfetto.protos.IPCFrame.InvokeMethodReply.
* Use `create(IPCFrame_InvokeMethodReplySchema)` to create a new message.
*/
export const IPCFrame_InvokeMethodReplySchema: GenMessage<IPCFrame_InvokeMethodReply> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_wire_protocol, 0, 3);
/**
* Host -> Client.
*
* @generated from message perfetto.protos.IPCFrame.RequestError
*/
export type IPCFrame_RequestError = Message<"perfetto.protos.IPCFrame.RequestError"> & {
/**
* @generated from field: optional string error = 1;
*/
error: string;
};
/**
* Describes the message perfetto.protos.IPCFrame.RequestError.
* Use `create(IPCFrame_RequestErrorSchema)` to create a new message.
*/
export const IPCFrame_RequestErrorSchema: GenMessage<IPCFrame_RequestError> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_wire_protocol, 0, 4);
/**
* Client (relay service) -> Host. This is generated by the relay service to
* fill the producer identity in the guest. This message is sent to the host
* service *before* any IPCFrame is from a local producer is relayed. This is
* accepted only on AF_VSOCK and AF_INET sockets, where we cannot validate the
* endpoont of the connection. for AF_UNIX sockets, this is ignored and traced
* uses instead the SO_PEERCRED.
*
* @generated from message perfetto.protos.IPCFrame.SetPeerIdentity
*/
export type IPCFrame_SetPeerIdentity = Message<"perfetto.protos.IPCFrame.SetPeerIdentity"> & {
/**
* The UID and PID of the producer process.
*
* @generated from field: optional int32 pid = 1;
*/
pid: number;
/**
* @generated from field: optional int32 uid = 2;
*/
uid: number;
/**
* The hint for the tracing service to infer the machine ID. This field
* should satisfy the requriement that different machines should have
* different values. In practice, this filed contains the Linux kernel
* boot_id, or a hash of kernel bootup timestamp and uname(2) if boot_id
* isn't available.
*
* @generated from field: optional string machine_id_hint = 3;
*/
machineIdHint: string;
};
/**
* Describes the message perfetto.protos.IPCFrame.SetPeerIdentity.
* Use `create(IPCFrame_SetPeerIdentitySchema)` to create a new message.
*/
export const IPCFrame_SetPeerIdentitySchema: GenMessage<IPCFrame_SetPeerIdentity> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_wire_protocol, 0, 5);