perfetto-protos
Version:
Perfetto protos exposed via protobuf-es for browser and node
879 lines (797 loc) • 37.5 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/producer_port.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */
import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
import type { CommitDataRequestSchema } from "../common/commit_data_request_pb";
import { file_protos_perfetto_common_commit_data_request } from "../common/commit_data_request_pb";
import type { DataSourceConfig } from "../config/data_source_config_pb";
import { file_protos_perfetto_config_data_source_config } from "../config/data_source_config_pb";
import type { DataSourceDescriptor } from "../common/data_source_descriptor_pb";
import { file_protos_perfetto_common_data_source_descriptor } from "../common/data_source_descriptor_pb";
import type { Message } from "@bufbuild/protobuf";
/**
* Describes the file protos/perfetto/ipc/producer_port.proto.
*/
export const file_protos_perfetto_ipc_producer_port: GenFile = /*@__PURE__*/
fileDesc("Cidwcm90b3MvcGVyZmV0dG8vaXBjL3Byb2R1Y2VyX3BvcnQucHJvdG8SD3BlcmZldHRvLnByb3RvcyKrAwobSW5pdGlhbGl6ZUNvbm5lY3Rpb25SZXF1ZXN0EioKInNoYXJlZF9tZW1vcnlfcGFnZV9zaXplX2hpbnRfYnl0ZXMYASABKA0SJQodc2hhcmVkX21lbW9yeV9zaXplX2hpbnRfYnl0ZXMYAiABKA0SFQoNcHJvZHVjZXJfbmFtZRgDIAEoCRJfChFzbWJfc2NyYXBpbmdfbW9kZRgEIAEoDjJELnBlcmZldHRvLnByb3Rvcy5Jbml0aWFsaXplQ29ubmVjdGlvblJlcXVlc3QuUHJvZHVjZXJTTUJTY3JhcGluZ01vZGUSHwoXcHJvZHVjZXJfcHJvdmlkZWRfc2htZW0YBiABKAgSEwoLc2RrX3ZlcnNpb24YCCABKAkSFwoPc2htX2tleV93aW5kb3dzGAcgASgJImwKF1Byb2R1Y2VyU01CU2NyYXBpbmdNb2RlEhwKGFNNQl9TQ1JBUElOR19VTlNQRUNJRklFRBAAEhgKFFNNQl9TQ1JBUElOR19FTkFCTEVEEAESGQoVU01CX1NDUkFQSU5HX0RJU0FCTEVEEAJKBAgFEAYijAEKHEluaXRpYWxpemVDb25uZWN0aW9uUmVzcG9uc2USKAogdXNpbmdfc2htZW1fcHJvdmlkZWRfYnlfcHJvZHVjZXIYASABKAgSJQodZGlyZWN0X3NtYl9wYXRjaGluZ19zdXBwb3J0ZWQYAiABKAgSGwoTdXNlX3NobWVtX2VtdWxhdGlvbhgDIAEoCCJiChlSZWdpc3RlckRhdGFTb3VyY2VSZXF1ZXN0EkUKFmRhdGFfc291cmNlX2Rlc2NyaXB0b3IYASABKAsyJS5wZXJmZXR0by5wcm90b3MuRGF0YVNvdXJjZURlc2NyaXB0b3IiKwoaUmVnaXN0ZXJEYXRhU291cmNlUmVzcG9uc2USDQoFZXJyb3IYASABKAkiYAoXVXBkYXRlRGF0YVNvdXJjZVJlcXVlc3QSRQoWZGF0YV9zb3VyY2VfZGVzY3JpcHRvchgBIAEoCzIlLnBlcmZldHRvLnByb3Rvcy5EYXRhU291cmNlRGVzY3JpcHRvciIaChhVcGRhdGVEYXRhU291cmNlUmVzcG9uc2UiNwobVW5yZWdpc3RlckRhdGFTb3VyY2VSZXF1ZXN0EhgKEGRhdGFfc291cmNlX25hbWUYASABKAkiHgocVW5yZWdpc3RlckRhdGFTb3VyY2VSZXNwb25zZSJMChpSZWdpc3RlclRyYWNlV3JpdGVyUmVxdWVzdBIXCg90cmFjZV93cml0ZXJfaWQYASABKA0SFQoNdGFyZ2V0X2J1ZmZlchgCIAEoDSIdChtSZWdpc3RlclRyYWNlV3JpdGVyUmVzcG9uc2UiNwocVW5yZWdpc3RlclRyYWNlV3JpdGVyUmVxdWVzdBIXCg90cmFjZV93cml0ZXJfaWQYASABKA0iHwodVW5yZWdpc3RlclRyYWNlV3JpdGVyUmVzcG9uc2UiFAoSQ29tbWl0RGF0YVJlc3BvbnNlIjgKHk5vdGlmeURhdGFTb3VyY2VTdGFydGVkUmVxdWVzdBIWCg5kYXRhX3NvdXJjZV9pZBgBIAEoBCIhCh9Ob3RpZnlEYXRhU291cmNlU3RhcnRlZFJlc3BvbnNlIjgKHk5vdGlmeURhdGFTb3VyY2VTdG9wcGVkUmVxdWVzdBIWCg5kYXRhX3NvdXJjZV9pZBgBIAEoBCIhCh9Ob3RpZnlEYXRhU291cmNlU3RvcHBlZFJlc3BvbnNlIjAKF0FjdGl2YXRlVHJpZ2dlcnNSZXF1ZXN0EhUKDXRyaWdnZXJfbmFtZXMYASADKAkiGgoYQWN0aXZhdGVUcmlnZ2Vyc1Jlc3BvbnNlIhgKFkdldEFzeW5jQ29tbWFuZFJlcXVlc3QiwAcKF0dldEFzeW5jQ29tbWFuZFJlc3BvbnNlEk4KDXNldHVwX3RyYWNpbmcYAyABKAsyNS5wZXJmZXR0by5wcm90b3MuR2V0QXN5bmNDb21tYW5kUmVzcG9uc2UuU2V0dXBUcmFjaW5nSAASVQoRc2V0dXBfZGF0YV9zb3VyY2UYBiABKAsyOC5wZXJmZXR0by5wcm90b3MuR2V0QXN5bmNDb21tYW5kUmVzcG9uc2UuU2V0dXBEYXRhU291cmNlSAASVQoRc3RhcnRfZGF0YV9zb3VyY2UYASABKAsyOC5wZXJmZXR0by5wcm90b3MuR2V0QXN5bmNDb21tYW5kUmVzcG9uc2UuU3RhcnREYXRhU291cmNlSAASUwoQc3RvcF9kYXRhX3NvdXJjZRgCIAEoCzI3LnBlcmZldHRvLnByb3Rvcy5HZXRBc3luY0NvbW1hbmRSZXNwb25zZS5TdG9wRGF0YVNvdXJjZUgAEj8KBWZsdXNoGAUgASgLMi4ucGVyZmV0dG8ucHJvdG9zLkdldEFzeW5jQ29tbWFuZFJlc3BvbnNlLkZsdXNoSAASYQoXY2xlYXJfaW5jcmVtZW50YWxfc3RhdGUYByABKAsyPi5wZXJmZXR0by5wcm90b3MuR2V0QXN5bmNDb21tYW5kUmVzcG9uc2UuQ2xlYXJJbmNyZW1lbnRhbFN0YXRlSAAaXQoPU2V0dXBEYXRhU291cmNlEhcKD25ld19pbnN0YW5jZV9pZBgBIAEoBBIxCgZjb25maWcYAiABKAsyIS5wZXJmZXR0by5wcm90b3MuRGF0YVNvdXJjZUNvbmZpZxpdCg9TdGFydERhdGFTb3VyY2USFwoPbmV3X2luc3RhbmNlX2lkGAEgASgEEjEKBmNvbmZpZxgCIAEoCzIhLnBlcmZldHRvLnByb3Rvcy5EYXRhU291cmNlQ29uZmlnGiUKDlN0b3BEYXRhU291cmNlEhMKC2luc3RhbmNlX2lkGAEgASgEGksKDFNldHVwVHJhY2luZxIiChpzaGFyZWRfYnVmZmVyX3BhZ2Vfc2l6ZV9rYhgBIAEoDRIXCg9zaG1fa2V5X3dpbmRvd3MYAiABKAkaQwoFRmx1c2gSFwoPZGF0YV9zb3VyY2VfaWRzGAEgAygEEhIKCnJlcXVlc3RfaWQYAiABKAQSDQoFZmxhZ3MYAyABKAQaMAoVQ2xlYXJJbmNyZW1lbnRhbFN0YXRlEhcKD2RhdGFfc291cmNlX2lkcxgBIAMoBEIFCgNjbWQiDQoLU3luY1JlcXVlc3QiDgoMU3luY1Jlc3BvbnNlMrsKCgxQcm9kdWNlclBvcnQSdQoUSW5pdGlhbGl6ZUNvbm5lY3Rpb24SLC5wZXJmZXR0by5wcm90b3MuSW5pdGlhbGl6ZUNvbm5lY3Rpb25SZXF1ZXN0Gi0ucGVyZmV0dG8ucHJvdG9zLkluaXRpYWxpemVDb25uZWN0aW9uUmVzcG9uc2UiABJvChJSZWdpc3RlckRhdGFTb3VyY2USKi5wZXJmZXR0by5wcm90b3MuUmVnaXN0ZXJEYXRhU291cmNlUmVxdWVzdBorLnBlcmZldHRvLnByb3Rvcy5SZWdpc3RlckRhdGFTb3VyY2VSZXNwb25zZSIAEnUKFFVucmVnaXN0ZXJEYXRhU291cmNlEiwucGVyZmV0dG8ucHJvdG9zLlVucmVnaXN0ZXJEYXRhU291cmNlUmVxdWVzdBotLnBlcmZldHRvLnByb3Rvcy5VbnJlZ2lzdGVyRGF0YVNvdXJjZVJlc3BvbnNlIgASVwoKQ29tbWl0RGF0YRIiLnBlcmZldHRvLnByb3Rvcy5Db21taXREYXRhUmVxdWVzdBojLnBlcmZldHRvLnByb3Rvcy5Db21taXREYXRhUmVzcG9uc2UiABJoCg9HZXRBc3luY0NvbW1hbmQSJy5wZXJmZXR0by5wcm90b3MuR2V0QXN5bmNDb21tYW5kUmVxdWVzdBooLnBlcmZldHRvLnByb3Rvcy5HZXRBc3luY0NvbW1hbmRSZXNwb25zZSIAMAEScgoTUmVnaXN0ZXJUcmFjZVdyaXRlchIrLnBlcmZldHRvLnByb3Rvcy5SZWdpc3RlclRyYWNlV3JpdGVyUmVxdWVzdBosLnBlcmZldHRvLnByb3Rvcy5SZWdpc3RlclRyYWNlV3JpdGVyUmVzcG9uc2UiABJ4ChVVbnJlZ2lzdGVyVHJhY2VXcml0ZXISLS5wZXJmZXR0by5wcm90b3MuVW5yZWdpc3RlclRyYWNlV3JpdGVyUmVxdWVzdBouLnBlcmZldHRvLnByb3Rvcy5VbnJlZ2lzdGVyVHJhY2VXcml0ZXJSZXNwb25zZSIAEn4KF05vdGlmeURhdGFTb3VyY2VTdGFydGVkEi8ucGVyZmV0dG8ucHJvdG9zLk5vdGlmeURhdGFTb3VyY2VTdGFydGVkUmVxdWVzdBowLnBlcmZldHRvLnByb3Rvcy5Ob3RpZnlEYXRhU291cmNlU3RhcnRlZFJlc3BvbnNlIgASfgoXTm90aWZ5RGF0YVNvdXJjZVN0b3BwZWQSLy5wZXJmZXR0by5wcm90b3MuTm90aWZ5RGF0YVNvdXJjZVN0b3BwZWRSZXF1ZXN0GjAucGVyZmV0dG8ucHJvdG9zLk5vdGlmeURhdGFTb3VyY2VTdG9wcGVkUmVzcG9uc2UiABJpChBBY3RpdmF0ZVRyaWdnZXJzEigucGVyZmV0dG8ucHJvdG9zLkFjdGl2YXRlVHJpZ2dlcnNSZXF1ZXN0GikucGVyZmV0dG8ucHJvdG9zLkFjdGl2YXRlVHJpZ2dlcnNSZXNwb25zZSIAEkUKBFN5bmMSHC5wZXJmZXR0by5wcm90b3MuU3luY1JlcXVlc3QaHS5wZXJmZXR0by5wcm90b3MuU3luY1Jlc3BvbnNlIgASaQoQVXBkYXRlRGF0YVNvdXJjZRIoLnBlcmZldHRvLnByb3Rvcy5VcGRhdGVEYXRhU291cmNlUmVxdWVzdBopLnBlcmZldHRvLnByb3Rvcy5VcGRhdGVEYXRhU291cmNlUmVzcG9uc2UiAA", [file_protos_perfetto_common_commit_data_request, file_protos_perfetto_config_data_source_config, file_protos_perfetto_common_data_source_descriptor]);
/**
* Arguments for rpc InitializeConnection().
*
* @generated from message perfetto.protos.InitializeConnectionRequest
*/
export type InitializeConnectionRequest = Message<"perfetto.protos.InitializeConnectionRequest"> & {
/**
* Optional. Provides a hint to the tracing service about the suggested size
* of the shared memory buffer pages. The service is not required to respect
* this if it has already another value in the configuration or if the hint
* is unreasonably large. Must be an integer multiple of 4096. See tradeoff
* considerations in shared_memory_abi.h.
*
* @generated from field: optional uint32 shared_memory_page_size_hint_bytes = 1;
*/
sharedMemoryPageSizeHintBytes: number;
/**
* Optional. Provides a hint to the tracing service about the suggested size
* of the shared memory buffer. The service is not required to respect this
* and might return a smaller buffer.
*
* @generated from field: optional uint32 shared_memory_size_hint_bytes = 2;
*/
sharedMemorySizeHintBytes: number;
/**
* Required to match the producer config set by the service to the correct
* producer.
*
* @generated from field: optional string producer_name = 3;
*/
producerName: string;
/**
* If provided, overrides the service's SMB scraping setting for the producer.
*
* @generated from field: optional perfetto.protos.InitializeConnectionRequest.ProducerSMBScrapingMode smb_scraping_mode = 4;
*/
smbScrapingMode: InitializeConnectionRequest_ProducerSMBScrapingMode;
/**
* Since Android R, this request can also transport an FD for the producer's
* shared memory buffer, if allocated by the producer (e.g. for startup
* tracing). In this case, |shared_memory_page_size_hint_bytes| is a required
* field, and describes the SMB's page size. Note that the service may not
* accept this SMB (e.g. because it is too old or its size / page size are
* invalid) and instead allocate a new SMB which is provided in the
* SetupTracing response. See TracingService::ConnectProducer() and
* |using_shmem_provided_by_producer| in InitializeConnectionResponse.
*
* @generated from field: optional bool producer_provided_shmem = 6;
*/
producerProvidedShmem: boolean;
/**
* The version of the client library used by the producer.
* This is a human readable string with and its format varies depending on
* the build system that is used to build the code and the repo (standalone
* vs AOSP). This is intended for human debugging only.
*
* @generated from field: optional string sdk_version = 8;
*/
sdkVersion: string;
/**
* On Windows, when producer_provided_shmem = true, the client creates a named
* SHM region and passes the name (an unguessable token) back to the service.
* Introduced in v13.
*
* @generated from field: optional string shm_key_windows = 7;
*/
shmKeyWindows: string;
};
/**
* Describes the message perfetto.protos.InitializeConnectionRequest.
* Use `create(InitializeConnectionRequestSchema)` to create a new message.
*/
export const InitializeConnectionRequestSchema: GenMessage<InitializeConnectionRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 0);
/**
* @generated from enum perfetto.protos.InitializeConnectionRequest.ProducerSMBScrapingMode
*/
export enum InitializeConnectionRequest_ProducerSMBScrapingMode {
/**
* Use the service's default setting for SMB scraping.
*
* @generated from enum value: SMB_SCRAPING_UNSPECIFIED = 0;
*/
SMB_SCRAPING_UNSPECIFIED = 0,
/**
* Enable scraping of uncommitted chunks from the producer's shared memory
* buffer.
*
* @generated from enum value: SMB_SCRAPING_ENABLED = 1;
*/
SMB_SCRAPING_ENABLED = 1,
/**
* Disable scraping of uncommitted chunks from the producer's shared memory
* buffer.
*
* @generated from enum value: SMB_SCRAPING_DISABLED = 2;
*/
SMB_SCRAPING_DISABLED = 2,
}
/**
* Describes the enum perfetto.protos.InitializeConnectionRequest.ProducerSMBScrapingMode.
*/
export const InitializeConnectionRequest_ProducerSMBScrapingModeSchema: GenEnum<InitializeConnectionRequest_ProducerSMBScrapingMode> = /*@__PURE__*/
enumDesc(file_protos_perfetto_ipc_producer_port, 0, 0);
/**
* @generated from message perfetto.protos.InitializeConnectionResponse
*/
export type InitializeConnectionResponse = Message<"perfetto.protos.InitializeConnectionResponse"> & {
/**
* Indicates whether the service accepted the SMB provided by the producer in
* InitializeConnectionRequest (if any). If false, the shared memory buffer FD
* will provided by the service via the SetupTracing async command.
*
* @generated from field: optional bool using_shmem_provided_by_producer = 1;
*/
usingShmemProvidedByProducer: boolean;
/**
* Indicates to the producer that the service allows direct SMB patching of
* chunks that have not yet been committed to it.
* This field has been introduced in Android S.
*
* @generated from field: optional bool direct_smb_patching_supported = 2;
*/
directSmbPatchingSupported: boolean;
/**
* Indicates whether the service would like to use SMB emulation for the
* connection, and request the client to send chunk data over the socket e.g.
* for remote connection from a VM guest.
*
* @generated from field: optional bool use_shmem_emulation = 3;
*/
useShmemEmulation: boolean;
};
/**
* Describes the message perfetto.protos.InitializeConnectionResponse.
* Use `create(InitializeConnectionResponseSchema)` to create a new message.
*/
export const InitializeConnectionResponseSchema: GenMessage<InitializeConnectionResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 1);
/**
* @generated from message perfetto.protos.RegisterDataSourceRequest
*/
export type RegisterDataSourceRequest = Message<"perfetto.protos.RegisterDataSourceRequest"> & {
/**
* @generated from field: optional perfetto.protos.DataSourceDescriptor data_source_descriptor = 1;
*/
dataSourceDescriptor?: DataSourceDescriptor;
};
/**
* Describes the message perfetto.protos.RegisterDataSourceRequest.
* Use `create(RegisterDataSourceRequestSchema)` to create a new message.
*/
export const RegisterDataSourceRequestSchema: GenMessage<RegisterDataSourceRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 2);
/**
* @generated from message perfetto.protos.RegisterDataSourceResponse
*/
export type RegisterDataSourceResponse = Message<"perfetto.protos.RegisterDataSourceResponse"> & {
/**
* Only set in case of errors, when |data_source_id| == 0.
*
* @generated from field: optional string error = 1;
*/
error: string;
};
/**
* Describes the message perfetto.protos.RegisterDataSourceResponse.
* Use `create(RegisterDataSourceResponseSchema)` to create a new message.
*/
export const RegisterDataSourceResponseSchema: GenMessage<RegisterDataSourceResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 3);
/**
* @generated from message perfetto.protos.UpdateDataSourceRequest
*/
export type UpdateDataSourceRequest = Message<"perfetto.protos.UpdateDataSourceRequest"> & {
/**
* The new data_source_descriptor.{id, name} must match {id, name} of a
* data source previously registered via RegisterDataSource().
*
* @generated from field: optional perfetto.protos.DataSourceDescriptor data_source_descriptor = 1;
*/
dataSourceDescriptor?: DataSourceDescriptor;
};
/**
* Describes the message perfetto.protos.UpdateDataSourceRequest.
* Use `create(UpdateDataSourceRequestSchema)` to create a new message.
*/
export const UpdateDataSourceRequestSchema: GenMessage<UpdateDataSourceRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 4);
/**
* @generated from message perfetto.protos.UpdateDataSourceResponse
*/
export type UpdateDataSourceResponse = Message<"perfetto.protos.UpdateDataSourceResponse"> & {
};
/**
* Describes the message perfetto.protos.UpdateDataSourceResponse.
* Use `create(UpdateDataSourceResponseSchema)` to create a new message.
*/
export const UpdateDataSourceResponseSchema: GenMessage<UpdateDataSourceResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 5);
/**
* @generated from message perfetto.protos.UnregisterDataSourceRequest
*/
export type UnregisterDataSourceRequest = Message<"perfetto.protos.UnregisterDataSourceRequest"> & {
/**
* The name of the data source to unregister, as previously passed in
* |RegisterDataSourceRequest.name|.
*
* @generated from field: optional string data_source_name = 1;
*/
dataSourceName: string;
};
/**
* Describes the message perfetto.protos.UnregisterDataSourceRequest.
* Use `create(UnregisterDataSourceRequestSchema)` to create a new message.
*/
export const UnregisterDataSourceRequestSchema: GenMessage<UnregisterDataSourceRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 6);
/**
* @generated from message perfetto.protos.UnregisterDataSourceResponse
*/
export type UnregisterDataSourceResponse = Message<"perfetto.protos.UnregisterDataSourceResponse"> & {
};
/**
* Describes the message perfetto.protos.UnregisterDataSourceResponse.
* Use `create(UnregisterDataSourceResponseSchema)` to create a new message.
*/
export const UnregisterDataSourceResponseSchema: GenMessage<UnregisterDataSourceResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 7);
/**
* @generated from message perfetto.protos.RegisterTraceWriterRequest
*/
export type RegisterTraceWriterRequest = Message<"perfetto.protos.RegisterTraceWriterRequest"> & {
/**
* The ID of a producer's trace writer.
*
* @generated from field: optional uint32 trace_writer_id = 1;
*/
traceWriterId: number;
/**
* The ID of the target buffer that the trace writer commits its chunks to.
*
* @generated from field: optional uint32 target_buffer = 2;
*/
targetBuffer: number;
};
/**
* Describes the message perfetto.protos.RegisterTraceWriterRequest.
* Use `create(RegisterTraceWriterRequestSchema)` to create a new message.
*/
export const RegisterTraceWriterRequestSchema: GenMessage<RegisterTraceWriterRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 8);
/**
* @generated from message perfetto.protos.RegisterTraceWriterResponse
*/
export type RegisterTraceWriterResponse = Message<"perfetto.protos.RegisterTraceWriterResponse"> & {
};
/**
* Describes the message perfetto.protos.RegisterTraceWriterResponse.
* Use `create(RegisterTraceWriterResponseSchema)` to create a new message.
*/
export const RegisterTraceWriterResponseSchema: GenMessage<RegisterTraceWriterResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 9);
/**
* @generated from message perfetto.protos.UnregisterTraceWriterRequest
*/
export type UnregisterTraceWriterRequest = Message<"perfetto.protos.UnregisterTraceWriterRequest"> & {
/**
* The ID of a producer's trace writer.
*
* @generated from field: optional uint32 trace_writer_id = 1;
*/
traceWriterId: number;
};
/**
* Describes the message perfetto.protos.UnregisterTraceWriterRequest.
* Use `create(UnregisterTraceWriterRequestSchema)` to create a new message.
*/
export const UnregisterTraceWriterRequestSchema: GenMessage<UnregisterTraceWriterRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 10);
/**
* @generated from message perfetto.protos.UnregisterTraceWriterResponse
*/
export type UnregisterTraceWriterResponse = Message<"perfetto.protos.UnregisterTraceWriterResponse"> & {
};
/**
* Describes the message perfetto.protos.UnregisterTraceWriterResponse.
* Use `create(UnregisterTraceWriterResponseSchema)` to create a new message.
*/
export const UnregisterTraceWriterResponseSchema: GenMessage<UnregisterTraceWriterResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 11);
/**
* @generated from message perfetto.protos.CommitDataResponse
*/
export type CommitDataResponse = Message<"perfetto.protos.CommitDataResponse"> & {
};
/**
* Describes the message perfetto.protos.CommitDataResponse.
* Use `create(CommitDataResponseSchema)` to create a new message.
*/
export const CommitDataResponseSchema: GenMessage<CommitDataResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 12);
/**
* @generated from message perfetto.protos.NotifyDataSourceStartedRequest
*/
export type NotifyDataSourceStartedRequest = Message<"perfetto.protos.NotifyDataSourceStartedRequest"> & {
/**
* ID of the data source that has successfully started.
*
* @generated from field: optional uint64 data_source_id = 1;
*/
dataSourceId: bigint;
};
/**
* Describes the message perfetto.protos.NotifyDataSourceStartedRequest.
* Use `create(NotifyDataSourceStartedRequestSchema)` to create a new message.
*/
export const NotifyDataSourceStartedRequestSchema: GenMessage<NotifyDataSourceStartedRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 13);
/**
* @generated from message perfetto.protos.NotifyDataSourceStartedResponse
*/
export type NotifyDataSourceStartedResponse = Message<"perfetto.protos.NotifyDataSourceStartedResponse"> & {
};
/**
* Describes the message perfetto.protos.NotifyDataSourceStartedResponse.
* Use `create(NotifyDataSourceStartedResponseSchema)` to create a new message.
*/
export const NotifyDataSourceStartedResponseSchema: GenMessage<NotifyDataSourceStartedResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 14);
/**
* @generated from message perfetto.protos.NotifyDataSourceStoppedRequest
*/
export type NotifyDataSourceStoppedRequest = Message<"perfetto.protos.NotifyDataSourceStoppedRequest"> & {
/**
* ID of the data source that has successfully stopped.
*
* @generated from field: optional uint64 data_source_id = 1;
*/
dataSourceId: bigint;
};
/**
* Describes the message perfetto.protos.NotifyDataSourceStoppedRequest.
* Use `create(NotifyDataSourceStoppedRequestSchema)` to create a new message.
*/
export const NotifyDataSourceStoppedRequestSchema: GenMessage<NotifyDataSourceStoppedRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 15);
/**
* @generated from message perfetto.protos.NotifyDataSourceStoppedResponse
*/
export type NotifyDataSourceStoppedResponse = Message<"perfetto.protos.NotifyDataSourceStoppedResponse"> & {
};
/**
* Describes the message perfetto.protos.NotifyDataSourceStoppedResponse.
* Use `create(NotifyDataSourceStoppedResponseSchema)` to create a new message.
*/
export const NotifyDataSourceStoppedResponseSchema: GenMessage<NotifyDataSourceStoppedResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 16);
/**
* @generated from message perfetto.protos.ActivateTriggersRequest
*/
export type ActivateTriggersRequest = Message<"perfetto.protos.ActivateTriggersRequest"> & {
/**
* @generated from field: repeated string trigger_names = 1;
*/
triggerNames: string[];
};
/**
* Describes the message perfetto.protos.ActivateTriggersRequest.
* Use `create(ActivateTriggersRequestSchema)` to create a new message.
*/
export const ActivateTriggersRequestSchema: GenMessage<ActivateTriggersRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 17);
/**
* @generated from message perfetto.protos.ActivateTriggersResponse
*/
export type ActivateTriggersResponse = Message<"perfetto.protos.ActivateTriggersResponse"> & {
};
/**
* Describes the message perfetto.protos.ActivateTriggersResponse.
* Use `create(ActivateTriggersResponseSchema)` to create a new message.
*/
export const ActivateTriggersResponseSchema: GenMessage<ActivateTriggersResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 18);
/**
* @generated from message perfetto.protos.GetAsyncCommandRequest
*/
export type GetAsyncCommandRequest = Message<"perfetto.protos.GetAsyncCommandRequest"> & {
};
/**
* Describes the message perfetto.protos.GetAsyncCommandRequest.
* Use `create(GetAsyncCommandRequestSchema)` to create a new message.
*/
export const GetAsyncCommandRequestSchema: GenMessage<GetAsyncCommandRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 19);
/**
* @generated from message perfetto.protos.GetAsyncCommandResponse
*/
export type GetAsyncCommandResponse = Message<"perfetto.protos.GetAsyncCommandResponse"> & {
/**
* Next id: 8.
*
* @generated from oneof perfetto.protos.GetAsyncCommandResponse.cmd
*/
cmd: {
/**
* @generated from field: perfetto.protos.GetAsyncCommandResponse.SetupTracing setup_tracing = 3;
*/
value: GetAsyncCommandResponse_SetupTracing;
case: "setupTracing";
} | {
/**
* @generated from field: perfetto.protos.GetAsyncCommandResponse.SetupDataSource setup_data_source = 6;
*/
value: GetAsyncCommandResponse_SetupDataSource;
case: "setupDataSource";
} | {
/**
* @generated from field: perfetto.protos.GetAsyncCommandResponse.StartDataSource start_data_source = 1;
*/
value: GetAsyncCommandResponse_StartDataSource;
case: "startDataSource";
} | {
/**
* @generated from field: perfetto.protos.GetAsyncCommandResponse.StopDataSource stop_data_source = 2;
*/
value: GetAsyncCommandResponse_StopDataSource;
case: "stopDataSource";
} | {
/**
* id == 4 was teardown_tracing, never implemented.
*
* @generated from field: perfetto.protos.GetAsyncCommandResponse.Flush flush = 5;
*/
value: GetAsyncCommandResponse_Flush;
case: "flush";
} | {
/**
* @generated from field: perfetto.protos.GetAsyncCommandResponse.ClearIncrementalState clear_incremental_state = 7;
*/
value: GetAsyncCommandResponse_ClearIncrementalState;
case: "clearIncrementalState";
} | { case: undefined; value?: undefined };
};
/**
* Describes the message perfetto.protos.GetAsyncCommandResponse.
* Use `create(GetAsyncCommandResponseSchema)` to create a new message.
*/
export const GetAsyncCommandResponseSchema: GenMessage<GetAsyncCommandResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 20);
/**
* Called after SetupTracing and before StartDataSource.
* This message was introduced in Android Q.
*
* @generated from message perfetto.protos.GetAsyncCommandResponse.SetupDataSource
*/
export type GetAsyncCommandResponse_SetupDataSource = Message<"perfetto.protos.GetAsyncCommandResponse.SetupDataSource"> & {
/**
* @generated from field: optional uint64 new_instance_id = 1;
*/
newInstanceId: bigint;
/**
* @generated from field: optional perfetto.protos.DataSourceConfig config = 2;
*/
config?: DataSourceConfig;
};
/**
* Describes the message perfetto.protos.GetAsyncCommandResponse.SetupDataSource.
* Use `create(GetAsyncCommandResponse_SetupDataSourceSchema)` to create a new message.
*/
export const GetAsyncCommandResponse_SetupDataSourceSchema: GenMessage<GetAsyncCommandResponse_SetupDataSource> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 20, 0);
/**
* @generated from message perfetto.protos.GetAsyncCommandResponse.StartDataSource
*/
export type GetAsyncCommandResponse_StartDataSource = Message<"perfetto.protos.GetAsyncCommandResponse.StartDataSource"> & {
/**
* @generated from field: optional uint64 new_instance_id = 1;
*/
newInstanceId: bigint;
/**
* For backwards compat reasons (with Android P), the config passed here
* is identical to the one passed to SetupDataSource.config.
*
* @generated from field: optional perfetto.protos.DataSourceConfig config = 2;
*/
config?: DataSourceConfig;
};
/**
* Describes the message perfetto.protos.GetAsyncCommandResponse.StartDataSource.
* Use `create(GetAsyncCommandResponse_StartDataSourceSchema)` to create a new message.
*/
export const GetAsyncCommandResponse_StartDataSourceSchema: GenMessage<GetAsyncCommandResponse_StartDataSource> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 20, 1);
/**
* @generated from message perfetto.protos.GetAsyncCommandResponse.StopDataSource
*/
export type GetAsyncCommandResponse_StopDataSource = Message<"perfetto.protos.GetAsyncCommandResponse.StopDataSource"> & {
/**
* @generated from field: optional uint64 instance_id = 1;
*/
instanceId: bigint;
};
/**
* Describes the message perfetto.protos.GetAsyncCommandResponse.StopDataSource.
* Use `create(GetAsyncCommandResponse_StopDataSourceSchema)` to create a new message.
*/
export const GetAsyncCommandResponse_StopDataSourceSchema: GenMessage<GetAsyncCommandResponse_StopDataSource> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 20, 2);
/**
* On Android/Linux/Mac this message also transports the file descriptor for
* the shared memory buffer (not a proto field).
*
* @generated from message perfetto.protos.GetAsyncCommandResponse.SetupTracing
*/
export type GetAsyncCommandResponse_SetupTracing = Message<"perfetto.protos.GetAsyncCommandResponse.SetupTracing"> & {
/**
* @generated from field: optional uint32 shared_buffer_page_size_kb = 1;
*/
sharedBufferPageSizeKb: number;
/**
* On Windows, instead, we pass the name (an unguessable token) of a shared
* memory region that can be attached by the other process by name.
* Introduced in v13.
*
* @generated from field: optional string shm_key_windows = 2;
*/
shmKeyWindows: string;
};
/**
* Describes the message perfetto.protos.GetAsyncCommandResponse.SetupTracing.
* Use `create(GetAsyncCommandResponse_SetupTracingSchema)` to create a new message.
*/
export const GetAsyncCommandResponse_SetupTracingSchema: GenMessage<GetAsyncCommandResponse_SetupTracing> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 20, 3);
/**
* @generated from message perfetto.protos.GetAsyncCommandResponse.Flush
*/
export type GetAsyncCommandResponse_Flush = Message<"perfetto.protos.GetAsyncCommandResponse.Flush"> & {
/**
* The instance id (i.e. StartDataSource.new_instance_id) of the data
* sources to flush.
*
* @generated from field: repeated uint64 data_source_ids = 1;
*/
dataSourceIds: bigint[];
/**
* A monotonic counter generated by the service. The producer is simply
* expected to copy this value back into the CommitDataRequest, so the
* service can tell when the data for this flush has been committed.
*
* @generated from field: optional uint64 request_id = 2;
*/
requestId: bigint;
/**
* 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 = 3;
*/
flags: bigint;
};
/**
* Describes the message perfetto.protos.GetAsyncCommandResponse.Flush.
* Use `create(GetAsyncCommandResponse_FlushSchema)` to create a new message.
*/
export const GetAsyncCommandResponse_FlushSchema: GenMessage<GetAsyncCommandResponse_Flush> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 20, 4);
/**
* Instructs the given data sources to stop referring to any trace contents
* emitted so far. Sent only to active data sources that set
* |handles_incremental_state_clear| in their DataSourceDescriptor.
*
* Added to perfetto tree in May 2019.
*
* @generated from message perfetto.protos.GetAsyncCommandResponse.ClearIncrementalState
*/
export type GetAsyncCommandResponse_ClearIncrementalState = Message<"perfetto.protos.GetAsyncCommandResponse.ClearIncrementalState"> & {
/**
* The instance id (i.e. StartDataSource.new_instance_id) of the data
* sources that should clear their incremental state.
*
* @generated from field: repeated uint64 data_source_ids = 1;
*/
dataSourceIds: bigint[];
};
/**
* Describes the message perfetto.protos.GetAsyncCommandResponse.ClearIncrementalState.
* Use `create(GetAsyncCommandResponse_ClearIncrementalStateSchema)` to create a new message.
*/
export const GetAsyncCommandResponse_ClearIncrementalStateSchema: GenMessage<GetAsyncCommandResponse_ClearIncrementalState> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 20, 5);
/**
* Arguments for rpc Sync().
*
* @generated from message perfetto.protos.SyncRequest
*/
export type SyncRequest = Message<"perfetto.protos.SyncRequest"> & {
};
/**
* Describes the message perfetto.protos.SyncRequest.
* Use `create(SyncRequestSchema)` to create a new message.
*/
export const SyncRequestSchema: GenMessage<SyncRequest> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 21);
/**
* @generated from message perfetto.protos.SyncResponse
*/
export type SyncResponse = Message<"perfetto.protos.SyncResponse"> & {
};
/**
* Describes the message perfetto.protos.SyncResponse.
* Use `create(SyncResponseSchema)` to create a new message.
*/
export const SyncResponseSchema: GenMessage<SyncResponse> = /*@__PURE__*/
messageDesc(file_protos_perfetto_ipc_producer_port, 22);
/**
* IPC interface definition for the producer port of the tracing service.
*
* @generated from service perfetto.protos.ProducerPort
*/
export const ProducerPort: GenService<{
/**
* Called once only after establishing the connection with the Service.
* The service replies sending the shared memory file descriptor in reply.
*
* @generated from rpc perfetto.protos.ProducerPort.InitializeConnection
*/
initializeConnection: {
methodKind: "unary";
input: typeof InitializeConnectionRequestSchema;
output: typeof InitializeConnectionResponseSchema;
},
/**
* Advertises a new data source.
*
* @generated from rpc perfetto.protos.ProducerPort.RegisterDataSource
*/
registerDataSource: {
methodKind: "unary";
input: typeof RegisterDataSourceRequestSchema;
output: typeof RegisterDataSourceResponseSchema;
},
/**
* Unregisters a previously registered data source.
*
* @generated from rpc perfetto.protos.ProducerPort.UnregisterDataSource
*/
unregisterDataSource: {
methodKind: "unary";
input: typeof UnregisterDataSourceRequestSchema;
output: typeof UnregisterDataSourceResponseSchema;
},
/**
* Sent by the client to request the service to:
* 1) Move some chunks from the shmem buffer into the logging buffer.
* 2) Patch the content of some chunks previously moved.
* 3) Acknowledge a Flush() request.
*
* @generated from rpc perfetto.protos.ProducerPort.CommitData
*/
commitData: {
methodKind: "unary";
input: typeof CommitDataRequestSchema;
output: typeof CommitDataResponseSchema;
},
/**
* This is a backchannel to get asynchronous commands / notifications back
* from the Service.
*
* @generated from rpc perfetto.protos.ProducerPort.GetAsyncCommand
*/
getAsyncCommand: {
methodKind: "server_streaming";
input: typeof GetAsyncCommandRequestSchema;
output: typeof GetAsyncCommandResponseSchema;
},
/**
* Associates a trace writer with its target buffer.
*
* @generated from rpc perfetto.protos.ProducerPort.RegisterTraceWriter
*/
registerTraceWriter: {
methodKind: "unary";
input: typeof RegisterTraceWriterRequestSchema;
output: typeof RegisterTraceWriterResponseSchema;
},
/**
* Removes a trace writer association previously added by
* RegisterTraceWriter.
*
* @generated from rpc perfetto.protos.ProducerPort.UnregisterTraceWriter
*/
unregisterTraceWriter: {
methodKind: "unary";
input: typeof UnregisterTraceWriterRequestSchema;
output: typeof UnregisterTraceWriterResponseSchema;
},
/**
* Sent by the client in response to a StartDataSource message, when a data
* source is successfully started. This is expected only for data sources that
* set the DataSourceDescriptor.will_notify_on_start flag when registering.
*
* @generated from rpc perfetto.protos.ProducerPort.NotifyDataSourceStarted
*/
notifyDataSourceStarted: {
methodKind: "unary";
input: typeof NotifyDataSourceStartedRequestSchema;
output: typeof NotifyDataSourceStartedResponseSchema;
},
/**
* Sent by the client in response to a StopDataSource message, when a data
* source is successfully stopped. This is expected only for data sources that
* set the DataSourceDescriptor.will_notify_on_stop flag when registering.
*
* @generated from rpc perfetto.protos.ProducerPort.NotifyDataSourceStopped
*/
notifyDataSourceStopped: {
methodKind: "unary";
input: typeof NotifyDataSourceStoppedRequestSchema;
output: typeof NotifyDataSourceStoppedResponseSchema;
},
/**
* Sent by the client to request the service to:
* 1) Find all sessions which define these triggers
* 2) Perform an action as defined in those sessions configs.
*
* @generated from rpc perfetto.protos.ProducerPort.ActivateTriggers
*/
activateTriggers: {
methodKind: "unary";
input: typeof ActivateTriggersRequestSchema;
output: typeof ActivateTriggersResponseSchema;
},
/**
* This is used to linearize the producer with the service and to guarantee
* that all IPCs prior to this call have been seen and processed by the
* service. Example:
* - RegisterDataSource(A)
* - RegisterDataSource(B)
* - Sync()
* When the Sync() response is received, the producer is guaranteed that the
* service has seen both data source registrations.
*
* @generated from rpc perfetto.protos.ProducerPort.Sync
*/
sync: {
methodKind: "unary";
input: typeof SyncRequestSchema;
output: typeof SyncResponseSchema;
},
/**
* Updates the data source descriptor for an already-registered data source.
* This can be used to update the list of features supported.
* Only the data source with a matching data_source_descriptor.id is updated.
* The data_source_descriptor.name cannot be changed.
*
* @generated from rpc perfetto.protos.ProducerPort.UpdateDataSource
*/
updateDataSource: {
methodKind: "unary";
input: typeof UpdateDataSourceRequestSchema;
output: typeof UpdateDataSourceResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_protos_perfetto_ipc_producer_port, 0);