Why not adopt me?
NAME
sizeme_store.pl - process and store the raw data stream from Devel::SizeMe
SYNOPSIS
sizeme_store.pl [--text] [--dot=sizeme.dot] [--db=sizeme.db]
Typically used with Devel::SizeMe via the SIZEME
env var:
export SIZEME='|sizeme_store.pl --text'
export SIZEME='|sizeme_store.pl --dot=sizeme.dot'
export SIZEME='|sizeme_store.pl --db=sizeme.db'
DESCRIPTION
Reads the raw memory data from Devel::SizeMe and processes the tree via a stack, propagating data such as totals, up the tree nodes as the data streams through. Output completed nodes in the request formats.
The --text output is similar to the textual representation output by the module when the SIZEME env var is set to an empty string.
The --dot output is suitable for feeding to Graphviz. (On OSX the Graphviz application will be started automatically.)
The --db output is a SQLite database. The db schema is very subject to change. This output is destined to be the primary one. The other output types will probably become separate programs that read the db.
TODO
Current implementation is all very alpha and rather hackish.
Refactor to separate the core code into a module.
Move the output formats into separate modules, which should probably read from the db so the db becomes the canonical source of data.
Import constants from XS.
SV(PVAV) fill=1/1 [#1 @0] : +64 sv =64 : +16 av_max =80 : AVelem-> [#2 @1] : : SV(RV) [#3 @2] : : : +24 sv =104 : : : RV-> [#4 @3] : : : : SV(PVAV) fill=-1/-1 [#5 @4] : : : : : +64 sv =168 : AVelem-> [#6 @1] : : SV(IV) [#7 @2] : : : +24 sv =192 192 at -e line 1.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 813:
=pod directives shouldn't be over one line long! Ignoring all 6 lines of content