Struct puffin::FrameData [−][src]
pub struct FrameData { /* fields omitted */ }
Expand description
One frame worth of profile data, collected from many sources.
If you turn on the “packing” feature, then FrameData
has interior mutability with double storage:
- Unpacked data (
UnpackedFrameData
) - Packed (compressed) data
One or both are always stored. This allows RAM-efficient storage and viewing of many frames of profiling data. Packing and unpacking is done lazily, on-demand.
Implementations
pub fn new(
frame_index: FrameIndex,
thread_streams: BTreeMap<ThreadInfo, StreamInfo>
) -> Result<Self>
Number of bytes used by the packed data, if packed.
Number of bytes used when unpacked, if known.
bytes currently used by the unpacked and packed data.
Do we have a packed version stored internally?
Do we have a unpacked version stored internally?
Return the unpacked data.
This will lazily unpack if needed (and only once).
Returns Err
if failing to decode the packed data.