Skip to main content

Data

pub enum Data {
Show 95 variants TrackEvent(TrackEvent), TrackDescriptor(TrackDescriptor), GenericKernelTaskStateEvent(GenericKernelTaskStateEvent), GenericKernelCpuFreqEvent(GenericKernelCpuFrequencyEvent), GenericKernelTaskRenameEvent(GenericKernelTaskRenameEvent), GenericKernelProcessTree(GenericKernelProcessTree), GenericGpuFrequencyEvent(GenericGpuFrequencyEvent), ProcessTree(ProcessTree), TrackEventRangeOfInterest(TrackEventRangeOfInterest), ProcessStats(ProcessStats), InodeFileMap(InodeFileMap), ChromeEvents(ChromeEventBundle), ClockSnapshot(ClockSnapshot), SysStats(SysStats), TraceUuid(TraceUuid), TraceConfig(TraceConfig), FtraceStats(FtraceStats), TraceStats(TraceStats), ProfilePacket(ProfilePacket), StreamingAllocation(StreamingAllocation), StreamingFree(StreamingFree), Battery(BatteryCounters), PowerRails(PowerRails), AndroidLog(AndroidLogPacket), SystemInfo(SystemInfo), Trigger(Trigger), ChromeTrigger(ChromeTrigger), PackagesList(PackagesList), ChromeBenchmarkMetadata(ChromeBenchmarkMetadata), PerfettoMetatrace(PerfettoMetatrace), ChromeMetadata(ChromeMetadataPacket), GpuCounterEvent(GpuCounterEvent), GpuRenderStageEvent(GpuRenderStageEvent), StreamingProfilePacket(StreamingProfilePacket), HeapGraph(HeapGraph), GraphicsFrameEvent(GraphicsFrameEvent), VulkanMemoryEvent(VulkanMemoryEvent), GpuLog(GpuLog), VulkanApiEvent(VulkanApiEvent), PerfSample(PerfSample), CpuInfo(CpuInfo), SmapsPacket(SmapsPacket), ServiceEvent(TracingServiceEvent), InitialDisplayState(InitialDisplayState), GpuMemTotalEvent(GpuMemTotalEvent), MemoryTrackerSnapshot(MemoryTrackerSnapshot), FrameTimelineEvent(FrameTimelineEvent), AndroidEnergyEstimationBreakdown(AndroidEnergyEstimationBreakdown), UiState(UiState), AndroidCameraFrameEvent(AndroidCameraFrameEvent), AndroidCameraSessionStats(AndroidCameraSessionStats), TranslationTable(TranslationTable), AndroidGameInterventionList(AndroidGameInterventionList), StatsdAtom(StatsdAtom), AndroidSystemProperty(AndroidSystemProperty), EntityStateResidency(EntityStateResidency), TraceProvenance(TraceProvenance), Protovms(ProtoVms), TraceAttributes(TraceAttributes), AndroidAflags(AndroidAflags), GpuInfo(GpuInfo), ModuleSymbols(ModuleSymbols), DeobfuscationMapping(DeobfuscationMapping), ProcessDescriptor(ProcessDescriptor), ThreadDescriptor(ThreadDescriptor), FtraceEvents(FtraceEventBundle), SynchronizationMarker(Vec<u8>), CompressedPackets(Vec<u8>), ExtensionDescriptor(ExtensionDescriptor), NetworkPacket(NetworkPacketEvent), NetworkPacketBundle(NetworkPacketBundle), SurfaceflingerLayersSnapshot(LayersSnapshotProto), SurfaceflingerTransactions(TransactionTraceEntry), ShellTransition(ShellTransition), ShellHandlerMappings(ShellHandlerMappings), ProtologMessage(ProtoLogMessage), ProtologViewerConfig(ProtoLogViewerConfig), WinscopeExtensions(WinscopeExtensions), EtwEvents(EtwTraceEventBundle), V8JsCode(V8JsCode), V8InternalCode(V8InternalCode), V8WasmCode(V8WasmCode), V8RegExpCode(V8RegExpCode), V8CodeMove(V8CodeMove), RemoteClockSync(RemoteClockSync), PixelModemEvents(PixelModemEvents), PixelModemTokenDatabase(PixelModemTokenDatabase), CloneSnapshotTrigger(Trigger), BluetoothTraceEvent(BluetoothTraceEvent), KernelWakelockData(KernelWakelockData), AppWakelockBundle(AppWakelockBundle), CpuPerUidData(CpuPerUidData), EvdevEvent(EvdevEvent), UserList(AndroidUserList), ForTesting(TestEvent),
}

Variants§

§

TrackEvent(TrackEvent)

== STABLE PUBLIC API: TrackEvent ==

TrackEvent is the stable, extensible API for recording trace events. See docs/instrumentation/track-events.md for details.

§

TrackDescriptor(TrackDescriptor)

§

GenericKernelTaskStateEvent(GenericKernelTaskStateEvent)

== STABLE PUBLIC API: GENERIC KERNEL EVENTS ==

Stable API for OS-level and hardware events from non-ftrace data sources.

§

GenericKernelCpuFreqEvent(GenericKernelCpuFrequencyEvent)

§

GenericKernelTaskRenameEvent(GenericKernelTaskRenameEvent)

§

GenericKernelProcessTree(GenericKernelProcessTree)

§

GenericGpuFrequencyEvent(GenericGpuFrequencyEvent)

§

ProcessTree(ProcessTree)

IDs up to 15 are reserved. They take only one byte to encode their preamble so should be used for frequent events.

§

TrackEventRangeOfInterest(TrackEventRangeOfInterest)

§

ProcessStats(ProcessStats)

§

InodeFileMap(InodeFileMap)

§

ChromeEvents(ChromeEventBundle)

§

ClockSnapshot(ClockSnapshot)

§

SysStats(SysStats)

§

TraceUuid(TraceUuid)

§

TraceConfig(TraceConfig)

§

FtraceStats(FtraceStats)

§

TraceStats(TraceStats)

§

ProfilePacket(ProfilePacket)

§

StreamingAllocation(StreamingAllocation)

§

StreamingFree(StreamingFree)

§

Battery(BatteryCounters)

§

PowerRails(PowerRails)

§

AndroidLog(AndroidLogPacket)

§

SystemInfo(SystemInfo)

§

Trigger(Trigger)

§

ChromeTrigger(ChromeTrigger)

§

PackagesList(PackagesList)

§

ChromeBenchmarkMetadata(ChromeBenchmarkMetadata)

§

PerfettoMetatrace(PerfettoMetatrace)

§

ChromeMetadata(ChromeMetadataPacket)

§

GpuCounterEvent(GpuCounterEvent)

§

GpuRenderStageEvent(GpuRenderStageEvent)

§

StreamingProfilePacket(StreamingProfilePacket)

§

HeapGraph(HeapGraph)

§

GraphicsFrameEvent(GraphicsFrameEvent)

§

VulkanMemoryEvent(VulkanMemoryEvent)

§

GpuLog(GpuLog)

§

VulkanApiEvent(VulkanApiEvent)

§

PerfSample(PerfSample)

§

CpuInfo(CpuInfo)

§

SmapsPacket(SmapsPacket)

§

ServiceEvent(TracingServiceEvent)

§

InitialDisplayState(InitialDisplayState)

§

GpuMemTotalEvent(GpuMemTotalEvent)

§

MemoryTrackerSnapshot(MemoryTrackerSnapshot)

§

FrameTimelineEvent(FrameTimelineEvent)

§

AndroidEnergyEstimationBreakdown(AndroidEnergyEstimationBreakdown)

§

UiState(UiState)

§

AndroidCameraFrameEvent(AndroidCameraFrameEvent)

§

AndroidCameraSessionStats(AndroidCameraSessionStats)

§

TranslationTable(TranslationTable)

§

AndroidGameInterventionList(AndroidGameInterventionList)

§

StatsdAtom(StatsdAtom)

§

AndroidSystemProperty(AndroidSystemProperty)

§

EntityStateResidency(EntityStateResidency)

§

TraceProvenance(TraceProvenance)

§

Protovms(ProtoVms)

§

