tracing_perfetto_sdk_schema

Struct InternedData

Source
pub struct InternedData {
Show 33 fields pub event_categories: Vec<EventCategory>, pub event_names: Vec<EventName>, pub debug_annotation_names: Vec<DebugAnnotationName>, pub debug_annotation_value_type_names: Vec<DebugAnnotationValueTypeName>, pub source_locations: Vec<SourceLocation>, pub unsymbolized_source_locations: Vec<UnsymbolizedSourceLocation>, pub log_message_body: Vec<LogMessageBody>, pub histogram_names: Vec<HistogramName>, pub build_ids: Vec<InternedString>, pub mapping_paths: Vec<InternedString>, pub source_paths: Vec<InternedString>, pub function_names: Vec<InternedString>, pub profiled_frame_symbols: Vec<ProfiledFrameSymbols>, pub mappings: Vec<Mapping>, pub frames: Vec<Frame>, pub callstacks: Vec<Callstack>, pub vulkan_memory_keys: Vec<InternedString>, pub graphics_contexts: Vec<InternedGraphicsContext>, pub gpu_specifications: Vec<InternedGpuRenderStageSpecification>, pub kernel_symbols: Vec<InternedString>, pub debug_annotation_string_values: Vec<InternedString>, pub packet_context: Vec<NetworkPacketContext>, pub v8_js_function_name: Vec<InternedV8String>, pub v8_js_function: Vec<InternedV8JsFunction>, pub v8_js_script: Vec<InternedV8JsScript>, pub v8_wasm_script: Vec<InternedV8WasmScript>, pub v8_isolate: Vec<InternedV8Isolate>, pub protolog_string_args: Vec<InternedString>, pub protolog_stacktrace: Vec<InternedString>, pub viewcapture_package_name: Vec<InternedString>, pub viewcapture_window_name: Vec<InternedString>, pub viewcapture_view_id: Vec<InternedString>, pub viewcapture_class_name: Vec<InternedString>,
}
Expand description

Message that contains new entries for the interning indices of a packet sequence.

The writer will usually emit new entries in the same TracePacket that first refers to them (since the last reset of interning state). They may also be emitted proactively in advance of referring to them in later packets.

Next reserved id: 8 (up to 15). Next id: 42.

TODO(eseckler): Replace iid fields inside interned messages with map<iid, message> type fields in InternedData.

Fields§

§event_categories: Vec<EventCategory>

Each field’s message type needs to specify an |iid| field, which is the ID of the entry in the field’s interning index. Each field constructs its own index, thus interning IDs are scoped to the tracing session and field (usually as a counter for efficient var-int encoding), and optionally to the incremental state generation of the packet sequence.

§event_names: Vec<EventName>§debug_annotation_names: Vec<DebugAnnotationName>§debug_annotation_value_type_names: Vec<DebugAnnotationValueTypeName>§source_locations: Vec<SourceLocation>§unsymbolized_source_locations: Vec<UnsymbolizedSourceLocation>§log_message_body: Vec<LogMessageBody>§histogram_names: Vec<HistogramName>§build_ids: Vec<InternedString>

Build IDs of exectuable files.

§mapping_paths: Vec<InternedString>

Paths to executable files.

§source_paths: Vec<InternedString>

Paths to source files.

§function_names: Vec<InternedString>

Names of functions used in frames below.

§profiled_frame_symbols: Vec<ProfiledFrameSymbols>

Symbols that were added to this trace after the fact.

§mappings: Vec<Mapping>

Executable files mapped into processes.

§frames: Vec<Frame>

Frames of callstacks of a program.

§callstacks: Vec<Callstack>

A callstack of a program.

§vulkan_memory_keys: Vec<InternedString>

Additional Vulkan information sent in a VulkanMemoryEvent message

§graphics_contexts: Vec<InternedGraphicsContext>

Graphics context of a render stage event. This represent the GL context for an OpenGl app or the VkDevice for a Vulkan app.

§gpu_specifications: Vec<InternedGpuRenderStageSpecification>

Description of a GPU hardware queue or render stage.

§kernel_symbols: Vec<InternedString>

This is set when FtraceConfig.symbolize_ksyms = true. The id of each symbol the number that will be reported in ftrace events like sched_block_reason.caller and is obtained from a monotonic counter. The same symbol can have different indexes in different bundles. This is is NOT the real address. This is to avoid disclosing KASLR through traces.

§debug_annotation_string_values: Vec<InternedString>

Interned string values in the DebugAnnotation proto.

§packet_context: Vec<NetworkPacketContext>

Interned packet context for android.network_packets.

§v8_js_function_name: Vec<InternedV8String>

Interned name of a js function. We only intern js functions as there is a lot of duplication for them, but less so for other strings in the V8 data source.

§v8_js_function: Vec<InternedV8JsFunction>

Js functions can be emitted multiple times for various compilation tiers, so it makes sense to deduplicate all this.

§v8_js_script: Vec<InternedV8JsScript>

Interned JS script (there is one associated with each JS function)

§v8_wasm_script: Vec<InternedV8WasmScript>

Interned Wasm script (there is one associated with each Wasm function)

§v8_isolate: Vec<InternedV8Isolate>

Every V8 event is associated with an isolate, intern the isolate to remove duplication.

§protolog_string_args: Vec<InternedString>

Interned protolog strings args.

§protolog_stacktrace: Vec<InternedString>

Interned protolog stacktraces.

§viewcapture_package_name: Vec<InternedString>

viewcapture

§viewcapture_window_name: Vec<InternedString>§viewcapture_view_id: Vec<InternedString>§viewcapture_class_name: Vec<InternedString>

Trait Implementations§

Source§

impl Clone for InternedData

Source§

fn clone(&self) -> InternedData

Returns a copy 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 InternedData

Source§

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

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

impl Default for InternedData

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Message for InternedData

Source§

fn encoded_len(&self) -> usize

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

fn clear(&mut self)

Clears the message, resetting all fields to their default.
Source§

fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message to a buffer. Read more
Source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
Source§

fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
Source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
Source§

fn decode<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes an instance of the message from a buffer. Read more
Source§

fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes a length-delimited instance of the message from the buffer.
Source§

fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

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

fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
Source§

impl PartialEq for InternedData

Source§

fn eq(&self, other: &InternedData) -> 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 InternedData

Auto Trait Implementations§

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, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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.