pub enum DebugRequest {
Compact {
responder: DebugCompactResponder,
},
DeleteProfile {
volume: String,
profile: String,
responder: DebugDeleteProfileResponder,
},
RecordAndReplayProfile {
volume: Option<String>,
profile: String,
duration_secs: u32,
responder: DebugRecordAndReplayProfileResponder,
},
ReplayXorRecordProfile {
volume: String,
profile: String,
duration_secs: u32,
responder: DebugReplayXorRecordProfileResponder,
},
StopProfileTasks {
responder: DebugStopProfileTasksResponder,
},
}Expand description
This is an internal protocol for on-device debugging and testing only.
See ffx fxfs help for more details.
Variants§
Compact
Forces a compaction.
Fields
responder: DebugCompactResponderDeleteProfile
Deletes a recorded profile from a volume. Fails if the volume isn’t mounted or there is active profile recording or replay.
RecordAndReplayProfile
Begins recording a profile for a named volume for up to the given duration in seconds. If a profile already exists under the given name then it will begin replaying it as well. Fails if the volume isn’t mounted or there is active profile recording or replay on the volume. Page faults for objects that do not get opened by a caller during the recording period will will be filtered out of the profile.
This “record-while-replaying” strategy is meant to support boot-profiling in an environment where we don’t explicitly know when the system has updated. By recording during replay and filtering objects without open events, Fxfs drops dead/replaced objects to refresh the profile.
Fields
responder: DebugRecordAndReplayProfileResponderReplayXorRecordProfile
Replays a profile if one exists, and only records if one does not exist. Fails if the volume isn’t mounted or there is active profile recording or replay on the volume.
This profile method is meant to support app launch profiling. These profiles do not filter entries based on Open events since outside of the boot process objects may already be opened or cached in overlays like Starnix.
Fields
responder: DebugReplayXorRecordProfileResponderStopProfileTasks
Stops all profile recording and replay activity. Ongoing recordings are completed and persisted.
Fields
responder: DebugStopProfileTasksResponderImplementations§
Source§impl DebugRequest
impl DebugRequest
pub fn into_compact(self) -> Option<DebugCompactResponder>
pub fn into_delete_profile( self, ) -> Option<(String, String, DebugDeleteProfileResponder)>
pub fn into_record_and_replay_profile( self, ) -> Option<(Option<String>, String, u32, DebugRecordAndReplayProfileResponder)>
pub fn into_replay_xor_record_profile( self, ) -> Option<(String, String, u32, DebugReplayXorRecordProfileResponder)>
pub fn into_stop_profile_tasks(self) -> Option<DebugStopProfileTasksResponder>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL