pub struct DebugSynchronousProxy { /* private fields */ }Implementations§
Source§impl DebugSynchronousProxy
impl DebugSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<DebugEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<DebugEvent, Error>
Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.
Sourcepub fn compact(
&self,
___deadline: MonotonicInstant,
) -> Result<DebugCompactResult, Error>
pub fn compact( &self, ___deadline: MonotonicInstant, ) -> Result<DebugCompactResult, Error>
Forces a compaction.
Sourcepub fn delete_profile(
&self,
volume: &str,
profile: &str,
___deadline: MonotonicInstant,
) -> Result<DebugDeleteProfileResult, Error>
pub fn delete_profile( &self, volume: &str, profile: &str, ___deadline: MonotonicInstant, ) -> Result<DebugDeleteProfileResult, Error>
Deletes a recorded profile from a volume. Fails if the volume isn’t mounted or there is active profile recording or replay.
Sourcepub fn record_and_replay_profile(
&self,
volume: Option<&str>,
profile: &str,
duration_secs: u32,
___deadline: MonotonicInstant,
) -> Result<DebugRecordAndReplayProfileResult, Error>
pub fn record_and_replay_profile( &self, volume: Option<&str>, profile: &str, duration_secs: u32, ___deadline: MonotonicInstant, ) -> Result<DebugRecordAndReplayProfileResult, Error>
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.
Sourcepub fn replay_xor_record_profile(
&self,
volume: &str,
profile: &str,
duration_secs: u32,
___deadline: MonotonicInstant,
) -> Result<DebugReplayXorRecordProfileResult, Error>
pub fn replay_xor_record_profile( &self, volume: &str, profile: &str, duration_secs: u32, ___deadline: MonotonicInstant, ) -> Result<DebugReplayXorRecordProfileResult, Error>
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.
Sourcepub fn stop_profile_tasks(
&self,
___deadline: MonotonicInstant,
) -> Result<DebugStopProfileTasksResult, Error>
pub fn stop_profile_tasks( &self, ___deadline: MonotonicInstant, ) -> Result<DebugStopProfileTasksResult, Error>
Stops all profile recording and replay activity. Ongoing recordings are completed and persisted.
Trait Implementations§
Source§impl Debug for DebugSynchronousProxy
impl Debug for DebugSynchronousProxy
Source§impl From<Channel> for DebugSynchronousProxy
Available on Fuchsia only.
impl From<Channel> for DebugSynchronousProxy
Source§impl From<DebugSynchronousProxy> for NullableHandle
Available on Fuchsia only.
impl From<DebugSynchronousProxy> for NullableHandle
Source§fn from(value: DebugSynchronousProxy) -> Self
fn from(value: DebugSynchronousProxy) -> Self
Source§impl FromClient for DebugSynchronousProxy
Available on Fuchsia only.
impl FromClient for DebugSynchronousProxy
Source§type Protocol = DebugMarker
type Protocol = DebugMarker
Source§fn from_client(value: ClientEnd<DebugMarker>) -> Self
fn from_client(value: ClientEnd<DebugMarker>) -> Self
Source§impl SynchronousProxy for DebugSynchronousProxy
Available on Fuchsia only.
impl SynchronousProxy for DebugSynchronousProxy
Source§type Proxy = DebugProxy
type Proxy = DebugProxy
Source§type Protocol = DebugMarker
type Protocol = DebugMarker
Proxy controls.