Struct py_spy::PythonSpy [−][src]
pub struct PythonSpy {Show fields
pub pid: Pid,
pub process: Process,
pub version: Version,
pub interpreter_address: usize,
pub threadstate_address: usize,
pub python_filename: String,
pub version_string: String,
pub config: Config,
pub native: Option<NativeStack>,
pub short_filenames: HashMap<String, Option<String>>,
pub python_thread_ids: HashMap<u64, Tid>,
pub python_thread_names: HashMap<u64, String>,
pub dockerized: bool,
}Lets you retrieve stack traces of a running python program
Fields
pid: Pidprocess: Processversion: Versioninterpreter_address: usizethreadstate_address: usizepython_filename: Stringversion_string: Stringconfig: Confignative: Option<NativeStack>short_filenames: HashMap<String, Option<String>>python_thread_ids: HashMap<u64, Tid>python_thread_names: HashMap<u64, String>dockerized: boolImplementations
impl PythonSpy[src]
impl PythonSpy[src]pub fn new(pid: Pid, config: &Config) -> Result<PythonSpy, Error>[src]
pub fn new(pid: Pid, config: &Config) -> Result<PythonSpy, Error>[src]Constructs a new PythonSpy object.
pub fn retry_new(
pid: Pid,
config: &Config,
max_retries: u64
) -> Result<PythonSpy, Error>[src]
pub fn retry_new(
pid: Pid,
config: &Config,
max_retries: u64
) -> Result<PythonSpy, Error>[src]Creates a PythonSpy object, retrying up to max_retries times. Mainly useful for the case where the process is just started and symbols or the python interpreter might not be loaded yet.
pub fn get_stack_traces(&mut self) -> Result<Vec<StackTrace>, Error>[src]
pub fn get_stack_traces(&mut self) -> Result<Vec<StackTrace>, Error>[src]Gets a StackTrace for each thread in the current process
pub fn _get_pthread_id(
&self,
unwinder: &Unwinder,
thread: &Thread,
threadids: &HashSet<u64>
) -> Result<u64, Error>[src]
&self,
unwinder: &Unwinder,
thread: &Thread,
threadids: &HashSet<u64>
) -> Result<u64, Error>
Auto Trait Implementations
impl !RefUnwindSafe for PythonSpy
impl !Send for PythonSpy
impl !Sync for PythonSpy
impl Unpin for PythonSpy
impl !UnwindSafe for PythonSpy
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,