TraceAttributes(TraceAttributes)

§

AndroidAflags(AndroidAflags)

§

GpuInfo(GpuInfo)

§

ModuleSymbols(ModuleSymbols)

Only used in profile packets.

§

DeobfuscationMapping(DeobfuscationMapping)

§

ProcessDescriptor(ProcessDescriptor)

Deprecated, use TrackDescriptor instead.

§

ThreadDescriptor(ThreadDescriptor)

Deprecated, use TrackDescriptor instead.

§

FtraceEvents(FtraceEventBundle)

Events from the Linux kernel ftrace infrastructure.

§

SynchronizationMarker(Vec<u8>)

This field is emitted at periodic intervals (~10s) and contains always the binary representation of the UUID {82477a76-b28d-42ba-81dc-33326d57a079}. This is used to be able to efficiently partition long traces without having to fully parse them.

§

CompressedPackets(Vec<u8>)

Zero or more proto encoded trace packets compressed using deflate. Each compressed_packets TracePacket (including the two field ids and sizes) should be less than 512KB.

§

ExtensionDescriptor(ExtensionDescriptor)

Data sources can extend the trace proto with custom extension protos (see docs/instrumentation/extensions.md). When they do that, the descriptor of their extension proto descriptor is serialized in this packet. This allows trace_processor to deserialize extended messages using reflection even if the extension proto is not checked in the Perfetto repo.

§

NetworkPacket(NetworkPacketEvent)

Represents a single packet sent or received by the network.

§

NetworkPacketBundle(NetworkPacketBundle)

Represents one or more packets sent or received by the network.

§

SurfaceflingerLayersSnapshot(LayersSnapshotProto)

Winscope traces

§

SurfaceflingerTransactions(TransactionTraceEntry)

§

ShellTransition(ShellTransition)

§

ShellHandlerMappings(ShellHandlerMappings)

§

ProtologMessage(ProtoLogMessage)

§

ProtologViewerConfig(ProtoLogViewerConfig)

§

WinscopeExtensions(WinscopeExtensions)

§

EtwEvents(EtwTraceEventBundle)

Events from the Windows etw infrastructure.

§

V8JsCode(V8JsCode)

§

V8InternalCode(V8InternalCode)

§

V8WasmCode(V8WasmCode)

§

V8RegExpCode(V8RegExpCode)

§

V8CodeMove(V8CodeMove)

§

RemoteClockSync(RemoteClockSync)

Clock synchronization with remote machines.

§

PixelModemEvents(PixelModemEvents)

§

PixelModemTokenDatabase(PixelModemTokenDatabase)

§

CloneSnapshotTrigger(Trigger)

§

BluetoothTraceEvent(BluetoothTraceEvent)

§

KernelWakelockData(KernelWakelockData)

§

AppWakelockBundle(AppWakelockBundle)

§

CpuPerUidData(CpuPerUidData)

§

EvdevEvent(EvdevEvent)

§

UserList(AndroidUserList)

§

ForTesting(TestEvent)

This field is only used for testing. In previous versions of this proto this field had the id 268435455 This caused many problems:

  • protozero decoder does not handle field ids larger than 999.
  • old versions of protoc produce Java bindings with syntax errors when the field id is large enough.

Implementations§

Source§

impl Data

Source

pub fn encode<B>(&self, buf: &mut B)
where B: BufMut,

Encodes the message to a buffer.

Source

pub fn merge<B>( field: &mut Option<Data>, tag: u32, wire_type: WireType, buf: &mut B, ctx: DecodeContext, ) -> Result<(), DecodeError>
where B: Buf,

Decodes an instance of the message from a buffer, and merges it into self.

Source

pub fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.

Trait Implementations§

Source§

impl Clone for Data

Source§

fn clone(&self) -> Data

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Data

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Data

Source§

fn eq(&self, other: &Data) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Data

Auto Trait Implementations§

§

impl Freeze for Data

§

impl RefUnwindSafe for Data

§

impl Send for Data

§

impl Sync for Data

§

impl Unpin for Data

§

impl UnsafeUnpin for Data

§

impl UnwindSafe for Data

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.