UNPKG

perfetto-protos

Version:

Perfetto protos exposed via protobuf-es for browser and node

908 lines (826 loc) 35.9 kB
// // 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);