NAME

Devel::MAT - analyse perl memory usage

DESCRIPTION

A Devel::MAT instance loads a heapdump file, and provides a container to store analysis tools to work on it. Tools may be provided that conform to the Devel::MAT::Tool API, which can help analyse the data and interact with the explorer user interface by using the methods in the Devel::MAT::UI package.

CONSTRUCTOR

$pmat = Devel::MAT->load( $path, %args )

Loads a heap dump file from the given path, and returns a new Devel::MAT instance wrapping it.

METHODS

$df = $pmat->dumpfile

Returns the underlying Devel::MAT::Dumpfile instance backing this analysis object.

@tools = $pmat->available_tools

Lists the Devel::MAT::Tool classes that are installed and available.

$tool = $pmat->load_tool( $name )

Loads the named Devel::MAT::Tool class.

@text = $pmat->identify( $sv )

Traces the tree of inrefs from $sv back towards the known roots, returning a textual description as a list of lines of text.

The lines of text, when printed, will form a reverse reference tree, showing the paths from the given SV back to the roots.

This method will load Devel::MAT::Tool::Inrefs if it isn't yet loaded.

$sv = $pmat->find_symbol( $name )

Attempts to walk the symbol table looking for a symbol of the given name, which must include the sigil.

$Package::Name::symbol_name => to return a SCALAR SV
@Package::Name::symbol_name => to return an ARRAY SV
%Package::Name::symbol_name => to return a HASH SV
&Package::Name::symbol_name => to return a CODE SV

$gv = $pmat->find_glob( $name )

Attempts to walk to the symbol table looking for a symbol of the given name, returning the GLOB object if found.

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>