Skip to main content Module protos Copy item path Source android_aflags Nested message and enum types in AndroidAflags. android_camera_frame_event Nested message and enum types in AndroidCameraFrameEvent. android_camera_session_stats Nested message and enum types in AndroidCameraSessionStats. android_energy_estimation_breakdown Nested message and enum types in AndroidEnergyEstimationBreakdown. android_game_intervention_list Nested message and enum types in AndroidGameInterventionList. android_input_event_config Nested message and enum types in AndroidInputEventConfig. android_log_packet Nested message and enum types in AndroidLogPacket. android_power_config Nested message and enum types in AndroidPowerConfig. android_system_property Nested message and enum types in AndroidSystemProperty. android_user_list Nested message and enum types in AndroidUserList. background_tracing_metadata Nested message and enum types in BackgroundTracingMetadata. begin_frame_args Nested message and enum types in BeginFrameArgs. begin_impl_frame_args Nested message and enum types in BeginImplFrameArgs. box_shadow_settings Nested message and enum types in BoxShadowSettings. c_switch_etw_event Nested message and enum types in CSwitchEtwEvent. chrome_application_state_info Nested message and enum types in ChromeApplicationStateInfo. chrome_compositor_scheduler_state Nested message and enum types in ChromeCompositorSchedulerState. chrome_compositor_state_machine Nested message and enum types in ChromeCompositorStateMachine. chrome_config Nested message and enum types in ChromeConfig. chrome_frame_reporter Nested message and enum types in ChromeFrameReporter. chrome_latency_info Nested message and enum types in ChromeLatencyInfo. chrome_legacy_ipc Nested message and enum types in ChromeLegacyIpc. chrome_legacy_json_trace Nested message and enum types in ChromeLegacyJsonTrace. chrome_metadata Nested message and enum types in ChromeMetadata. chrome_metadata_packet Nested message and enum types in ChromeMetadataPacket. chrome_trace_event Nested message and enum types in ChromeTraceEvent. chrome_traced_value Nested message and enum types in ChromeTracedValue. chromium_histogram_samples_config Nested message and enum types in ChromiumHistogramSamplesConfig. clock_snapshot Nested message and enum types in ClockSnapshot. console_config Nested message and enum types in ConsoleConfig. counter_descriptor Nested message and enum types in CounterDescriptor. cpu_info Nested message and enum types in CpuInfo. data_source_config Nested message and enum types in DataSourceConfig. debug_annotation Nested message and enum types in DebugAnnotation. descriptor_proto Nested message and enum types in DescriptorProto. display_state Nested message and enum types in DisplayState. entity_state_residency Nested message and enum types in EntityStateResidency. etw_config Nested message and enum types in EtwConfig. etw_trace_event Nested message and enum types in EtwTraceEvent. evdev_device Nested message and enum types in EvdevDevice. evdev_event Nested message and enum types in EvdevEvent. extension_descriptor Nested message and enum types in ExtensionDescriptor. field_descriptor_proto Nested message and enum types in FieldDescriptorProto. follower_event Nested message and enum types in FollowerEvent. frame_timeline_event Nested message and enum types in FrameTimelineEvent. ftrace_config Nested message and enum types in FtraceConfig. ftrace_descriptor Nested message and enum types in FtraceDescriptor. ftrace_event Nested message and enum types in FtraceEvent. ftrace_event_bundle Nested message and enum types in FtraceEventBundle. ftrace_stats Nested message and enum types in FtraceStats. generic_ftrace_event Nested message and enum types in GenericFtraceEvent. generic_kernel_process_tree Nested message and enum types in GenericKernelProcessTree. generic_kernel_task_state_event Nested message and enum types in GenericKernelTaskStateEvent. gpu_counter_descriptor Nested message and enum types in GpuCounterDescriptor. gpu_counter_event Nested message and enum types in GpuCounterEvent. gpu_info Nested message and enum types in GpuInfo. gpu_log Nested message and enum types in GpuLog. gpu_render_stage_event Nested message and enum types in GpuRenderStageEvent. graphics_frame_event Nested message and enum types in GraphicsFrameEvent. heap_graph_object Nested message and enum types in HeapGraphObject. heap_graph_root Nested message and enum types in HeapGraphRoot. heap_graph_type Nested message and enum types in HeapGraphType. heapprofd_config Nested message and enum types in HeapprofdConfig. inode_file_config Nested message and enum types in InodeFileConfig. inode_file_map Nested message and enum types in InodeFileMap. interned_gpu_render_stage_specification Nested message and enum types in InternedGpuRenderStageSpecification. interned_graphics_context Nested message and enum types in InternedGraphicsContext. interned_v8_isolate Nested message and enum types in InternedV8Isolate. interned_v8_js_function Nested message and enum types in InternedV8JsFunction. interned_v8_js_script Nested message and enum types in InternedV8JsScript. interned_v8_string Nested message and enum types in InternedV8String. java_hprof_config Nested message and enum types in JavaHprofConfig. kernel_wakelock_data Nested message and enum types in KernelWakelockData. kprobe_event Nested message and enum types in KprobeEvent. layer_state Nested message and enum types in LayerState. layers_trace_file_proto Nested message and enum types in LayersTraceFileProto. log_message Nested message and enum types in LogMessage. memory_tracker_snapshot Nested message and enum types in MemoryTrackerSnapshot. network_packet_bundle Nested message and enum types in NetworkPacketBundle. packages_list Nested message and enum types in PackagesList. perf_event_config Nested message and enum types in PerfEventConfig. perf_events Nested message and enum types in PerfEvents. perf_sample Nested message and enum types in PerfSample. perfetto_metatrace Nested message and enum types in PerfettoMetatrace. pixel_modem_config Nested message and enum types in PixelModemConfig. power_rails Nested message and enum types in PowerRails. priority_boost_config Nested message and enum types in PriorityBoostConfig. process_descriptor Nested message and enum types in ProcessDescriptor. process_stats Nested message and enum types in ProcessStats. process_stats_config Nested message and enum types in ProcessStatsConfig. process_tree Nested message and enum types in ProcessTree. profile_packet Nested message and enum types in ProfilePacket. profiling Nested message and enum types in Profiling. proto_log_config Nested message and enum types in ProtoLogConfig. proto_log_viewer_config Nested message and enum types in ProtoLogViewerConfig. ready_thread_etw_event Nested message and enum types in ReadyThreadEtwEvent. remote_clock_sync Nested message and enum types in RemoteClockSync. shell_transition Nested message and enum types in ShellTransition. surface_flinger_layers_config Nested message and enum types in SurfaceFlingerLayersConfig. surface_flinger_transactions_config Nested message and enum types in SurfaceFlingerTransactionsConfig. sys_stats Nested message and enum types in SysStats. sys_stats_config Nested message and enum types in SysStatsConfig. test_config Nested message and enum types in TestConfig. test_event Nested message and enum types in TestEvent. thread_descriptor Nested message and enum types in ThreadDescriptor. trace_attributes Nested message and enum types in TraceAttributes. trace_config Nested message and enum types in TraceConfig. trace_packet Nested message and enum types in TracePacket. trace_provenance Nested message and enum types in TraceProvenance. trace_stats Nested message and enum types in TraceStats. tracing_service_event Nested message and enum types in TracingServiceEvent. tracing_service_state Nested message and enum types in TracingServiceState. track_descriptor Nested message and enum types in TrackDescriptor. track_event Nested message and enum types in TrackEvent. transaction_trace_file Nested message and enum types in TransactionTraceFile. translation_table Nested message and enum types in TranslationTable. ui_state Nested message and enum types in UiState. uninterpreted_option Nested message and enum types in UninterpretedOption. v8_code_move Nested message and enum types in V8CodeMove. v8_internal_code Nested message and enum types in V8InternalCode. v8_js_code Nested message and enum types in V8JsCode. v8_string Nested message and enum types in V8String. v8_wasm_code Nested message and enum types in V8WasmCode. vm_instruction Nested message and enum types in VmInstruction. vm_op_select Nested message and enum types in VmOpSelect. vulkan_api_event Nested message and enum types in VulkanApiEvent. vulkan_memory_event Nested message and enum types in VulkanMemoryEvent. vulkan_memory_event_annotation Nested message and enum types in VulkanMemoryEventAnnotation. window_manager_config Nested message and enum types in WindowManagerConfig. ActiveBufferProto AddressSymbols Symbols for a given address in a module. AllocPagesIommuEndFtraceEvent AllocPagesIommuFailFtraceEvent AllocPagesIommuStartFtraceEvent AllocPagesSysEndFtraceEvent AllocPagesSysFailFtraceEvent AllocPagesSysStartFtraceEvent AndroidAflags Android aconfig flags (aflags).
This message captures a snapshot of the state of aconfig flags on the device.
Keep in sync with:
http://ac/packages/modules/ConfigInfrastructure/aflags/proto/aflags.proto AndroidAflagsConfig Options for the android.aflags data source.
This data source captures snapshots of Android aconfig flags.
See https://source.android.com/docs/setup/build/feature-flagging/declare-flag
for more information on aconfig flags. AndroidCameraFrameEvent A profiling event corresponding to a single camera frame. This message
collects important details and timestamps involved in producing a single
camera frame.
Next ID: 17 AndroidCameraSessionStats A profiling event that may be emitted periodically (i.e., at a slower rate
than AndroidCameraFrameEvents) to record fixed and aggregated camera
session-specific values. AndroidEnergyConsumer Energy consumer based on aidl class:
android.hardware.power.stats.EnergyConsumer. AndroidEnergyConsumerDescriptor AndroidEnergyEstimationBreakdown Energy data retrieve using the ODPM(On Device Power Monitor) API.
This proto represents the aidl class:
android.hardware.power.stats.EnergyConsumerResult. AndroidFsDatareadEndFtraceEvent AndroidFsDatareadStartFtraceEvent AndroidFsDatawriteEndFtraceEvent AndroidFsDatawriteStartFtraceEvent AndroidFsFsyncEndFtraceEvent AndroidFsFsyncStartFtraceEvent AndroidGameInterventionList AndroidGameInterventionListConfig Data source that lists game modes and game interventions of games
on an Android device. AndroidInputEventConfig Custom configuration for the “android.input.inputevent” data source. AndroidJobName AndroidLogConfig AndroidLogPacket AndroidPolledStateConfig Data source that polls for display state. This should only be used for
backward-compatibility; AndroidSystemPropertyConfig should be preferred. AndroidPowerConfig AndroidSdkSyspropGuardConfig Data source that controls the system properties used to guard initialization
of track_event producers (i.e. Skia) in apps using HWUI, and certain
processes like SurfaceFlinger. AndroidSystemProperty AndroidSystemPropertyConfig Data source that polls for system properties. AndroidUserList AndroidUserListConfig Data source that lists details (such as version code) about users on an
Android device. AppWakelockBundle AppWakelockBundle describes one or more wakelock events. Events are written
in two paired array, such that the details for event i are in intern_id[i]
and encoded_ts[i]. AppWakelockInfo AppWakelockInfo describes the time-independent properties of a wakelock, such
as the owning package or wakelock tag. This is interned to reduce trace size.
Event bundles refer to interned wakelock info by the iid. AppWakelocksConfig Configuration for the android.app_wakelocks data source. Atom Deliberate empty message. See comment on StatsdAtom#atom below. BackgroundTracingMetadata Metadata related to background tracing scenarios, states and triggers. BarrierLayerProto BatteryCounters BclIrqTriggerFtraceEvent BeginFrameArgs Next id: 13 BeginFrameObserverState BeginFrameSourceState BeginImplFrameArgs Next id: 7 BinderCommandFtraceEvent BinderLockFtraceEvent BinderLockedFtraceEvent BinderReturnFtraceEvent BinderSetPriorityFtraceEvent BinderTransactionAllocBufFtraceEvent BinderTransactionFtraceEvent BinderTransactionReceivedFtraceEvent BinderUnlockFtraceEvent BlockBioBackmergeFtraceEvent BlockBioBounceFtraceEvent BlockBioCompleteFtraceEvent BlockBioFrontmergeFtraceEvent BlockBioQueueFtraceEvent BlockBioRemapFtraceEvent BlockDirtyBufferFtraceEvent BlockGetrqFtraceEvent BlockIoDoneFtraceEvent BlockIoStartFtraceEvent BlockPlugFtraceEvent BlockRqAbortFtraceEvent BlockRqCompleteFtraceEvent BlockRqInsertFtraceEvent BlockRqIssueFtraceEvent BlockRqRemapFtraceEvent BlockRqRequeueFtraceEvent BlockSleeprqFtraceEvent BlockSplitFtraceEvent BlockTouchBufferFtraceEvent BlockUnplugFtraceEvent BluetoothTraceEvent Trace event for bluetooth BlurRegion BorderSettings BoxShadowSettings CSwitchEtwEvent Proto definition based on the Thread_v2 CSwitch class definition
See: https://learn.microsoft.com/en-us/windows/win32/etw/cswitch Callstack CdevUpdateFtraceEvent CgroupAttachTaskFtraceEvent CgroupDestroyRootFtraceEvent CgroupMkdirFtraceEvent CgroupReleaseFtraceEvent CgroupRemountFtraceEvent CgroupRenameFtraceEvent CgroupRmdirFtraceEvent CgroupSetupRootFtraceEvent CgroupTransferTasksFtraceEvent ChromeActiveProcesses A list of processes connected to the tracing service. ChromeApplicationStateInfo Trace event arguments for application state changes. ChromeBenchmarkMetadata This message is not intended to be written by the chrome on the device.
It’s emitted on the host by the telemetry benchmark infrastructure (it’s a
part of the trace that’s written by the telemetry tracing agent). ChromeCompositorSchedulerState Next id: 18 ChromeCompositorStateMachine Describes the current values stored in the Chrome Compositor state machine.
Next id: 3 ChromeConfig ChromeContentSettingsEventInfo Details about ContentSettings trace events. ChromeEventBundle ChromeFrameReporter DEPRECATED. Only kept for backwards compatibility. Use |ChromeFrameReporter2|
in
https://source.chromium.org/chromium/chromium/src/+/main:base/tracing/protos/chrome_track_event.proto
instead. ChromeHistogramSample An individual histogram sample logged via Chrome’s UMA metrics system. ChromeHistorgramTranslationTable Chrome histogram sample hash -> name translation rules. ChromeKeyedService Details about one of Chrome’s keyed services associated with the event. ChromeLatencyInfo ChromeLegacyIpc Details about a legacy Chrome IPC message that is either sent by the event.
TODO(eseckler): Also use this message on the receiving side? ChromeLegacyJsonTrace Subtraces produced in legacy json format by Chrome tracing agents not yet
updated to support the new binary format, e.g. ETW and CrOS ARC.
TODO(eseckler): Update these agents to become perfetto producers. ChromeMessagePump Details about Chrome message pump events ChromeMetadata ChromeMetadataPacket Metadata for chrome traces. ChromeMojoEventInfo Contains information to identify mojo handling events. The trace events in
mojo are common for all mojo interfaces and this information is used to
identify who is the caller or callee. ChromePerformanceMarkTranslationTable Chrome performance mark translation rules. ChromeProcessDescriptor Describes the attributes for a Chrome process. Must be paired with a
ProcessDescriptor in the same TrackDescriptor. ChromeRendererSchedulerState ChromeStringTableEntry ChromeStudyTranslationTable Chrome study hash -> name translation rules. ChromeThreadDescriptor Describes a Chrome thread’s attributes. Emitted as part of a TrackDescriptor,
usually by the thread’s trace writer. Must be paired with a ThreadDescriptor
in the same TrackDescriptor. ChromeTraceEvent Deprecated, use TrackEvent protos instead. ChromeTracedValue ChromeTrigger Information about a specific trigger during a background tracing scenario
Associated packet timestamps are useful to delimitate a scenario range in a
trace. Triggers are also useful for filtering traces. ChromeUserEvent Details about a UI interaction initiated by the user, such as opening or
closing a tab or a context menu. ChromeUserEventTranslationTable Chrome user event action hash -> name translation rules. ChromeWindowHandleEventInfo Details about HWNDMessageHandler trace events. ChromiumHistogramSamplesConfig ChromiumSystemMetricsConfig ClkDisableFtraceEvent ClkEnableFtraceEvent ClkSetRateFtraceEvent ClockDisableFtraceEvent ClockEnableFtraceEvent ClockSetRateFtraceEvent ClockSnapshot A snapshot of clock readings to allow for trace alignment. CmaAllocFinishFtraceEvent CmaAllocInfoFtraceEvent CmaAllocStartFtraceEvent ColorProto ColorTransformProto CompositorTimingHistory ConsoleConfig ConsoleFtraceEvent CornerRadiiProto CounterDescriptor Defines properties of a counter track, e.g. for built-in counters (thread
time, instruction count, ..) or user-specified counters (e.g. memory usage of
a specific app component). CpuFrequencyFtraceEvent CpuFrequencyLimitsFtraceEvent CpuIdleFtraceEvent CpuInfo Information about CPUs from procfs and sysfs. CpuPerUidConfig Data source that records CPU per UID data. CpuPerUidData CpuhpEnterFtraceEvent CpuhpExitFtraceEvent CpuhpLatencyFtraceEvent CpuhpMultiEnterFtraceEvent CpuhpPauseFtraceEvent CrosEcSensorhubDataFtraceEvent DataSourceConfig The configuration that is passed to each data source when starting tracing.
Next id: 141 DataSourceDescriptor This message is sent from Producer(s) to the tracing Service when registering
to advertise their capabilities. It describes the structure of tracing
protos that will be produced by the data source and the supported filters. DcvshFreqFtraceEvent DebugAnnotation Proto representation of untyped key/value annotations provided in TRACE_EVENT
macros. Users of the Perfetto SDK should prefer to use the
perfetto::TracedValue API to fill these protos, rather than filling them
manually. DebugAnnotationName DebugAnnotationValueTypeName See the |proto_type_descriptor| comment. DeobfuscationMapping DescriptorProto Describes a message type. DevfreqFrequencyFtraceEvent DevicePmCallbackEndFtraceEvent DevicePmCallbackStartFtraceEvent DisplayInfo DisplayProto DisplayState DmaAllocContiguousRetryFtraceEvent DmaFenceEmitFtraceEvent DmaFenceInitFtraceEvent DmaFenceSignaledFtraceEvent DmaFenceWaitEndFtraceEvent DmaFenceWaitStartFtraceEvent DmaHeapStatFtraceEvent DmabufRssStatFtraceEvent DoSysOpenFtraceEvent DpuDispDpuUnderrunFtraceEvent DpuDispFrameDoneTimeoutFtraceEvent DpuDispFrameStartTimeoutFtraceEvent DpuDispVblankIrqEnableFtraceEvent DpuDsiCmdFifoStatusFtraceEvent DpuDsiRxFtraceEvent DpuDsiTxFtraceEvent DpuTracingMarkWriteFtraceEvent DrmRunJobFtraceEvent DrmSchedJobAddDepFtraceEvent DrmSchedJobDoneFtraceEvent DrmSchedJobFtraceEvent DrmSchedJobQueueFtraceEvent DrmSchedJobRunFtraceEvent DrmSchedJobUnschedulableFtraceEvent DrmSchedProcessJobFtraceEvent DrmVblankEventDeliveredFtraceEvent DrmVblankEventFtraceEvent DsiCmdFifoStatusFtraceEvent DsiRxFtraceEvent DsiTxFtraceEvent Dwc3AllocRequestFtraceEvent Dwc3CompleteTrbFtraceEvent Dwc3CtrlReqFtraceEvent Dwc3EpDequeueFtraceEvent Dwc3EpQueueFtraceEvent Dwc3EventFtraceEvent Dwc3FreeRequestFtraceEvent Dwc3GadgetEpCmdFtraceEvent Dwc3GadgetEpDisableFtraceEvent Dwc3GadgetEpEnableFtraceEvent Dwc3GadgetGenericCmdFtraceEvent Dwc3GadgetGivebackFtraceEvent Dwc3PrepareTrbFtraceEvent Dwc3ReadlFtraceEvent Dwc3WritelFtraceEvent EntityStateResidency EnumDescriptorProto Describes an enum type. EnumValueDescriptorProto Describes a value within an enum. EtwConfig Proto definition based on the struct _EVENT_TRACE_PROPERTIES definition
See: https://learn.microsoft.com/en-us/windows/win32/api/evntrace/
ns-evntrace-event_trace_properties EtwTraceEvent EtwTraceEventBundle The result of tracing one or more etw event uses per-processor buffers where
an in-use buffer is assigned to each processor at all times. Therefore,
collecting multiple events they should already be synchronized. EvdevDevice The properties of an input device that don’t change during the time that it’s
connected, as well as the current values for all of its axes. EvdevEvent Records an event in the evdev protocol, as used by Linux and some other *nix
kernels to report events from human interface devices. EventCategory EventName Ext4AllocDaBlocksFtraceEvent Ext4AllocateBlocksFtraceEvent Ext4AllocateInodeFtraceEvent Ext4BeginOrderedTruncateFtraceEvent Ext4CollapseRangeFtraceEvent Ext4DaReleaseSpaceFtraceEvent Ext4DaReserveSpaceFtraceEvent Ext4DaUpdateReserveSpaceFtraceEvent Ext4DaWriteBeginFtraceEvent Ext4DaWriteEndFtraceEvent Ext4DaWritePagesExtentFtraceEvent Ext4DaWritePagesFtraceEvent Ext4DirectIoEnterFtraceEvent Ext4DirectIoExitFtraceEvent Ext4DiscardBlocksFtraceEvent Ext4DiscardPreallocationsFtraceEvent Ext4DropInodeFtraceEvent Ext4EsCacheExtentFtraceEvent Ext4EsFindDelayedExtentRangeEnterFtraceEvent Ext4EsFindDelayedExtentRangeExitFtraceEvent Ext4EsInsertExtentFtraceEvent Ext4EsLookupExtentEnterFtraceEvent Ext4EsLookupExtentExitFtraceEvent Ext4EsRemoveExtentFtraceEvent Ext4EsShrinkCountFtraceEvent Ext4EsShrinkFtraceEvent Ext4EsShrinkScanEnterFtraceEvent Ext4EsShrinkScanExitFtraceEvent Ext4EvictInodeFtraceEvent Ext4ExtConvertToInitializedEnterFtraceEvent Ext4ExtConvertToInitializedFastpathFtraceEvent Ext4ExtHandleUnwrittenExtentsFtraceEvent Ext4ExtInCacheFtraceEvent Ext4ExtLoadExtentFtraceEvent Ext4ExtMapBlocksEnterFtraceEvent Ext4ExtMapBlocksExitFtraceEvent Ext4ExtPutInCacheFtraceEvent Ext4ExtRemoveSpaceDoneFtraceEvent Ext4ExtRemoveSpaceFtraceEvent Ext4ExtRmIdxFtraceEvent Ext4ExtRmLeafFtraceEvent Ext4ExtShowExtentFtraceEvent Ext4FallocateEnterFtraceEvent Ext4FallocateExitFtraceEvent Ext4FindDelallocRangeFtraceEvent Ext4ForgetFtraceEvent Ext4FreeBlocksFtraceEvent Ext4FreeInodeFtraceEvent Ext4GetImpliedClusterAllocExitFtraceEvent Ext4GetReservedClusterAllocFtraceEvent Ext4IndMapBlocksEnterFtraceEvent Ext4IndMapBlocksExitFtraceEvent Ext4InsertRangeFtraceEvent Ext4InvalidatepageFtraceEvent Ext4JournalStartFtraceEvent Ext4JournalStartReservedFtraceEvent Ext4JournalledInvalidatepageFtraceEvent Ext4JournalledWriteEndFtraceEvent Ext4LoadInodeBitmapFtraceEvent Ext4LoadInodeFtraceEvent Ext4MarkInodeDirtyFtraceEvent Ext4MbBitmapLoadFtraceEvent Ext4MbBuddyBitmapLoadFtraceEvent Ext4MbDiscardPreallocationsFtraceEvent Ext4MbNewGroupPaFtraceEvent Ext4MbNewInodePaFtraceEvent Ext4MbReleaseGroupPaFtraceEvent Ext4MbReleaseInodePaFtraceEvent Ext4MballocAllocFtraceEvent Ext4MballocDiscardFtraceEvent Ext4MballocFreeFtraceEvent Ext4MballocPreallocFtraceEvent Ext4OtherInodeUpdateTimeFtraceEvent Ext4PunchHoleFtraceEvent Ext4ReadBlockBitmapLoadFtraceEvent Ext4ReadpageFtraceEvent Ext4ReleasepageFtraceEvent Ext4RemoveBlocksFtraceEvent Ext4RequestBlocksFtraceEvent Ext4RequestInodeFtraceEvent Ext4SyncFileEnterFtraceEvent Ext4SyncFileExitFtraceEvent Ext4SyncFsFtraceEvent Ext4TrimAllFreeFtraceEvent Ext4TrimExtentFtraceEvent Ext4TruncateEnterFtraceEvent Ext4TruncateExitFtraceEvent Ext4UnlinkEnterFtraceEvent Ext4UnlinkExitFtraceEvent Ext4WriteBeginFtraceEvent Ext4WriteEndFtraceEvent Ext4WritepageFtraceEvent Ext4WritepagesFtraceEvent Ext4WritepagesResultFtraceEvent Ext4ZeroRangeFtraceEvent ExtensionDescriptor This message contains descriptors used to parse extension fields of
TrackEvent. F2fsBackgroundGcFtraceEvent F2fsDoSubmitBioFtraceEvent F2fsEvictInodeFtraceEvent F2fsFallocateFtraceEvent F2fsGcBeginFtraceEvent F2fsGcEndFtraceEvent F2fsGetDataBlockFtraceEvent F2fsGetVictimFtraceEvent F2fsIgetExitFtraceEvent F2fsIgetFtraceEvent F2fsIostatFtraceEvent F2fsIostatLatencyFtraceEvent F2fsLockElapsedTimeFtraceEvent F2fsNewInodeFtraceEvent F2fsReadpageFtraceEvent F2fsReserveNewBlockFtraceEvent F2fsSetPageDirtyFtraceEvent F2fsSubmitWritePageFtraceEvent F2fsSyncFileEnterFtraceEvent F2fsSyncFileExitFtraceEvent F2fsSyncFsFtraceEvent F2fsTruncateBlocksEnterFtraceEvent F2fsTruncateBlocksExitFtraceEvent F2fsTruncateDataBlocksRangeFtraceEvent F2fsTruncateFtraceEvent F2fsTruncateInodeBlocksEnterFtraceEvent F2fsTruncateInodeBlocksExitFtraceEvent F2fsTruncateNodeFtraceEvent F2fsTruncateNodesEnterFtraceEvent F2fsTruncateNodesExitFtraceEvent F2fsTruncatePartialNodesFtraceEvent F2fsUnlinkEnterFtraceEvent F2fsUnlinkExitFtraceEvent F2fsVmPageMkwriteFtraceEvent F2fsWriteBeginFtraceEvent F2fsWriteCheckpointFtraceEvent F2fsWriteEndFtraceEvent FastrpcDmaAllocFtraceEvent FastrpcDmaFreeFtraceEvent FastrpcDmaMapFtraceEvent FastrpcDmaStatFtraceEvent FastrpcDmaUnmapFtraceEvent FenceDestroyFtraceEvent FenceEnableSignalFtraceEvent FenceInitFtraceEvent FenceSignaledFtraceEvent FieldDescriptorProto Describes a field within a message. FieldOptions FileDescriptorProto Describes a complete .proto file. FileDescriptorSet The protocol compiler can output a FileDescriptorSet containing the .proto
files it parses. FileIoCreateEtwEvent Proto definition based on the FileIo_Create class definition. FileIoDirEnumEtwEvent Proto definition based on the FileIo_DirEnum class definition. FileIoInfoEtwEvent Proto definition based on the FileIo_Info class definition. FileIoOpEndEtwEvent Proto definition based on the FileIo_OpEnd class definition. FileIoReadWriteEtwEvent Proto definition based on the FileIo_ReadWrite class definition. FileIoSimpleOpEtwEvent Proto definition based on the FileIo_SimpleOp class definition. FloatRectProto FollowerEvent Additional events associated with a leader.
See https://man7.org/linux/man-pages/man1/perf-list.1.html#LEADER_SAMPLING Frame FrameTimelineEvent Generated by SurfaceFlinger’s FrameTimeline (go/adaptive-scheduling-fr).
Used in comparing the expected timeline of a frame to the actual timeline.
Key terms:
1) DisplayFrame - represents SurfaceFlinger’s work on a frame(composited)
2) SurfaceFrame - represents App’s work on its frame
3) Timeline = start to end of a component’s(app/SF) work on a frame.
SurfaceFlinger composites frames from many apps together, so
One DisplayFrame can map to N SurfaceFrame(s)
This relationship can be reconstructed by using
DisplayFrame.token = SurfaceFrame.display_frame_token FrozenFtraceConfig FtraceConfig Next id: 38 FtraceCpuStats Per-CPU kernel buffer stats for the ftrace data source gathered from
/sys/kernel/tracing/per_cpu/cpuX/stats. FtraceDescriptor FtraceEvent FtraceEventBundle The result of tracing one or more ftrace data pages from a single per-cpu
kernel ring buffer. If collating multiple pages’ worth of events, all of
them come from contiguous pages, with no kernel data loss in between. FtraceKprobeStats Kprobe statistical data, gathered from /sys/kernel/tracing/kprobe_profile. FtraceStats Errors and kernel buffer stats for the ftrace data source. FuncgraphEntryFtraceEvent FuncgraphExitFtraceEvent FwtpPerfettoCounterFtraceEvent FwtpPerfettoSliceFtraceEvent G2dTracingMarkWriteFtraceEvent GenericFtraceEvent This generic proto is used to output events in the trace
when a specific proto for that event does not exist. GenericKernelCpuFrequencyEvent GenericKernelCpuFrequencyEvent is the standard proto to capture CPU
frequency change events in a generic kernel implementation. GenericKernelProcessTree Metadata about the processes and threads in the trace.
The main goal of this proto is to provide a generic kernel
implementation a mechanism to outline its process structure. GenericKernelTaskRenameEvent GenericKernelTaskRenameEvent is the standard proto to capture the renaming
of a thread. GenericKernelTaskStateEvent GenericKernelTaskStateEvent is the standard proto to capture thread state
change events in a generic kernel implementation. This is mainly for the
case where scheduler events are not directly supported in the kernel’s
tracing mechanism. GoogleIccEventFtraceEvent GoogleIrmEventFtraceEvent GpuCounterConfig GpuCounterDescriptor Description of GPU counters.
This message is sent by a GPU counter producer to specify the counters
available in the hardware. GpuCounterEvent Events for emitting information about GPU counters. GpuFrequencyFtraceEvent GpuInfo Information about GPUs on the device. GpuLog Message for logging events GPU data producer. GpuMemTotalEvent Generated by Android’s GpuService. GpuMemTotalFtraceEvent GpuPowerStateFtraceEvent GpuRenderStageEvent next id: 19 GpuRenderStagesConfig GpuWorkPeriodFtraceEvent GramCollisionFtraceEvent GraphicsFrameEvent Generated by Android’s SurfaceFlinger. HeapGraph HeapGraphObject HeapGraphRoot HeapGraphType HeapprofdConfig Configuration for go/heapprofd.
Next id: 28 HistogramName HostFfaCallFtraceEvent HostHcallFtraceEvent HostMemAbortFtraceEvent HostSmcFtraceEvent HrtimerCancelFtraceEvent HrtimerExpireEntryFtraceEvent HrtimerExpireExitFtraceEvent HrtimerStartFtraceEvent HypEnterFtraceEvent HypExitFtraceEvent HypervisorHostHcallFtraceEvent HypervisorHostMemAbortFtraceEvent HypervisorHostSmcFtraceEvent HypervisorHypEnterFtraceEvent HypervisorHypExitFtraceEvent HypervisorIommuIdmapCompleteFtraceEvent HypervisorIommuIdmapFtraceEvent HypervisorPsciMemProtectFtraceEvent HypervisorVcpuIllegalTrapFtraceEvent I2cReadFtraceEvent I2cReplyFtraceEvent I2cResultFtraceEvent I2cWriteFtraceEvent InetSockSetStateFtraceEvent InitialDisplayState InodeFileConfig WARNING: unmaintained and deprecated. Likely won’t work at all on modern
systems. InodeFileMap Represents the mapping between inode numbers in a block device and their path
on the filesystem InputMethodConfig Custom configuration for the “android.inputmethod” data source. InputWindowInfoProto InterceptorConfig Configuration for trace packet interception. Used for diverting trace data to
non-Perfetto sources (e.g., logging to the console, ETW) when using the
Perfetto SDK. InternedData Message that contains new entries for the interning indices of a packet
sequence. InternedGpuCounterDescriptor Interned GPU counter descriptor for sequence-scoped counter specs. InternedGpuRenderStageSpecification InternedGraphicsContext The iid is the numeric value of either the GL Context or the VkDevice
handle. InternedString The interning fields in this file can refer to 2 different intern tables,
depending on the message they are used in. If the interned fields are present
in ProfilePacket proto, then the intern tables included in the ProfilePacket
should be used. If the intered fields are present in the
StreamingProfilePacket proto, then the intern tables included in all of the
previous InternedData message with same sequence ID should be used.
TODO(fmayer): Move to the intern tables to a common location. InternedV8Isolate A V8 Isolate instance. A V8 Isolate represents an isolated instance of the V8
engine. InternedV8JsFunction InternedV8JsScript Represents a script that was compiled to generate code. Some V8 code is
generated out of scripts and will reference a V8Script other types of code
will not (e.g. builtins). InternedV8String Interned version of V8String InternedV8WasmScript IommuIdmapFtraceEvent IommuMapRangeFtraceEvent IommuSecPtblMapRangeEndFtraceEvent IommuSecPtblMapRangeStartFtraceEvent IonAllocBufferEndFtraceEvent IonAllocBufferFailFtraceEvent IonAllocBufferFallbackFtraceEvent IonAllocBufferStartFtraceEvent IonBufferCreateFtraceEvent IonBufferDestroyFtraceEvent IonCpAllocRetryFtraceEvent IonCpSecureBufferEndFtraceEvent IonCpSecureBufferStartFtraceEvent IonHeapGrowFtraceEvent IonHeapShrinkFtraceEvent IonPrefetchingFtraceEvent IonSecureCmaAddToPoolEndFtraceEvent IonSecureCmaAddToPoolStartFtraceEvent IonSecureCmaAllocateEndFtraceEvent IonSecureCmaAllocateStartFtraceEvent IonSecureCmaShrinkPoolEndFtraceEvent IonSecureCmaShrinkPoolStartFtraceEvent IonStatFtraceEvent IpiEntryFtraceEvent IpiExitFtraceEvent IpiRaiseFtraceEvent IrqHandlerEntryFtraceEvent IrqHandlerExitFtraceEvent JavaHprofConfig Configuration for managed app heap graph snapshots. KernelWakelockData KernelWakelocksConfig Data source that records kernel (and native) wakelock data. KfreeFtraceEvent KfreeSkbFtraceEvent KgslAdrenoCmdbatchQueuedFtraceEvent KgslAdrenoCmdbatchRetiredFtraceEvent KgslAdrenoCmdbatchSubmittedFtraceEvent KgslAdrenoCmdbatchSyncFtraceEvent KgslGpuFrequencyFtraceEvent KmallocFtraceEvent KmallocNodeFtraceEvent KmemCacheAllocFtraceEvent KmemCacheAllocNodeFtraceEvent KmemCacheFreeFtraceEvent KprobeEvent KvmAccessFaultFtraceEvent KvmAckIrqFtraceEvent KvmAgeHvaFtraceEvent KvmAgePageFtraceEvent KvmArmClearDebugFtraceEvent KvmArmSetDreg32FtraceEvent KvmArmSetRegsetFtraceEvent KvmArmSetupDebugFtraceEvent KvmEntryFtraceEvent KvmExitFtraceEvent KvmFpuFtraceEvent KvmGetTimerMapFtraceEvent KvmGuestFaultFtraceEvent KvmHandleSysRegFtraceEvent KvmHvcArm64FtraceEvent KvmIrqLineFtraceEvent KvmMmioEmulateFtraceEvent KvmMmioFtraceEvent KvmSetGuestDebugFtraceEvent KvmSetIrqFtraceEvent KvmSetSpteHvaFtraceEvent KvmSetWayFlushFtraceEvent KvmSysAccessFtraceEvent KvmTestAgeHvaFtraceEvent KvmTimerEmulateFtraceEvent KvmTimerHrtimerExpireFtraceEvent KvmTimerRestoreStateFtraceEvent KvmTimerSaveStateFtraceEvent KvmTimerUpdateIrqFtraceEvent KvmToggleCacheFtraceEvent KvmUnmapHvaRangeFtraceEvent KvmUserspaceExitFtraceEvent KvmVcpuWakeupFtraceEvent KvmWfxArm64FtraceEvent LayerCreationArgs LayerProto Information about each layer. LayerState Keep insync with layer_state_t LayersPatchProto ProtoVM Patch Proto
Merged by ProtoVM into LayersSnapshotProto LayersProto Contains a list of all layers. LayersSnapshotProto LayersTraceFileProto Message used by Winscope to process legacy trace files.
Represents a file full of surface flinger trace entries.
Encoded, it should start with 0x4c 0x59 0x52 0x54 0x52 0x41 0x43 0x45
(.LYRTRACE), such that they can be easily identified. Line Source line info. LocalTimerEntryFtraceEvent LocalTimerExitFtraceEvent LogMessage LogMessageBody LowmemoryKillFtraceEvent LwisTracingMarkWriteFtraceEvent MaliGpuPowerStateFtraceEvent MaliMaliCsfinterruptendFtraceEvent MaliMaliCsfinterruptstartFtraceEvent MaliMaliKcpucqssetFtraceEvent MaliMaliKcpucqswaitendFtraceEvent MaliMaliKcpucqswaitstartFtraceEvent MaliMaliKcpufencesignalFtraceEvent MaliMaliKcpufencewaitendFtraceEvent MaliMaliKcpufencewaitstartFtraceEvent MaliMaliPmmcuhctlcoreinactivependFtraceEvent MaliMaliPmmcuhctlcoresdownscalenotifypendFtraceEvent MaliMaliPmmcuhctlcoresnotifypendFtraceEvent MaliMaliPmmcuhctlmcuonrecheckFtraceEvent MaliMaliPmmcuhctlshaderscoreoffpendFtraceEvent MaliMaliPmmcuhctlshaderspendoffFtraceEvent MaliMaliPmmcuhctlshaderspendonFtraceEvent MaliMaliPmmcuhctlshadersreadyoffFtraceEvent MaliMaliPmmcuinsleepFtraceEvent MaliMaliPmmcuoffFtraceEvent MaliMaliPmmcuonFtraceEvent MaliMaliPmmcuoncoreattrupdatependFtraceEvent MaliMaliPmmcuonglbreinitpendFtraceEvent MaliMaliPmmcuonhaltFtraceEvent MaliMaliPmmcuonhwcntdisableFtraceEvent MaliMaliPmmcuonhwcntenableFtraceEvent MaliMaliPmmcuonpendhaltFtraceEvent MaliMaliPmmcuonpendsleepFtraceEvent MaliMaliPmmcuonsleepinitiateFtraceEvent MaliMaliPmmcupendoffFtraceEvent MaliMaliPmmcupendonreloadFtraceEvent MaliMaliPmmcupowerdownFtraceEvent MaliMaliPmmcuresetwaitFtraceEvent MaliTracingMarkWriteFtraceEvent Mapping MarkVictimFtraceEvent MdpCmdKickoffFtraceEvent MdpCmdPingpongDoneFtraceEvent MdpCmdReadptrDoneFtraceEvent MdpCmdReleaseBwFtraceEvent MdpCmdWaitPingpongFtraceEvent MdpCommitFtraceEvent MdpCompareBwFtraceEvent MdpMisrCrcFtraceEvent MdpMixerUpdateFtraceEvent MdpPerfPrefillCalcFtraceEvent MdpPerfSetOtFtraceEvent MdpPerfSetPanicLutsFtraceEvent MdpPerfSetQosLutsFtraceEvent MdpPerfSetWmLevelsFtraceEvent MdpPerfUpdateBusFtraceEvent MdpSsppChangeFtraceEvent MdpSsppSetFtraceEvent MdpTraceCounterFtraceEvent MdpVideoUnderrunDoneFtraceEvent MemInfoEtwEvent Proto definition based on the type of MemInfoArgs_V1, found here and observed
on local traces using tracerpt:
https://github.com/repnz/etw-providers-docs/blob/master/Manifests-Win10-17134/Microsoft-Windows-Kernel-Memory.xml MemoryTrackerSnapshot MigratePagesEndFtraceEvent MigratePagesStartFtraceEvent MigrateRetryFtraceEvent MmAllocContigMigrateRangeInfoFtraceEvent MmCompactionBeginFtraceEvent MmCompactionDeferCompactionFtraceEvent MmCompactionDeferResetFtraceEvent MmCompactionDeferredFtraceEvent MmCompactionEndFtraceEvent MmCompactionFinishedFtraceEvent MmCompactionIsolateFreepagesFtraceEvent MmCompactionIsolateMigratepagesFtraceEvent MmCompactionKcompactdSleepFtraceEvent MmCompactionKcompactdWakeFtraceEvent MmCompactionMigratepagesFtraceEvent MmCompactionSuitableFtraceEvent MmCompactionTryToCompactPagesFtraceEvent MmCompactionWakeupKcompactdFtraceEvent MmEventRecordFtraceEvent MmFilemapAddToPageCacheFtraceEvent MmFilemapDeleteFromPageCacheFtraceEvent MmPageAllocExtfragFtraceEvent MmPageAllocFtraceEvent MmPageAllocZoneLockedFtraceEvent MmPageFreeBatchedFtraceEvent MmPageFreeFtraceEvent MmPagePcpuDrainFtraceEvent MmShrinkSlabEndFtraceEvent MmShrinkSlabStartFtraceEvent MmVmscanDirectReclaimBeginFtraceEvent MmVmscanDirectReclaimEndFtraceEvent MmVmscanKswapdSleepFtraceEvent MmVmscanKswapdWakeFtraceEvent MmVmscanMemcgReclaimBeginFtraceEvent MmVmscanMemcgReclaimEndFtraceEvent ModuleSymbols Symbols for addresses seen in a module.
Used in re-symbolisation of complete traces. NapiGroReceiveEntryFtraceEvent NapiGroReceiveExitFtraceEvent NetDevXmitFtraceEvent NetifReceiveSkbFtraceEvent NetworkPacketBundle NetworkPacketBundle bundles one or more packets sharing the same attributes. NetworkPacketContext An internable packet context. NetworkPacketEvent NetworkPacketEvent records the details of a single packet sent or received
on the network (in Linux kernel terminology, one sk_buff struct). NetworkPacketTraceConfig Network tracing data source that records details on all packets sent or
received by the network. ObfuscatedClass ObfuscatedMember OneofDescriptorProto Describes a oneof. OneofOptions OomScoreAdjUpdateFtraceEvent OpenExecFtraceEvent PackagesList PackagesListConfig Data source that lists details (such as version code) about packages on an
Android device. PanelWriteGenericFtraceEvent ParamSetValueCpmFtraceEvent PerfEventConfig Configuration for the traced_perf profiler. PerfEvents PerfSample Packet emitted by the traced_perf sampling performance profiler, which
gathers data via the perf_event_open syscall. Each packet contains an
individual sample with a counter value, and optionally a
callstack. PerfSampleDefaults Submessage for TracePacketDefaults. PerfettoMetatrace Used to trace the execution of perfetto itself. PixelMmKswapdDoneFtraceEvent PixelMmKswapdWakeFtraceEvent PixelModemConfig Data source that records events from the modem. PixelModemEvents PixelModemTokenDatabase NB: this is not emitted in the trace but can be prepended later. PositionProto PowerRails PrintFtraceEvent PriorityBoostConfig Configuration that allows to boost the priority of the ‘traced’ or
‘traced_probs’ processes, by changing the scheduler configuration.
Only supported on Linux and Android the boosted process must have
‘CAP_SYS_NICE’ capability. ProcessDescriptor Describes a process’s attributes. Emitted as part of a TrackDescriptor,
usually by the process’s main thread. ProcessStats Per-process periodically sampled stats. These samples are wrapped in a
dedicated message (as opposite to be fields in process_tree.proto) because
they are dumped at a different rate than cmdline and thread list.
Note: not all of these stats will be present in every ProcessStats message
and sometimes processes may be missing. This is because counters are
cached to reduce emission of counters which do not change. ProcessStatsConfig Config for polling process-related information from /proc/pid/status and
related files on Linux. ProcessTrackNameTranslationTable Raw -> deobfuscated process track name translation rules. ProcessTree Metadata about the processes and threads in the trace.
Note: this proto was designed to be filled in by traced_probes and should
only be populated with accurate information coming from the system. Other
trace writers should prefer to fill ThreadDescriptor and ProcessDescriptor
in TrackDescriptor. ProfilePacket The packet emitted by heapprofd for each heap snapshot. A snapshot can
involve more than one ProfilePacket if the snapshot is big (when |continued|
is true). The cardinality and grouping is as follows:
A ProfilePacket contains: Profiling Namespace for the contained enums. ProtoLogConfig Custom configuration for the “android.protolog” data source.
ProtoLog is a logging mechanism that is intented to be more efficient than
logcat. This configures what logs to capture in the tracing instance. ProtoLogGroup ProtoLogMessage represents a single log entry ProtoLogViewerConfig contains all the data required to fully decode the protolog messages ProtoVmConfig PsciMemProtectFtraceEvent QnxConfig QnxConfig is used with trace_qnx_probes build from
https://github.com/qnx-ports/perfetto ReadyThreadEtwEvent Proto definition based on the Thread_v2 CSwitch class definition
See: https://learn.microsoft.com/en-us/windows/win32/etw/readythread RectProto RegionProto RegulatorDisableCompleteFtraceEvent RegulatorDisableFtraceEvent RegulatorEnableCompleteFtraceEvent RegulatorEnableDelayFtraceEvent RegulatorEnableFtraceEvent RegulatorSetVoltageCompleteFtraceEvent RegulatorSetVoltageFtraceEvent RemoteClockSync Records the parameters for aligning clock readings between machines. RotatorBwAoAsContextFtraceEvent RpmStatusFtraceEvent RssStatFtraceEvent RssStatThrottledFtraceEvent SamsungTracingMarkWriteFtraceEvent SchedBlockedReasonFtraceEvent SchedCpuHotplugFtraceEvent SchedCpuUtilCfsFtraceEvent SchedGroupTrackerFtraceEvent SchedMigrateTaskFtraceEvent SchedPiSetprioFtraceEvent SchedProcessExecFtraceEvent SchedProcessExitFtraceEvent SchedProcessForkFtraceEvent SchedProcessFreeFtraceEvent SchedProcessHangFtraceEvent SchedProcessWaitFtraceEvent SchedSwitchFtraceEvent SchedSwitchWithCtrsFtraceEvent SchedWakeupFtraceEvent SchedWakeupNewFtraceEvent SchedWakeupTaskAttrFtraceEvent SchedWakingFtraceEvent ScmCallEndFtraceEvent ScmCallStartFtraceEvent Screenshot ScsiDispatchCmdErrorFtraceEvent ScsiDispatchCmdTimeoutFtraceEvent ScsiEhWakeupFtraceEvent SdeSdeEvtlogFtraceEvent SdeSdePerfCalcCrtcFtraceEvent SdeSdePerfCrtcUpdateFtraceEvent SdeSdePerfSetQosLutsFtraceEvent SdeSdePerfUpdateBusFtraceEvent SdeTracingMarkWriteFtraceEvent ShellHandlerMapping ShellHandlerMappings Contains mappings from handler ids to string representation of the handlers. ShellTransition ShellTransition messages record information about the shell transitions in
the system. This is used to track the animations that are created and execute
through the shell transition system. SignalDeliverFtraceEvent SignalGenerateFtraceEvent SizeProto SliceNameTranslationTable Raw -> deobfuscated slice name translation rules. SmapsEntry SmapsPacket SmbusReadFtraceEvent SmbusReplyFtraceEvent SmbusResultFtraceEvent SmbusWriteFtraceEvent SoftirqEntryFtraceEvent SoftirqExitFtraceEvent SoftirqRaiseFtraceEvent SourceLocation StatsdAtom One or more statsd atoms. This must continue to match:
perfetto/protos/third_party/statsd/shell_data.proto
So that we can efficiently add data from statsd directly to the
trace. StatsdPullAtomConfig StatsdTracingConfig This file is named ‘statsd_tracing_config.proto’ rather than
‘statsd_config.proto’ (which would be more consistent with the other
config protos) so it doesn’t show up and confuse folks looking for
the existing statsd_config.proto for configuring statsd itself.
Same for the config proto itself. StreamingAllocation Packet emitted by heapprofd when stream_allocations = true. Only for local
testing. Doesn’t report the callsite. StreamingFree Packet emitted by heapprofd when stream_allocations = true. Only for local
testing. Doesn’t report the callsite. StreamingProfilePacket Packet emitted by the chromium in-process signal-based callstack sampler.
Represents a series of individual stack samples (sampled at discrete points
in time), rather than aggregated over an interval. SurfaceFlingerLayersConfig Custom configuration for the “android.surfaceflinger.layers” data source. SurfaceFlingerTransactionsConfig Custom configuration for the “android.surfaceflinger.transactions” data
source. SuspendResumeFtraceEvent SuspendResumeMinimalFtraceEvent SyncPtFtraceEvent SyncTimelineFtraceEvent SyncWaitFtraceEvent SysEnterFtraceEvent SysExitFtraceEvent SysStats Various Linux system stat counters from /proc.
The fields in this message can be reported at different rates and with
different granularity. See sys_stats_config.proto. SysStatsConfig This file defines the configuration for the Linux /proc poller data source,
which injects counters in the trace.
Counters that are needed in the trace must be explicitly listed in the
_counters fields. This is to avoid spamming the trace with all counters
at all times.
The sampling rate is configurable. All polling rates ( _period_ms) need
to be integer multiples of each other.
OK: [10ms, 10ms, 10ms], [10ms, 20ms, 10ms], [10ms, 20ms, 60ms]
Not OK: [10ms, 10ms, 11ms], [10ms, 15ms, 20ms] SystemInfo Next id: 17 SystemInfoConfig This data-source does a one-off recording of system information when
the trace starts.
Currently this includes: TaskExecution TrackEvent arguments describing the execution of a task. TaskNewtaskFtraceEvent TaskRenameFtraceEvent TcpRetransmitSkbFtraceEvent TestConfig The configuration for a fake producer used in tests. TestEvent Event used by testing code. ThermalExynosAcpmBulkFtraceEvent ThermalExynosAcpmHighOverheadFtraceEvent ThermalTemperatureFtraceEvent ThreadDescriptor Describes a thread’s attributes. Emitted as part of a TrackDescriptor,
usually by the thread’s trace writer. TimerCancelFtraceEvent TimerExpireEntryFtraceEvent TimerExpireExitFtraceEvent TimerStartFtraceEvent Trace TraceAttributes TraceConfig The overall config that is used when starting a new tracing session through
ProducerPort::StartTracing().
It contains the general config for the logging buffer(s) and the configs for
all the data source being enabled. TracePacket TracePacket is the root object of a Perfetto trace.
A Perfetto trace is a linear sequence of TracePacket(s). TracePacketDefaults Default values for TracePacket fields that hold for a particular TraceWriter
packet sequence. This message contains a subset of the TracePacket fields
with matching IDs. When provided, these fields define the default values
that should be applied, at import time, to all TracePacket(s) with the same
|trusted_packet_sequence_id|, unless otherwise specified in each packet. TraceProvenance TraceStats Statistics for the internals of the tracing service. TraceUuid A random unique ID that identifies the trace.
This message has been introduced in v32. Prior to that, the UUID was
only (optionally) present in the TraceConfig.trace_uuid_msb/lsb fields.
This has been moved to a standalone packet to deal with new use-cases for
go/gapless-aot, where the same tracing session can be serialized several
times, in which case the UUID is changed on each snapshot and does not match
the one in the TraceConfig. TracingMarkWriteFtraceEvent TracingServiceEvent Events emitted by the tracing service.
Next id: 12. TracingServiceState Reports the state of the tracing service. Used to gather details about the
data sources connected.
See ConsumerPort::QueryServiceState(). TrackDescriptor Defines a track for TrackEvents. Slices and instant events on the same track
will be nested based on their timestamps, see TrackEvent::Type. TrackEvent Trace events emitted by client instrumentation library (TRACE_EVENT macros),
which describe activity on a track, such as a thread or asynchronous event
track. The track is specified using separate TrackDescriptor messages and
referred to via the track’s UUID. TrackEventCategory TrackEventConfig The following fields define the set of enabled trace categories. Each list
item is a glob. TrackEventDefaults Default values for fields of all TrackEvents on the same packet sequence.
Should be emitted as part of TracePacketDefaults whenever incremental state
is cleared. It’s defined here because field IDs should match those of the
corresponding fields in TrackEvent. TrackEventDescriptor TrackEventRangeOfInterest This message specifies the “range of interest” for track events. With the
drop_track_event_data_before option set to kTrackEventRangeOfInterest,
Trace Processor drops track events outside of this range. TransactionBarrier TransactionState TransactionTraceEntry TransactionTraceFile Message used by Winscope to process legacy trace files.
Represents a file full of surface flinger transactions.
Encoded, it should start with 0x54 0x4E 0x58 0x54 0x52 0x41 0x43 0x45
(.TNXTRACE), such that they can be easily identified. Transform TransformProto TranslationTable Translation rules for the trace processor.
See the comments for each rule type for specific meaning. TrapRegFtraceEvent Trigger When a TracingSession receives a trigger it records the boot time nanoseconds
in the TracePacket’s timestamp field as well as the name of the producer that
triggered it. We emit this data so filtering can be done on triggers received
in the trace. TrustyEnqueueNopFtraceEvent TrustyIpcConnectEndFtraceEvent TrustyIpcConnectFtraceEvent TrustyIpcHandleEventFtraceEvent TrustyIpcPollFtraceEvent TrustyIpcReadEndFtraceEvent TrustyIpcReadFtraceEvent TrustyIpcRxFtraceEvent TrustyIpcWriteFtraceEvent TrustyIrqFtraceEvent TrustyReclaimMemoryDoneFtraceEvent TrustyReclaimMemoryFtraceEvent TrustyShareMemoryDoneFtraceEvent TrustyShareMemoryFtraceEvent TrustySmcDoneFtraceEvent TrustySmcFtraceEvent TrustyStdCall32DoneFtraceEvent TrustyStdCall32FtraceEvent UfshcdClkGatingFtraceEvent UfshcdCommandFtraceEvent UiState Common state for UIs visualizing Perfetto traces.
This message can be appended as a TracePacket by UIs to save the
visible state (e.g. scroll position/zoom state) for future opening
of the trace.
Design doc: go/trace-ui-state. UninterpretedOption A message representing a option the parser does not recognize. This only
appears in options protos created by the compiler::Parser class.
DescriptorPool resolves these when building Descriptor objects. Therefore,
options protos in descriptor objects (e.g. returned by Descriptor::options(),
or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
in them. UnsymbolizedSourceLocation A source location, represented as a native symbol.
This is similar to message Frame from
protos/perfetto/trace/profiling/profile_common.proto, but for abitrary
source code locations (for example in track event args), not stack frames. Utsname V4l2DqbufFtraceEvent V4l2QbufFtraceEvent V8CodeDefaults V8CodeMove Move event for V8 code (JS / Wasm / Internal / Regexp) that was relocated in
memory by V8’s GC. V8Config V8InternalCode V8JsCode V8RegExpCode V8String Strings used by V8 can have different encodings, instead of coverting to a
common encoding (e.g. UTF-8) on device is expensive. Instead we send the
“raw” string and do the convestion at trace ingestion time. V8WasmCode Vb2V4l2BufDoneFtraceEvent Vb2V4l2BufQueueFtraceEvent Vb2V4l2DqbufFtraceEvent Vb2V4l2QbufFtraceEvent VgicUpdateIrqPendingFtraceEvent VirtioGpuCmdQueueFtraceEvent VirtioGpuCmdResponseFtraceEvent VirtioVideoCmdDoneFtraceEvent VirtioVideoCmdFtraceEvent VirtioVideoResourceQueueDoneFtraceEvent VirtioVideoResourceQueueFtraceEvent VmInstruction VmOpDel Delete the field or message pointed by DST. VmOpMerge Merges SRC into DST. Both need to point to a message (not a field). VmOpRegLoad VmOpSelect VmOpSet Copies SRC into DST. If a message, replaces the DST node, discarding any
pre-existing field. VmProgram VulkanApiEvent Message for recording the Vulkan call. VulkanMemoryConfig VulkanMemoryEvent Each VulkanMemoryEvent encompasses information regarding one single function
call that results in reserving, binding or freeing host or GPU memory. There
is a special message type, ANNOTATIONS, which is used to communicate
information that are not directly related to a memory event, nonetheless are
essential to understand the memory usage. An example is the size and memory
types of the memory heaps. VulkanMemoryEventAnnotation All the information that cannot be sent within a VulkanMemoryEvent message,
are sent as annotations to the main memory event. One example is the
properties of the object that consumes the allocated memory, for example, a
buffer or an image.
key_iid and string_iid are both interned strings. Original string value is
stored in vulkan_memory_keys from
protos/perfetto/trace/interned_data/interned_data.proto. WakeupSourceActivateFtraceEvent WakeupSourceDeactivateFtraceEvent WindowManagerConfig Custom configuration for the “android.windowmanager” data source. WinscopeExtensions WorkqueueActivateWorkFtraceEvent WorkqueueExecuteEndFtraceEvent WorkqueueExecuteStartFtraceEvent WorkqueueQueueWorkFtraceEvent ZeroFtraceEvent AndroidLogId Values from NDK’s android/log.h. AndroidLogPriority AtomId This enum is obtained by post-processing
AOSP/frameworks/proto_logging/stats/atoms.proto through
AOSP/external/perfetto/tools/update-statsd-descriptor, which extracts one
enum value for each proto field defined in the upstream atoms.proto. BluetoothTracePacketType Describes the packet type and direction. CMD and EVT are unidirectional, so
no need to differentiate the direction. BuiltinClock Builtin clock domains used in Perfetto traces. ChromeCompositorSchedulerAction ChromeRailMode RAIL Mode is an indication of the kind of work that a Renderer is currently
performing which is in turn used to prioritise work accordingly.
A fuller description of these modes can be found https://web.dev/rail/ FtraceClock FtraceParseStatus HwcCompositionType Must match definition in the IComposerClient HAL MeminfoCounters Counter definitions for Linux’s /proc/meminfo. ProtoLogLevel SemanticType Semantic types for string fields. This tells the filter what kind of
data the field contains, so it can apply the right filtering rules.
See /rfcs/0011-subset-string-filter-rules.md for design details.
Introduced in: Perfetto v54. TrafficDirection TrustedOverlay VmCursorEnum VmstatCounters Counter definitions for Linux’s /proc/vmstat.