pub struct SelectiveJsonExporter { /* private fields */ }
Expand description
Selective JSON exporter with integrated optimization components
Implementations§
Source§impl SelectiveJsonExporter
impl SelectiveJsonExporter
Sourcepub fn new() -> Result<Self, BinaryExportError>
pub fn new() -> Result<Self, BinaryExportError>
Create a new selective JSON exporter with default configuration
Sourcepub fn with_config(
config: SelectiveJsonExportConfig,
) -> Result<Self, BinaryExportError>
pub fn with_config( config: SelectiveJsonExportConfig, ) -> Result<Self, BinaryExportError>
Create a new selective JSON exporter with custom configuration
Sourcepub fn export_to_json_selective<P: AsRef<Path>, Q: AsRef<Path>>(
&mut self,
binary_path: P,
json_path: Q,
requested_fields: &HashSet<AllocationField>,
filters: &[AllocationFilter],
) -> Result<SelectiveJsonExportStats, BinaryExportError>
pub fn export_to_json_selective<P: AsRef<Path>, Q: AsRef<Path>>( &mut self, binary_path: P, json_path: Q, requested_fields: &HashSet<AllocationField>, filters: &[AllocationFilter], ) -> Result<SelectiveJsonExportStats, BinaryExportError>
Export a single binary file to JSON with selective fields
Sourcepub fn export_multiple_json_types<P: AsRef<Path>>(
&mut self,
binary_files: &[(P, P)],
requested_fields: &HashSet<AllocationField>,
filters: &[AllocationFilter],
) -> Result<Vec<SelectiveJsonExportStats>, BinaryExportError>
pub fn export_multiple_json_types<P: AsRef<Path>>( &mut self, binary_files: &[(P, P)], requested_fields: &HashSet<AllocationField>, filters: &[AllocationFilter], ) -> Result<Vec<SelectiveJsonExportStats>, BinaryExportError>
Export multiple binary files to JSON in parallel
Sourcepub fn export_memory_analysis_json<P: AsRef<Path>, Q: AsRef<Path>>(
&mut self,
binary_path: P,
json_path: Q,
) -> Result<SelectiveJsonExportStats, BinaryExportError>
pub fn export_memory_analysis_json<P: AsRef<Path>, Q: AsRef<Path>>( &mut self, binary_path: P, json_path: Q, ) -> Result<SelectiveJsonExportStats, BinaryExportError>
Export to memory_analysis.json format (compatible with existing format)
Sourcepub fn export_lifetime_json<P: AsRef<Path>, Q: AsRef<Path>>(
&mut self,
binary_path: P,
json_path: Q,
) -> Result<SelectiveJsonExportStats, BinaryExportError>
pub fn export_lifetime_json<P: AsRef<Path>, Q: AsRef<Path>>( &mut self, binary_path: P, json_path: Q, ) -> Result<SelectiveJsonExportStats, BinaryExportError>
Export to lifetime.json format (compatible with existing format)
Sourcepub fn export_performance_json<P: AsRef<Path>, Q: AsRef<Path>>(
&mut self,
binary_path: P,
json_path: Q,
) -> Result<SelectiveJsonExportStats, BinaryExportError>
pub fn export_performance_json<P: AsRef<Path>, Q: AsRef<Path>>( &mut self, binary_path: P, json_path: Q, ) -> Result<SelectiveJsonExportStats, BinaryExportError>
Export to performance.json format (compatible with existing format)
Sourcepub fn export_unsafe_ffi_json<P: AsRef<Path>, Q: AsRef<Path>>(
&mut self,
binary_path: P,
json_path: Q,
) -> Result<SelectiveJsonExportStats, BinaryExportError>
pub fn export_unsafe_ffi_json<P: AsRef<Path>, Q: AsRef<Path>>( &mut self, binary_path: P, json_path: Q, ) -> Result<SelectiveJsonExportStats, BinaryExportError>
Export to unsafe_ffi.json format (compatible with existing format)
Sourcepub fn export_complex_types_json<P: AsRef<Path>, Q: AsRef<Path>>(
&mut self,
binary_path: P,
json_path: Q,
) -> Result<SelectiveJsonExportStats, BinaryExportError>
pub fn export_complex_types_json<P: AsRef<Path>, Q: AsRef<Path>>( &mut self, binary_path: P, json_path: Q, ) -> Result<SelectiveJsonExportStats, BinaryExportError>
Export to complex_types.json format (compatible with existing format)
Sourcepub fn export_all_standard_json_types<P: AsRef<Path>, Q: AsRef<Path>>(
&mut self,
binary_path: P,
output_dir: Q,
base_name: &str,
) -> Result<Vec<SelectiveJsonExportStats>, BinaryExportError>
pub fn export_all_standard_json_types<P: AsRef<Path>, Q: AsRef<Path>>( &mut self, binary_path: P, output_dir: Q, base_name: &str, ) -> Result<Vec<SelectiveJsonExportStats>, BinaryExportError>
Export all 5 JSON types in the standard format (compatible with existing output)
Sourcepub fn export_with_auto_field_selection<P: AsRef<Path>>(
&mut self,
binary_path: P,
json_path: P,
optimization_level: OptimizationLevel,
) -> Result<SelectiveJsonExportStats, BinaryExportError>
pub fn export_with_auto_field_selection<P: AsRef<Path>>( &mut self, binary_path: P, json_path: P, optimization_level: OptimizationLevel, ) -> Result<SelectiveJsonExportStats, BinaryExportError>
Export with automatic field selection based on file analysis
Sourcepub fn get_stats(&self) -> &SelectiveJsonExportStats
pub fn get_stats(&self) -> &SelectiveJsonExportStats
Get current export statistics
Sourcepub fn reset_stats(&mut self)
pub fn reset_stats(&mut self)
Reset export statistics
Sourcepub fn clear_caches(&mut self)
pub fn clear_caches(&mut self)
Clear all caches
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SelectiveJsonExporter
impl RefUnwindSafe for SelectiveJsonExporter
impl Send for SelectiveJsonExporter
impl Sync for SelectiveJsonExporter
impl Unpin for SelectiveJsonExporter
impl UnwindSafe for SelectiveJsonExporter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more