[][src]Trait inferno::collapse::Collapse

pub trait Collapse {
    fn collapse<R, W>(&mut self, reader: R, writer: W) -> Result<()>
    where
        R: BufRead,
        W: Write
;
fn is_applicable(&mut self, input: &str) -> Option<bool>; fn collapse_file<P, W>(
        &mut self,
        infile: Option<P>,
        writer: W
    ) -> Result<()>
    where
        P: AsRef<Path>,
        W: Write
, { ... } }

The abstract behavior of stack collapsing.

Implementors of this trait are providing a way to take the stack traces produced by a particular profiler's output (like perf script) and produce lines in the folded stack format expected by [crate::flamegraph::from_sorted_lines].

See also the crate-level documentation for details.

Required methods

fn collapse<R, W>(&mut self, reader: R, writer: W) -> Result<()> where
    R: BufRead,
    W: Write

Collapses the contents of the provided reader and writes folded stack lines to the provided writer.

fn is_applicable(&mut self, input: &str) -> Option<bool>

Returns whether this implementation is appropriate for the given input.

  • None means "not sure -- need more input"
  • Some(true) means "yes, this implementation should work with this string"
  • Some(false) means "no, this implementation definitely won't work"
Loading content...

Provided methods

fn collapse_file<P, W>(&mut self, infile: Option<P>, writer: W) -> Result<()> where
    P: AsRef<Path>,
    W: Write

Collapses the contents of a file (or of STDIN if infile is None) and writes folded stack lines to provided writer.

Loading content...

Implementors

impl Collapse for inferno::collapse::dtrace::Folder[src]

fn collapse_file<P, W>(&mut self, infile: Option<P>, writer: W) -> Result<()> where
    P: AsRef<Path>,
    W: Write
[src]

impl Collapse for inferno::collapse::guess::Folder[src]

fn collapse_file<P, W>(&mut self, infile: Option<P>, writer: W) -> Result<()> where
    P: AsRef<Path>,
    W: Write
[src]

impl Collapse for inferno::collapse::perf::Folder[src]

fn collapse_file<P, W>(&mut self, infile: Option<P>, writer: W) -> Result<()> where
    P: AsRef<Path>,
    W: Write
[src]

Loading content...