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
impl Clone for InternedData
Source§fn clone(&self) -> InternedData
fn clone(&self) -> InternedData
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for InternedData
impl Debug for InternedData
Source§impl Default for InternedData
impl Default for InternedData
Source§impl Message for InternedData
impl Message for InternedData
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
Source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
Source§fn decode<B>(buf: B) -> Result<Self, DecodeError>
fn decode<B>(buf: B) -> Result<Self, DecodeError>
Source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
Source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
. Read moreSource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
.