UNPKG

perfetto-protos

Version:

Perfetto protos exposed via protobuf-es for browser and node

358 lines 15.3 kB
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1"; import type { AndroidGameInterventionListConfig } from "./android/android_game_intervention_list_config_pb"; import type { AndroidInputEventConfig } from "./android/android_input_event_config_pb"; import type { AndroidLogConfig } from "./android/android_log_config_pb"; import type { AndroidPolledStateConfig } from "./android/android_polled_state_config_pb"; import type { AndroidSystemPropertyConfig } from "./android/android_system_property_config_pb"; import type { AndroidSdkSyspropGuardConfig } from "./android/android_sdk_sysprop_guard_config_pb"; import type { NetworkPacketTraceConfig } from "./android/network_trace_config_pb"; import type { PackagesListConfig } from "./android/packages_list_config_pb"; import type { PixelModemConfig } from "./android/pixel_modem_config_pb"; import type { ProtoLogConfig } from "./android/protolog_config_pb"; import type { SurfaceFlingerLayersConfig } from "./android/surfaceflinger_layers_config_pb"; import type { SurfaceFlingerTransactionsConfig } from "./android/surfaceflinger_transactions_config_pb"; import type { WindowManagerConfig } from "./android/windowmanager_config_pb"; import type { ChromeConfig } from "./chrome/chrome_config_pb"; import type { V8Config } from "./chrome/v8_config_pb"; import type { EtwConfig } from "./etw/etw_config_pb"; import type { ChromiumSystemMetricsConfig } from "./chrome/system_metrics_pb"; import type { FtraceConfig } from "./ftrace/ftrace_config_pb"; import type { GpuCounterConfig } from "./gpu/gpu_counter_config_pb"; import type { VulkanMemoryConfig } from "./gpu/vulkan_memory_config_pb"; import type { InodeFileConfig } from "./inode_file/inode_file_config_pb"; import type { InterceptorConfig } from "./interceptor_config_pb"; import type { AndroidPowerConfig } from "./power/android_power_config_pb"; import type { StatsdTracingConfig } from "./statsd/statsd_tracing_config_pb"; import type { ProcessStatsConfig } from "./process_stats/process_stats_config_pb"; import type { HeapprofdConfig } from "./profiling/heapprofd_config_pb"; import type { JavaHprofConfig } from "./profiling/java_hprof_config_pb"; import type { PerfEventConfig } from "./profiling/perf_event_config_pb"; import type { SysStatsConfig } from "./sys_stats/sys_stats_config_pb"; import type { TestConfig } from "./test_config_pb"; import type { TrackEventConfig } from "./track_event/track_event_config_pb"; import type { SystemInfoConfig } from "./system_info/system_info_pb"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file protos/perfetto/config/data_source_config.proto. */ export declare const file_protos_perfetto_config_data_source_config: GenFile; /** * The configuration that is passed to each data source when starting tracing. * Next id: 132 * * @generated from message perfetto.protos.DataSourceConfig */ export type DataSourceConfig = Message<"perfetto.protos.DataSourceConfig"> & { /** * Data source unique name, e.g., "linux.ftrace". This must match * the name passed by the data source when it registers (see * RegisterDataSource()). * * @generated from field: optional string name = 1; */ name: string; /** * The index of the logging buffer where TracePacket(s) will be stored. * This field doesn't make a major difference for the Producer(s). The final * logging buffers, in fact, are completely owned by the Service. We just ask * the Producer to copy this number into the chunk headers it emits, so that * the Service can quickly identify the buffer where to move the chunks into * without expensive lookups on its fastpath. * * @generated from field: optional uint32 target_buffer = 2; */ targetBuffer: number; /** * Set by the service to indicate the duration of the trace. * DO NOT SET in consumer as this will be overridden by the service. * * @generated from field: optional uint32 trace_duration_ms = 3; */ traceDurationMs: number; /** * If true, |trace_duration_ms| should count also time in suspend. This * is propagated from TraceConfig.prefer_suspend_clock_for_duration. * * @generated from field: optional bool prefer_suspend_clock_for_duration = 122; */ preferSuspendClockForDuration: boolean; /** * Set by the service to indicate how long it waits after StopDataSource. * DO NOT SET in consumer as this will be overridden by the service. * * @generated from field: optional uint32 stop_timeout_ms = 7; */ stopTimeoutMs: number; /** * Set by the service to indicate whether this tracing session has extra * guardrails. * DO NOT SET in consumer as this will be overridden by the service. * * @generated from field: optional bool enable_extra_guardrails = 6; */ enableExtraGuardrails: boolean; /** * Set by the service to indicate which user initiated this trace. * DO NOT SET in consumer as this will be overridden by the service. * * @generated from field: optional perfetto.protos.DataSourceConfig.SessionInitiator session_initiator = 8; */ sessionInitiator: DataSourceConfig_SessionInitiator; /** * Set by the service to indicate which tracing session the data source * belongs to. The intended use case for this is checking if two data sources, * one of which produces metadata for the other one, belong to the same trace * session and hence should be linked together. * This field was introduced in Aug 2018 after Android P. * DO NOT SET in consumer as this will be overridden by the service. * * @generated from field: optional uint64 tracing_session_id = 4; */ tracingSessionId: bigint; /** * Data source name: linux.ftrace * * @generated from field: optional perfetto.protos.FtraceConfig ftrace_config = 100; */ ftraceConfig?: FtraceConfig; /** * Data source name: linux.inode_file_map * * @generated from field: optional perfetto.protos.InodeFileConfig inode_file_config = 102; */ inodeFileConfig?: InodeFileConfig; /** * Data source name: linux.process_stats * * @generated from field: optional perfetto.protos.ProcessStatsConfig process_stats_config = 103; */ processStatsConfig?: ProcessStatsConfig; /** * Data source name: linux.sys_stats * * @generated from field: optional perfetto.protos.SysStatsConfig sys_stats_config = 104; */ sysStatsConfig?: SysStatsConfig; /** * Data source name: android.heapprofd * Introduced in Android 10. * * @generated from field: optional perfetto.protos.HeapprofdConfig heapprofd_config = 105; */ heapprofdConfig?: HeapprofdConfig; /** * Data source name: android.java_hprof * Introduced in Android 11. * * @generated from field: optional perfetto.protos.JavaHprofConfig java_hprof_config = 110; */ javaHprofConfig?: JavaHprofConfig; /** * Data source name: android.power * * @generated from field: optional perfetto.protos.AndroidPowerConfig android_power_config = 106; */ androidPowerConfig?: AndroidPowerConfig; /** * Data source name: android.log * * @generated from field: optional perfetto.protos.AndroidLogConfig android_log_config = 107; */ androidLogConfig?: AndroidLogConfig; /** * TODO(fmayer): Add data source name for this. * * @generated from field: optional perfetto.protos.GpuCounterConfig gpu_counter_config = 108; */ gpuCounterConfig?: GpuCounterConfig; /** * Data source name: android.game_interventions * * @generated from field: optional perfetto.protos.AndroidGameInterventionListConfig android_game_intervention_list_config = 116; */ androidGameInterventionListConfig?: AndroidGameInterventionListConfig; /** * Data source name: android.packages_list * * @generated from field: optional perfetto.protos.PackagesListConfig packages_list_config = 109; */ packagesListConfig?: PackagesListConfig; /** * Data source name: linux.perf * * @generated from field: optional perfetto.protos.PerfEventConfig perf_event_config = 111; */ perfEventConfig?: PerfEventConfig; /** * Data source name: vulkan.memory_tracker * * @generated from field: optional perfetto.protos.VulkanMemoryConfig vulkan_memory_config = 112; */ vulkanMemoryConfig?: VulkanMemoryConfig; /** * Data source name: track_event * * @generated from field: optional perfetto.protos.TrackEventConfig track_event_config = 113; */ trackEventConfig?: TrackEventConfig; /** * Data source name: android.polled_state * * @generated from field: optional perfetto.protos.AndroidPolledStateConfig android_polled_state_config = 114; */ androidPolledStateConfig?: AndroidPolledStateConfig; /** * Data source name: android.system_property * * @generated from field: optional perfetto.protos.AndroidSystemPropertyConfig android_system_property_config = 118; */ androidSystemPropertyConfig?: AndroidSystemPropertyConfig; /** * Data source name: android.statsd * * @generated from field: optional perfetto.protos.StatsdTracingConfig statsd_tracing_config = 117; */ statsdTracingConfig?: StatsdTracingConfig; /** * Data source name: linux.system_info * * @generated from field: optional perfetto.protos.SystemInfoConfig system_info_config = 119; */ systemInfoConfig?: SystemInfoConfig; /** * Chrome is special as it doesn't use the perfetto IPC layer. We want to * avoid proto serialization and de-serialization there because that would * just add extra hops on top of the Mojo ser/des. Instead we auto-generate a * C++ class for it so it can pass around plain C++ objets. * * @generated from field: optional perfetto.protos.ChromeConfig chrome_config = 101; */ chromeConfig?: ChromeConfig; /** * Data source name: code.v8.dev * * @generated from field: optional perfetto.protos.V8Config v8_config = 127; */ v8Config?: V8Config; /** * If an interceptor is specified here, packets for this data source will be * rerouted to the interceptor instead of the main trace buffer. This can be * used, for example, to write trace data into ETW or for logging trace points * to the console. * * Note that interceptors are only supported by data sources registered * through the Perfetto SDK API. Data sources that don't use that API (e.g., * traced_probes) may not support interception. * * @generated from field: optional perfetto.protos.InterceptorConfig interceptor_config = 115; */ interceptorConfig?: InterceptorConfig; /** * Data source name: android.network_packets. * Introduced in Android 14 (U). * * @generated from field: optional perfetto.protos.NetworkPacketTraceConfig network_packet_trace_config = 120; */ networkPacketTraceConfig?: NetworkPacketTraceConfig; /** * Data source name: android.surfaceflinger.layers * * @generated from field: optional perfetto.protos.SurfaceFlingerLayersConfig surfaceflinger_layers_config = 121; */ surfaceflingerLayersConfig?: SurfaceFlingerLayersConfig; /** * Data source name: android.surfaceflinger.transactions * * @generated from field: optional perfetto.protos.SurfaceFlingerTransactionsConfig surfaceflinger_transactions_config = 123; */ surfaceflingerTransactionsConfig?: SurfaceFlingerTransactionsConfig; /** * Data source name: android.sdk_sysprop_guard * Introduced in Android 14 (U) QPR1. * * @generated from field: optional perfetto.protos.AndroidSdkSyspropGuardConfig android_sdk_sysprop_guard_config = 124; */ androidSdkSyspropGuardConfig?: AndroidSdkSyspropGuardConfig; /** * Data source name: windows.etw * * @generated from field: optional perfetto.protos.EtwConfig etw_config = 125; */ etwConfig?: EtwConfig; /** * Data source name: android.protolog * * @generated from field: optional perfetto.protos.ProtoLogConfig protolog_config = 126; */ protologConfig?: ProtoLogConfig; /** * Data source name: android.input.inputevent * * @generated from field: optional perfetto.protos.AndroidInputEventConfig android_input_event_config = 128; */ androidInputEventConfig?: AndroidInputEventConfig; /** * Data source name: android.pixel.modem * * @generated from field: optional perfetto.protos.PixelModemConfig pixel_modem_config = 129; */ pixelModemConfig?: PixelModemConfig; /** * Data source name: android.windowmanager * * @generated from field: optional perfetto.protos.WindowManagerConfig windowmanager_config = 130; */ windowmanagerConfig?: WindowManagerConfig; /** * Data source name: org.chromium.system_metrics * * @generated from field: optional perfetto.protos.ChromiumSystemMetricsConfig chromium_system_metrics = 131; */ chromiumSystemMetrics?: ChromiumSystemMetricsConfig; /** * This is a fallback mechanism to send a free-form text config to the * producer. In theory this should never be needed. All the code that * is part of the platform (i.e. traced service) is supposed to *not* truncate * the trace config proto and propagate unknown fields. However, if anything * in the pipeline (client or backend) ends up breaking this forward compat * plan, this field will become the escape hatch to allow future data sources * to get some meaningful configuration. * * @generated from field: optional string legacy_config = 1000; */ legacyConfig: string; /** * This field is only used for testing. * * @generated from field: optional perfetto.protos.TestConfig for_testing = 1001; */ forTesting?: TestConfig; }; /** * Describes the message perfetto.protos.DataSourceConfig. * Use `create(DataSourceConfigSchema)` to create a new message. */ export declare const DataSourceConfigSchema: GenMessage<DataSourceConfig>; /** * @generated from enum perfetto.protos.DataSourceConfig.SessionInitiator */ export declare enum DataSourceConfig_SessionInitiator { /** * @generated from enum value: SESSION_INITIATOR_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * This trace was initiated from a trusted system app has DUMP and * USAGE_STATS permission. This system app is expected to not expose the * trace to the user of the device. * This is determined by checking the UID initiating the trace. * * @generated from enum value: SESSION_INITIATOR_TRUSTED_SYSTEM = 1; */ TRUSTED_SYSTEM = 1 } /** * Describes the enum perfetto.protos.DataSourceConfig.SessionInitiator. */ export declare const DataSourceConfig_SessionInitiatorSchema: GenEnum<DataSourceConfig_SessionInitiator>; //# sourceMappingURL=data_source_config_pb.d.ts.map