Skip to content

Commit 2c45b10

Browse files
authored
Merge pull request #142 from Mark-Simulacrum/from-memory
Decode paged buffers from memory
2 parents 28b1eea + c7ac3b8 commit 2c45b10

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

analyzeme/src/profiling_data.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,18 @@ impl ProfilingData {
8282
}
8383
}
8484

85+
pub fn from_paged_buffer(data: Vec<u8>) -> Result<ProfilingData, Box<dyn Error + Send + Sync>> {
86+
verify_file_header(&data, FILE_MAGIC_TOP_LEVEL, None, "top-level")?;
87+
88+
let mut split_data = measureme::split_streams(&data[FILE_HEADER_SIZE..]);
89+
90+
let string_data = split_data.remove(&PageTag::StringData).unwrap();
91+
let index_data = split_data.remove(&PageTag::StringIndex).unwrap();
92+
let event_data = split_data.remove(&PageTag::Events).unwrap();
93+
94+
ProfilingData::from_buffers(string_data, index_data, event_data, None)
95+
}
96+
8597
pub fn from_buffers(
8698
string_data: Vec<u8>,
8799
string_index: Vec<u8>,

0 commit comments

Comments
 (0)