perfetto-protos
Version:
Perfetto protos exposed via protobuf-es for browser and node
908 lines (826 loc) • 35.9 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/consumer_port.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
import type { ObservableEvents, ObservableEvents_Type } from "../common/observable_events_pb";
import { file_protos_perfetto_common_observable_events } from "../common/observable_events_pb";
import type { TracingServiceState } from "../common/tracing_service_state_pb";
import { file_protos_perfetto_common_tracing_service_state } from "../common/tracing_service_state_pb";
import type { TracingServiceCapabilities } from "../common/tracing_service_capabilities_pb";
import { file_protos_perfetto_common_tracing_service_capabilities } from "../common/tracing_service_capabilities_pb";
import type { TraceStats } from "../common/trace_stats_pb";
import { file_protos_perfetto_common_trace_stats } from "../common/trace_stats_pb";
import type { TraceConfig } from "../config/trace_config_pb";
import { file_protos_perfetto_config_trace_config } from "../config/trace_config_pb";
import type { Message } from "@bufbuild/protobuf";
/**
* Describes the file protos/perfetto/ipc/consumer_port.proto.
*/
export const file_protos_perfetto_ipc_consumer_port: GenFile = /*@__PURE__*/
fileDesc("Cidwcm90b3MvcGVyZmV0dG8vaXBjL2NvbnN1bWVyX3BvcnQucHJvdG8SD3BlcmZldHRvLnByb3RvcyJsChRFbmFibGVUcmFjaW5nUmVxdWVzdBIyCgx0cmFjZV9jb25maWcYASABKAsyHC5wZXJmZXR0by5wcm90b3MuVHJhY2VDb25maWcSIAoYYXR0YWNoX25vdGlmaWNhdGlvbl9vbmx5GAIgASgIIkMKFUVuYWJsZVRyYWNpbmdSZXNwb25zZRISCghkaXNhYmxlZBgBIAEoCEgAEg0KBWVycm9yGAMgASgJQgcKBXN0YXRlIhUKE1N0YXJ0VHJhY2luZ1JlcXVlc3QiFgoUU3RhcnRUcmFjaW5nUmVzcG9uc2UiTgoYQ2hhbmdlVHJhY2VDb25maWdSZXF1ZXN0EjIKDHRyYWNlX2NvbmZpZxgBIAEoCzIcLnBlcmZldHRvLnByb3Rvcy5UcmFjZUNvbmZpZyIbChlDaGFuZ2VUcmFjZUNvbmZpZ1Jlc3BvbnNlIhcKFURpc2FibGVUcmFjaW5nUmVxdWVzdCIYChZEaXNhYmxlVHJhY2luZ1Jlc3BvbnNlIhQKElJlYWRCdWZmZXJzUmVxdWVzdCKHAQoTUmVhZEJ1ZmZlcnNSZXNwb25zZRI6CgZzbGljZXMYAiADKAsyKi5wZXJmZXR0by5wcm90b3MuUmVhZEJ1ZmZlcnNSZXNwb25zZS5TbGljZRo0CgVTbGljZRIMCgRkYXRhGAEgASgMEh0KFWxhc3Rfc2xpY2VfZm9yX3BhY2tldBgCIAEoCCIoChJGcmVlQnVmZmVyc1JlcXVlc3QSEgoKYnVmZmVyX2lkcxgBIAMoDSIVChNGcmVlQnVmZmVyc1Jlc3BvbnNlIjEKDEZsdXNoUmVxdWVzdBISCgp0aW1lb3V0X21zGAEgASgNEg0KBWZsYWdzGAIgASgEIg8KDUZsdXNoUmVzcG9uc2UiHAoNRGV0YWNoUmVxdWVzdBILCgNrZXkYASABKAkiEAoORGV0YWNoUmVzcG9uc2UiHAoNQXR0YWNoUmVxdWVzdBILCgNrZXkYASABKAkiRAoOQXR0YWNoUmVzcG9uc2USMgoMdHJhY2VfY29uZmlnGAEgASgLMhwucGVyZmV0dG8ucHJvdG9zLlRyYWNlQ29uZmlnIhYKFEdldFRyYWNlU3RhdHNSZXF1ZXN0IkkKFUdldFRyYWNlU3RhdHNSZXNwb25zZRIwCgt0cmFjZV9zdGF0cxgBIAEoCzIbLnBlcmZldHRvLnByb3Rvcy5UcmFjZVN0YXRzIlkKFE9ic2VydmVFdmVudHNSZXF1ZXN0EkEKEWV2ZW50c190b19vYnNlcnZlGAEgAygOMiYucGVyZmV0dG8ucHJvdG9zLk9ic2VydmFibGVFdmVudHMuVHlwZSJKChVPYnNlcnZlRXZlbnRzUmVzcG9uc2USMQoGZXZlbnRzGAEgASgLMiEucGVyZmV0dG8ucHJvdG9zLk9ic2VydmFibGVFdmVudHMiMQoYUXVlcnlTZXJ2aWNlU3RhdGVSZXF1ZXN0EhUKDXNlc3Npb25zX29ubHkYASABKAgiWAoZUXVlcnlTZXJ2aWNlU3RhdGVSZXNwb25zZRI7Cg1zZXJ2aWNlX3N0YXRlGAEgASgLMiQucGVyZmV0dG8ucHJvdG9zLlRyYWNpbmdTZXJ2aWNlU3RhdGUiGgoYUXVlcnlDYXBhYmlsaXRpZXNSZXF1ZXN0Il4KGVF1ZXJ5Q2FwYWJpbGl0aWVzUmVzcG9uc2USQQoMY2FwYWJpbGl0aWVzGAEgASgLMisucGVyZmV0dG8ucHJvdG9zLlRyYWNpbmdTZXJ2aWNlQ2FwYWJpbGl0aWVzIh4KHFNhdmVUcmFjZUZvckJ1Z3JlcG9ydFJlcXVlc3QiPQodU2F2ZVRyYWNlRm9yQnVncmVwb3J0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBILCgNtc2cYAiABKAkimQIKE0Nsb25lU2Vzc2lvblJlcXVlc3QSFAoKc2Vzc2lvbl9pZBgBIAEoBEgAEh0KE3VuaXF1ZV9zZXNzaW9uX25hbWUYBCABKAlIABIZChFza2lwX3RyYWNlX2ZpbHRlchgCIAEoCBIVCg1mb3JfYnVncmVwb3J0GAMgASgIEhoKEmNsb25lX3RyaWdnZXJfbmFtZRgFIAEoCRIjChtjbG9uZV90cmlnZ2VyX3Byb2R1Y2VyX25hbWUYBiABKAkSKgoiY2xvbmVfdHJpZ2dlcl90cnVzdGVkX3Byb2R1Y2VyX3VpZBgHIAEoBRIiChpjbG9uZV90cmlnZ2VyX2Jvb3RfdGltZV9ucxgIIAEoBEIKCghzZWxlY3RvciJaChRDbG9uZVNlc3Npb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg0KBWVycm9yGAIgASgJEhAKCHV1aWRfbXNiGAMgASgDEhAKCHV1aWRfbHNiGAQgASgDMr0LCgxDb25zdW1lclBvcnQSYAoNRW5hYmxlVHJhY2luZxIlLnBlcmZldHRvLnByb3Rvcy5FbmFibGVUcmFjaW5nUmVxdWVzdBomLnBlcmZldHRvLnByb3Rvcy5FbmFibGVUcmFjaW5nUmVzcG9uc2UiABJjCg5EaXNhYmxlVHJhY2luZxImLnBlcmZldHRvLnByb3Rvcy5EaXNhYmxlVHJhY2luZ1JlcXVlc3QaJy5wZXJmZXR0by5wcm90b3MuRGlzYWJsZVRyYWNpbmdSZXNwb25zZSIAElwKC1JlYWRCdWZmZXJzEiMucGVyZmV0dG8ucHJvdG9zLlJlYWRCdWZmZXJzUmVxdWVzdBokLnBlcmZldHRvLnByb3Rvcy5SZWFkQnVmZmVyc1Jlc3BvbnNlIgAwARJaCgtGcmVlQnVmZmVycxIjLnBlcmZldHRvLnByb3Rvcy5GcmVlQnVmZmVyc1JlcXVlc3QaJC5wZXJmZXR0by5wcm90b3MuRnJlZUJ1ZmZlcnNSZXNwb25zZSIAEkgKBUZsdXNoEh0ucGVyZmV0dG8ucHJvdG9zLkZsdXNoUmVxdWVzdBoeLnBlcmZldHRvLnByb3Rvcy5GbHVzaFJlc3BvbnNlIgASXQoMU3RhcnRUcmFjaW5nEiQucGVyZmV0dG8ucHJvdG9zLlN0YXJ0VHJhY2luZ1JlcXVlc3QaJS5wZXJmZXR0by5wcm90b3MuU3RhcnRUcmFjaW5nUmVzcG9uc2UiABJsChFDaGFuZ2VUcmFjZUNvbmZpZxIpLnBlcmZldHRvLnByb3Rvcy5DaGFuZ2VUcmFjZUNvbmZpZ1JlcXVlc3QaKi5wZXJmZXR0by5wcm90b3MuQ2hhbmdlVHJhY2VDb25maWdSZXNwb25zZSIAEksKBkRldGFjaBIeLnBlcmZldHRvLnByb3Rvcy5EZXRhY2hSZXF1ZXN0Gh8ucGVyZmV0dG8ucHJvdG9zLkRldGFjaFJlc3BvbnNlIgASSwoGQXR0YWNoEh4ucGVyZmV0dG8ucHJvdG9zLkF0dGFjaFJlcXVlc3QaHy5wZXJmZXR0by5wcm90b3MuQXR0YWNoUmVzcG9uc2UiABJgCg1HZXRUcmFjZVN0YXRzEiUucGVyZmV0dG8ucHJvdG9zLkdldFRyYWNlU3RhdHNSZXF1ZXN0GiYucGVyZmV0dG8ucHJvdG9zLkdldFRyYWNlU3RhdHNSZXNwb25zZSIAEmIKDU9ic2VydmVFdmVudHMSJS5wZXJmZXR0by5wcm90b3MuT2JzZXJ2ZUV2ZW50c1JlcXVlc3QaJi5wZXJmZXR0by5wcm90b3MuT2JzZXJ2ZUV2ZW50c1Jlc3BvbnNlIgAwARJuChFRdWVyeVNlcnZpY2VTdGF0ZRIpLnBlcmZldHRvLnByb3Rvcy5RdWVyeVNlcnZpY2VTdGF0ZVJlcXVlc3QaKi5wZXJmZXR0by5wcm90b3MuUXVlcnlTZXJ2aWNlU3RhdGVSZXNwb25zZSIAMAESbAoRUXVlcnlDYXBhYmlsaXRpZXMSKS5wZXJmZXR0by5wcm90b3MuUXVlcnlDYXBhYmlsaXRpZXNSZXF1ZXN0GioucGVyZmV0dG8ucHJvdG9zLlF1ZXJ5Q2FwYWJpbGl0aWVzUmVzcG9uc2UiABJ4ChVTYXZlVHJhY2VGb3JCdWdyZXBvcnQSLS5wZXJmZXR0by5wcm90b3MuU2F2ZVRyYWNlRm9yQnVncmVwb3J0UmVxdWVzdBouLnBlcmZldHRvLnByb3Rvcy5TYXZlVHJhY2VGb3JCdWdyZXBvcnRSZXNwb25zZSIAEl0KDENsb25lU2Vzc2lvbhIkLnBlcmZldHRvLnByb3Rvcy5DbG9uZVNlc3Npb25SZXF1ZXN0GiUucGVyZmV0dG8ucHJvdG9zLkNsb25lU2Vzc2lvblJlc3BvbnNlIgA", [file_protos_perfetto_common_observable_events, file_protos_perfetto_common_tracing_service_state, file_protos_perfetto_common_tracing_service_capabilities, file_protos_perfetto_common_trace_stats, file_protos_perfetto_config_trace_config]);
/**
* Arguments for rpc EnableTracing().
*
* @generated from message perfetto.protos.EnableTracingRequest
*/
export type EnableTracingRequest = Message<"perfetto.protos.EnableTracingRequest"> & {
/**
* @generated from field: optional perfetto.protos.TraceConfig trace_config = 1;
*/
traceConfig?: TraceConfig;
/**
* Introduced in Android Q. This is used for re-attaching to the end-of-trace
* EnableTracingResponse notification after a Detach+Attach request.
* When this flag is set the |trace_config| is ignored and no method is called
* on the tracing service.
*
* @generated from field: optional bool attach_notification_only = 2;
*/
attachNotificationOnly: boolean;
};
/**
* Describes the message perfetto.protos.EnableTracingRequest.
* Use `create(EnableTracingRequestSchema)` to create a new message.
*/
export const EnableTracingRequestSchema: GenMessage<EnableTracingRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 0);
/**
* @generated from message perfetto.protos.EnableTracingResponse
*/
export type EnableTracingResponse = Message<"perfetto.protos.EnableTracingResponse"> & {
/**
* @generated from oneof perfetto.protos.EnableTracingResponse.state
*/
state: {
/**
* @generated from field: bool disabled = 1;
*/
value: boolean;
case: "disabled";
} | { case: undefined; value?: undefined };
/**
* If present and non-empty tracing was disabled because of an error.
* Introduced in Android S.
*
* @generated from field: optional string error = 3;
*/
error: string;
};
/**
* Describes the message perfetto.protos.EnableTracingResponse.
* Use `create(EnableTracingResponseSchema)` to create a new message.
*/
export const EnableTracingResponseSchema: GenMessage<EnableTracingResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 1);
/**
* Arguments for rpc StartTracing().
*
* @generated from message perfetto.protos.StartTracingRequest
*/
export type StartTracingRequest = Message<"perfetto.protos.StartTracingRequest"> & {
};
/**
* Describes the message perfetto.protos.StartTracingRequest.
* Use `create(StartTracingRequestSchema)` to create a new message.
*/
export const StartTracingRequestSchema: GenMessage<StartTracingRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 2);
/**
* @generated from message perfetto.protos.StartTracingResponse
*/
export type StartTracingResponse = Message<"perfetto.protos.StartTracingResponse"> & {
};
/**
* Describes the message perfetto.protos.StartTracingResponse.
* Use `create(StartTracingResponseSchema)` to create a new message.
*/
export const StartTracingResponseSchema: GenMessage<StartTracingResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 3);
/**
* Arguments for rpc ChangeTraceConfig().
*
* @generated from message perfetto.protos.ChangeTraceConfigRequest
*/
export type ChangeTraceConfigRequest = Message<"perfetto.protos.ChangeTraceConfigRequest"> & {
/**
* @generated from field: optional perfetto.protos.TraceConfig trace_config = 1;
*/
traceConfig?: TraceConfig;
};
/**
* Describes the message perfetto.protos.ChangeTraceConfigRequest.
* Use `create(ChangeTraceConfigRequestSchema)` to create a new message.
*/
export const ChangeTraceConfigRequestSchema: GenMessage<ChangeTraceConfigRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 4);
/**
* @generated from message perfetto.protos.ChangeTraceConfigResponse
*/
export type ChangeTraceConfigResponse = Message<"perfetto.protos.ChangeTraceConfigResponse"> & {
};
/**
* Describes the message perfetto.protos.ChangeTraceConfigResponse.
* Use `create(ChangeTraceConfigResponseSchema)` to create a new message.
*/
export const ChangeTraceConfigResponseSchema: GenMessage<ChangeTraceConfigResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 5);
/**
* Arguments for rpc DisableTracing().
*
* TODO: not supported yet, selectively disable only some data sources.
* repeated string data_source_name;
*
* @generated from message perfetto.protos.DisableTracingRequest
*/
export type DisableTracingRequest = Message<"perfetto.protos.DisableTracingRequest"> & {
};
/**
* Describes the message perfetto.protos.DisableTracingRequest.
* Use `create(DisableTracingRequestSchema)` to create a new message.
*/
export const DisableTracingRequestSchema: GenMessage<DisableTracingRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 6);
/**
* @generated from message perfetto.protos.DisableTracingResponse
*/
export type DisableTracingResponse = Message<"perfetto.protos.DisableTracingResponse"> & {
};
/**
* Describes the message perfetto.protos.DisableTracingResponse.
* Use `create(DisableTracingResponseSchema)` to create a new message.
*/
export const DisableTracingResponseSchema: GenMessage<DisableTracingResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 7);
/**
* Arguments for rpc ReadBuffers().
*
* The |id|s of the buffer, as passed to CreateBuffers().
* TODO: repeated uint32 buffer_ids = 1;
*
* @generated from message perfetto.protos.ReadBuffersRequest
*/
export type ReadBuffersRequest = Message<"perfetto.protos.ReadBuffersRequest"> & {
};
/**
* Describes the message perfetto.protos.ReadBuffersRequest.
* Use `create(ReadBuffersRequestSchema)` to create a new message.
*/
export const ReadBuffersRequestSchema: GenMessage<ReadBuffersRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 8);
/**
* TODO: uint32 buffer_id = 1;
*
* @generated from message perfetto.protos.ReadBuffersResponse
*/
export type ReadBuffersResponse = Message<"perfetto.protos.ReadBuffersResponse"> & {
/**
* @generated from field: repeated perfetto.protos.ReadBuffersResponse.Slice slices = 2;
*/
slices: ReadBuffersResponse_Slice[];
};
/**
* Describes the message perfetto.protos.ReadBuffersResponse.
* Use `create(ReadBuffersResponseSchema)` to create a new message.
*/
export const ReadBuffersResponseSchema: GenMessage<ReadBuffersResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 9);
/**
* Each streaming reply returns one or more slices for one or more trace
* packets, or even just a portion of it (if it's too big to fit within one
* IPC). The returned slices are ordered and contiguous: packets' slices are
* not interleaved and slices are sent only once all slices for a packet are
* available (i.e. the consumer will never see any gap).
*
* @generated from message perfetto.protos.ReadBuffersResponse.Slice
*/
export type ReadBuffersResponse_Slice = Message<"perfetto.protos.ReadBuffersResponse.Slice"> & {
/**
* @generated from field: optional bytes data = 1;
*/
data: Uint8Array;
/**
* When true, this is the last slice for the packet. A ReadBufferResponse
* might have no slices marked as |last_slice_for_packet|==true, in the case
* of a very large packet that gets chunked into several IPCs (in which case
* only the last IPC for the packet will have this flag set).
*
* @generated from field: optional bool last_slice_for_packet = 2;
*/
lastSliceForPacket: boolean;
};
/**
* Describes the message perfetto.protos.ReadBuffersResponse.Slice.
* Use `create(ReadBuffersResponse_SliceSchema)` to create a new message.
*/
export const ReadBuffersResponse_SliceSchema: GenMessage<ReadBuffersResponse_Slice> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 9, 0);
/**
* Arguments for rpc FreeBuffers().
*
* @generated from message perfetto.protos.FreeBuffersRequest
*/
export type FreeBuffersRequest = Message<"perfetto.protos.FreeBuffersRequest"> & {
/**
* The |id|s of the buffer, as passed to CreateBuffers().
*
* @generated from field: repeated uint32 buffer_ids = 1;
*/
bufferIds: number[];
};
/**
* Describes the message perfetto.protos.FreeBuffersRequest.
* Use `create(FreeBuffersRequestSchema)` to create a new message.
*/
export const FreeBuffersRequestSchema: GenMessage<FreeBuffersRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 10);
/**
* @generated from message perfetto.protos.FreeBuffersResponse
*/
export type FreeBuffersResponse = Message<"perfetto.protos.FreeBuffersResponse"> & {
};
/**
* Describes the message perfetto.protos.FreeBuffersResponse.
* Use `create(FreeBuffersResponseSchema)` to create a new message.
*/
export const FreeBuffersResponseSchema: GenMessage<FreeBuffersResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 11);
/**
* Arguments for rpc Flush().
*
* @generated from message perfetto.protos.FlushRequest
*/
export type FlushRequest = Message<"perfetto.protos.FlushRequest"> & {
/**
* @generated from field: optional uint32 timeout_ms = 1;
*/
timeoutMs: number;
/**
* More details such as flush reason and originator. Introduced in v38 / V.
* See FlushFlags in include/perfetto/ext/tracing/core/flush_flags.h.
*
* @generated from field: optional uint64 flags = 2;
*/
flags: bigint;
};
/**
* Describes the message perfetto.protos.FlushRequest.
* Use `create(FlushRequestSchema)` to create a new message.
*/
export const FlushRequestSchema: GenMessage<FlushRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 12);
/**
* @generated from message perfetto.protos.FlushResponse
*/
export type FlushResponse = Message<"perfetto.protos.FlushResponse"> & {
};
/**
* Describes the message perfetto.protos.FlushResponse.
* Use `create(FlushResponseSchema)` to create a new message.
*/
export const FlushResponseSchema: GenMessage<FlushResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 13);
/**
* Arguments for rpc Detach
*
* @generated from message perfetto.protos.DetachRequest
*/
export type DetachRequest = Message<"perfetto.protos.DetachRequest"> & {
/**
* @generated from field: optional string key = 1;
*/
key: string;
};
/**
* Describes the message perfetto.protos.DetachRequest.
* Use `create(DetachRequestSchema)` to create a new message.
*/
export const DetachRequestSchema: GenMessage<DetachRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 14);
/**
* @generated from message perfetto.protos.DetachResponse
*/
export type DetachResponse = Message<"perfetto.protos.DetachResponse"> & {
};
/**
* Describes the message perfetto.protos.DetachResponse.
* Use `create(DetachResponseSchema)` to create a new message.
*/
export const DetachResponseSchema: GenMessage<DetachResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 15);
/**
* Arguments for rpc Attach.
*
* @generated from message perfetto.protos.AttachRequest
*/
export type AttachRequest = Message<"perfetto.protos.AttachRequest"> & {
/**
* @generated from field: optional string key = 1;
*/
key: string;
};
/**
* Describes the message perfetto.protos.AttachRequest.
* Use `create(AttachRequestSchema)` to create a new message.
*/
export const AttachRequestSchema: GenMessage<AttachRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 16);
/**
* @generated from message perfetto.protos.AttachResponse
*/
export type AttachResponse = Message<"perfetto.protos.AttachResponse"> & {
/**
* @generated from field: optional perfetto.protos.TraceConfig trace_config = 1;
*/
traceConfig?: TraceConfig;
};
/**
* Describes the message perfetto.protos.AttachResponse.
* Use `create(AttachResponseSchema)` to create a new message.
*/
export const AttachResponseSchema: GenMessage<AttachResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 17);
/**
* @generated from message perfetto.protos.GetTraceStatsRequest
*/
export type GetTraceStatsRequest = Message<"perfetto.protos.GetTraceStatsRequest"> & {
};
/**
* Describes the message perfetto.protos.GetTraceStatsRequest.
* Use `create(GetTraceStatsRequestSchema)` to create a new message.
*/
export const GetTraceStatsRequestSchema: GenMessage<GetTraceStatsRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 18);
/**
* @generated from message perfetto.protos.GetTraceStatsResponse
*/
export type GetTraceStatsResponse = Message<"perfetto.protos.GetTraceStatsResponse"> & {
/**
* @generated from field: optional perfetto.protos.TraceStats trace_stats = 1;
*/
traceStats?: TraceStats;
};
/**
* Describes the message perfetto.protos.GetTraceStatsResponse.
* Use `create(GetTraceStatsResponseSchema)` to create a new message.
*/
export const GetTraceStatsResponseSchema: GenMessage<GetTraceStatsResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 19);
/**
* To stop observing events of a certain type, send a request with the remaining
* types. To stop observing completely, send an empty request.
*
* @generated from message perfetto.protos.ObserveEventsRequest
*/
export type ObserveEventsRequest = Message<"perfetto.protos.ObserveEventsRequest"> & {
/**
* @generated from field: repeated perfetto.protos.ObservableEvents.Type events_to_observe = 1;
*/
eventsToObserve: ObservableEvents_Type[];
};
/**
* Describes the message perfetto.protos.ObserveEventsRequest.
* Use `create(ObserveEventsRequestSchema)` to create a new message.
*/
export const ObserveEventsRequestSchema: GenMessage<ObserveEventsRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 20);
/**
* @generated from message perfetto.protos.ObserveEventsResponse
*/
export type ObserveEventsResponse = Message<"perfetto.protos.ObserveEventsResponse"> & {
/**
* @generated from field: optional perfetto.protos.ObservableEvents events = 1;
*/
events?: ObservableEvents;
};
/**
* Describes the message perfetto.protos.ObserveEventsResponse.
* Use `create(ObserveEventsResponseSchema)` to create a new message.
*/
export const ObserveEventsResponseSchema: GenMessage<ObserveEventsResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 21);
/**
* Arguments for rpc QueryServiceState.
*
* @generated from message perfetto.protos.QueryServiceStateRequest
*/
export type QueryServiceStateRequest = Message<"perfetto.protos.QueryServiceStateRequest"> & {
/**
* If set, only the TracingServiceState.tracing_sessions is filled. Producers
* and data sources are omitted.
*
* @generated from field: optional bool sessions_only = 1;
*/
sessionsOnly: boolean;
};
/**
* Describes the message perfetto.protos.QueryServiceStateRequest.
* Use `create(QueryServiceStateRequestSchema)` to create a new message.
*/
export const QueryServiceStateRequestSchema: GenMessage<QueryServiceStateRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 22);
/**
* @generated from message perfetto.protos.QueryServiceStateResponse
*/
export type QueryServiceStateResponse = Message<"perfetto.protos.QueryServiceStateResponse"> & {
/**
* In order to avoid hitting IPC message size limitations, the service will
* return >1 replies for each query, chunking the TracingServiceState. The
* receiver is expected to merge replies together and parse that when the
* last reply is received (i.e. when IPC's |has_more| == false).
*
* @generated from field: optional perfetto.protos.TracingServiceState service_state = 1;
*/
serviceState?: TracingServiceState;
};
/**
* Describes the message perfetto.protos.QueryServiceStateResponse.
* Use `create(QueryServiceStateResponseSchema)` to create a new message.
*/
export const QueryServiceStateResponseSchema: GenMessage<QueryServiceStateResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 23);
/**
* Arguments for rpc QueryCapabilities.
*
* @generated from message perfetto.protos.QueryCapabilitiesRequest
*/
export type QueryCapabilitiesRequest = Message<"perfetto.protos.QueryCapabilitiesRequest"> & {
};
/**
* Describes the message perfetto.protos.QueryCapabilitiesRequest.
* Use `create(QueryCapabilitiesRequestSchema)` to create a new message.
*/
export const QueryCapabilitiesRequestSchema: GenMessage<QueryCapabilitiesRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 24);
/**
* @generated from message perfetto.protos.QueryCapabilitiesResponse
*/
export type QueryCapabilitiesResponse = Message<"perfetto.protos.QueryCapabilitiesResponse"> & {
/**
* @generated from field: optional perfetto.protos.TracingServiceCapabilities capabilities = 1;
*/
capabilities?: TracingServiceCapabilities;
};
/**
* Describes the message perfetto.protos.QueryCapabilitiesResponse.
* Use `create(QueryCapabilitiesResponseSchema)` to create a new message.
*/
export const QueryCapabilitiesResponseSchema: GenMessage<QueryCapabilitiesResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 25);
/**
* Arguments for rpc SaveTraceForBugreport.
*
* @generated from message perfetto.protos.SaveTraceForBugreportRequest
*/
export type SaveTraceForBugreportRequest = Message<"perfetto.protos.SaveTraceForBugreportRequest"> & {
};
/**
* Describes the message perfetto.protos.SaveTraceForBugreportRequest.
* Use `create(SaveTraceForBugreportRequestSchema)` to create a new message.
*/
export const SaveTraceForBugreportRequestSchema: GenMessage<SaveTraceForBugreportRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 26);
/**
* This response is sent only after the trace was saved into file (if succeeded)
* or something failed.
*
* @generated from message perfetto.protos.SaveTraceForBugreportResponse
*/
export type SaveTraceForBugreportResponse = Message<"perfetto.protos.SaveTraceForBugreportResponse"> & {
/**
* If true, an eligible the trace was saved into a known location (on Android
* /data/misc/perfetto-traces, see GetBugreportTracePath()).
* If false no trace with bugreport_score > 0 was found or an error occurred.
* see |msg| in that case for details about the failure.
*
* @generated from field: optional bool success = 1;
*/
success: boolean;
/**
* @generated from field: optional string msg = 2;
*/
msg: string;
};
/**
* Describes the message perfetto.protos.SaveTraceForBugreportResponse.
* Use `create(SaveTraceForBugreportResponseSchema)` to create a new message.
*/
export const SaveTraceForBugreportResponseSchema: GenMessage<SaveTraceForBugreportResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 27);
/**
* Arguments for rpc CloneSession.
*
* @generated from message perfetto.protos.CloneSessionRequest
*/
export type CloneSessionRequest = Message<"perfetto.protos.CloneSessionRequest"> & {
/**
* @generated from oneof perfetto.protos.CloneSessionRequest.selector
*/
selector: {
/**
* The session ID to clone. If session_id == kBugreportSessionId (0xff...ff)
* the session with the highest bugreport score is cloned (if any exists).
*
* @generated from field: uint64 session_id = 1;
*/
value: bigint;
case: "sessionId";
} | {
/**
* The unique_session_name of the tracing session to clone. Tracing sessions
* that are clones of other tracing sessions are ignored.
*
* @generated from field: string unique_session_name = 4;
*/
value: string;
case: "uniqueSessionName";
} | { case: undefined; value?: undefined };
/**
* If set, the trace filter will not have effect on the cloned session.
* Used for bugreports.
*
* @generated from field: optional bool skip_trace_filter = 2;
*/
skipTraceFilter: boolean;
/**
* If set, affects the generation of the FlushFlags::CloneTarget to be set
* to kBugreport when requesting the flush to the producers.
*
* @generated from field: optional bool for_bugreport = 3;
*/
forBugreport: boolean;
/**
* If set, this is stored in the trace as name of the trigger that caused the
* clone.
*
* @generated from field: optional string clone_trigger_name = 5;
*/
cloneTriggerName: string;
/**
* If set, this is stored in the trace as name of the producer that triggered
* the clone.
*
* @generated from field: optional string clone_trigger_producer_name = 6;
*/
cloneTriggerProducerName: string;
/**
* If set, this is stored in the trace as uid of the producer that triggered
* the clone.
*
* @generated from field: optional int32 clone_trigger_trusted_producer_uid = 7;
*/
cloneTriggerTrustedProducerUid: number;
/**
* If set, this is stored in the trace as timestamp of the trigger that caused
* the clone.
*
* @generated from field: optional uint64 clone_trigger_boot_time_ns = 8;
*/
cloneTriggerBootTimeNs: bigint;
};
/**
* Describes the message perfetto.protos.CloneSessionRequest.
* Use `create(CloneSessionRequestSchema)` to create a new message.
*/
export const CloneSessionRequestSchema: GenMessage<CloneSessionRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 28);
/**
* @generated from message perfetto.protos.CloneSessionResponse
*/
export type CloneSessionResponse = Message<"perfetto.protos.CloneSessionResponse"> & {
/**
* If true, the clone was successful. If false it failed and |error| contains
* the details about the failure.
*
* @generated from field: optional bool success = 1;
*/
success: boolean;
/**
* @generated from field: optional string error = 2;
*/
error: string;
/**
* The UUID of the cloned session.
*
* @generated from field: optional int64 uuid_msb = 3;
*/
uuidMsb: bigint;
/**
* @generated from field: optional int64 uuid_lsb = 4;
*/
uuidLsb: bigint;
};
/**
* Describes the message perfetto.protos.CloneSessionResponse.
* Use `create(CloneSessionResponseSchema)` to create a new message.
*/
export const CloneSessionResponseSchema: GenMessage<CloneSessionResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_consumer_port, 29);
/**
* IPC interface definition for the consumer port of the tracing service.
*
* @generated from service perfetto.protos.ConsumerPort
*/
export const ConsumerPort: GenService<{
/**
* Enables tracing for one or more data sources. At least one buffer must have
* been previously created. The EnableTracingResponse is sent when tracing is
* disabled (either explicitly or because of the |duration_ms| expired).
* If |deferred_start| == true in the passed TraceConfig, all the tracing
* harness is brought up (creating buffers and data sources) without actually
* starting the data sources. Data sources will be started upon an explicit
* StartTracing() call.
* Note that |deferred_start| and StartTracing() have been introduced only
* in Android Q and are not supported in Android P.
*
* @generated from rpc perfetto.protos.ConsumerPort.EnableTracing
*/
enableTracing: {
methodKind: "unary";
input: typeof EnableTracingRequestSchema;
output: typeof EnableTracingResponseSchema;
},
/**
* Disables tracing for one or more data sources.
*
* @generated from rpc perfetto.protos.ConsumerPort.DisableTracing
*/
disableTracing: {
methodKind: "unary";
input: typeof DisableTracingRequestSchema;
output: typeof DisableTracingResponseSchema;
},
/**
* Streams back the contents of one or more buffers. One call is enough to
* drain all the buffers. The response consists in a sequence of
* ReadBufferResponse messages (hence the "stream" in the return type), each
* carrying one or more TracePacket(s). An EOF flag is attached to the last
* ReadBufferResponse through the |has_more| == false field.
*
* @generated from rpc perfetto.protos.ConsumerPort.ReadBuffers
*/
readBuffers: {
methodKind: "server_streaming";
input: typeof ReadBuffersRequestSchema;
output: typeof ReadBuffersResponseSchema;
},
/**
* Destroys the buffers previously created. Note: all buffers are destroyed
* implicitly if the Consumer disconnects.
*
* @generated from rpc perfetto.protos.ConsumerPort.FreeBuffers
*/
freeBuffers: {
methodKind: "unary";
input: typeof FreeBuffersRequestSchema;
output: typeof FreeBuffersResponseSchema;
},
/**
* Asks the service to request to all data sources involved in the tracing
* session to commit their data into the trace buffer. The FlushResponse is
* sent only:
* - After the data has been committed (in which case FlushResponse succeeds)
* or
* - After FlushRequest.timeout_ms milliseconds (in which case the
* FlushResponse is rejected and fails).
*
* @generated from rpc perfetto.protos.ConsumerPort.Flush
*/
flush: {
methodKind: "unary";
input: typeof FlushRequestSchema;
output: typeof FlushResponseSchema;
},
/**
* Starts tracing. Only valid if EnableTracing() was called setting
* deferred_start = true in the TraceConfig passed to EnableTracing().
*
* @generated from rpc perfetto.protos.ConsumerPort.StartTracing
*/
startTracing: {
methodKind: "unary";
input: typeof StartTracingRequestSchema;
output: typeof StartTracingResponseSchema;
},
/**
* Changes the configuration for a running tracing session; only possible
* for a subset of configuration options.
*
* @generated from rpc perfetto.protos.ConsumerPort.ChangeTraceConfig
*/
changeTraceConfig: {
methodKind: "unary";
input: typeof ChangeTraceConfigRequestSchema;
output: typeof ChangeTraceConfigResponseSchema;
},
/**
* Allows the consumer to detach from the session. The session will keep
* running even if the consumer disconnects and the consumer will not receive
* any further IPC until reattached.
*
* @generated from rpc perfetto.protos.ConsumerPort.Detach
*/
detach: {
methodKind: "unary";
input: typeof DetachRequestSchema;
output: typeof DetachResponseSchema;
},
/**
* Allows the consumer to re-attach to a previously detached session. The
* consumer will start receiving IPC notification for that session.
* The session will be terminated if the consumer closes the IPC channel, as
* in the standard non-detached case.
*
* @generated from rpc perfetto.protos.ConsumerPort.Attach
*/
attach: {
methodKind: "unary";
input: typeof AttachRequestSchema;
output: typeof AttachResponseSchema;
},
/**
* Allows the consumer to obtain statistics about the current tracing session,
* such as buffer usage stats. Intended for debugging or UI use.
*
* @generated from rpc perfetto.protos.ConsumerPort.GetTraceStats
*/
getTraceStats: {
methodKind: "unary";
input: typeof GetTraceStatsRequestSchema;
output: typeof GetTraceStatsResponseSchema;
},
/**
* Allows the consumer to observe certain state changes, such as data source
* instances starting to record.
*
* @generated from rpc perfetto.protos.ConsumerPort.ObserveEvents
*/
observeEvents: {
methodKind: "server_streaming";
input: typeof ObserveEventsRequestSchema;
output: typeof ObserveEventsResponseSchema;
},
/**
* Allows to obtain the list of data sources connected and their descriptors.
*
* @generated from rpc perfetto.protos.ConsumerPort.QueryServiceState
*/
queryServiceState: {
methodKind: "server_streaming";
input: typeof QueryServiceStateRequestSchema;
output: typeof QueryServiceStateResponseSchema;
},
/**
* Obtains a list of features supported by the service. This is to deal with
* backward/forward compatibility and feature detection.
*
* @generated from rpc perfetto.protos.ConsumerPort.QueryCapabilities
*/
queryCapabilities: {
methodKind: "unary";
input: typeof QueryCapabilitiesRequestSchema;
output: typeof QueryCapabilitiesResponseSchema;
},
/**
* This method has been deprecated and removed in Android U in favour of
* CloneSession.
*
* @generated from rpc perfetto.protos.ConsumerPort.SaveTraceForBugreport
*/
saveTraceForBugreport: {
methodKind: "unary";
input: typeof SaveTraceForBugreportRequestSchema;
output: typeof SaveTraceForBugreportResponseSchema;
},
/**
* Clones an existing tracing session and binds the consumer to it (as if
* the session was created via EnableTracing), copying over all the tracing
* data (including metadata and stats).
* The cloned session is stopped and read-only (as if DisableTracing was
* invoked).
* A consumer can clone a session only if the uid of the consumer matches the
* uid of the source session or if the consumer uid is 0 (root).
*
* @generated from rpc perfetto.protos.ConsumerPort.CloneSession
*/
cloneSession: {
methodKind: "unary";
input: typeof CloneSessionRequestSchema;
output: typeof CloneSessionResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_protos_perfetto_ipc_consumer_port, 0);