From: Tim Bunce Date: Fri, 26 Oct 2012 09:15:31 +0000 (+0100) Subject: Update README X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=refs%2Fheads%2Ftim-20120930-sizeme;p=p5sagit%2FDevel-Size.git Update README --- diff --git a/README b/README index 847f09b..d15b99c 100644 --- a/README +++ b/README @@ -3,34 +3,42 @@ Devel::SizeMe is a variant of Devel::Size that can stream out detailed information about the size of individual data-structures and the links between them. -It can do this the entire perl interpreter as well as specific data structures. +It can do this for the entire perl interpreter internals as well as your own +perl data structures. It comes with scripts for storing this data in a database and visualizing it in various forms, including graphs and an interactive treemap. -Current implementation is all very alpha and rather hackish. +Current implementation is alpha and rather hackish. +For more info see http://blog.timbunce.org/2012/10/05/introducing-develsizeme-visualizing-perl-memory-use/ +and http://blog.timbunce.org/tag/sizeme/ -TODO: +Random TODOs: - Remove log scale checkboc from the treemp as it doesn't work yet - Devel::SizeMe::Core - loads XS and sets options - Devel::SizeMe - loads Devel::SizeMe::Core - -d:SizeMe=opts? - Devel::SizeMe::Stream - parse raw stream - Devel::SizeMe::Store - db write - Devel::SizeMe::Data - db read / orlite? - Devel::SizeMe::Graph - data reading/processing for sizeme_graph - sizeme_store - script wrapper for Devel::SizeMe::Store - sizeme_graph - Mojolicious app wrapper using Devel::SizeMe::Graph - tests! - Support multiple runs to same sizeme_store process, generating separate files - Name runs to allow total_size (for example) of multiple data structures + Integrate changes back into Devel::Size so we can share a common core. + + Add ref count handling, per https://rt.cpan.org/Ticket/Display.html?id=79789 + Output addr as a leaf of a link node for items not scanned due to ref cnt + render those as dotted lines on the graph visualization + (and thus change from a tree to a DAG) so we can see alternate paths. + Optionally add addr to all nodes to enable visualization of memory layout + Two cases where PERL_SUBVERSION is checked with a plain || (marked XXX) - two cases where PERL_SUBVERSION is checked with a plain || (marked XXX) + Restructure: + Devel::SizeMe::Core - loads XS and sets options + Devel::SizeMe - loads Devel::SizeMe::Core + -d:SizeMe=opts? + Devel::SizeMe::Stream - parse raw stream + Devel::SizeMe::Store - db write + Devel::SizeMe::Data - db read / orlite? + Devel::SizeMe::Graph - data reading/processing for sizeme_graph + sizeme_store - script wrapper for Devel::SizeMe::Store + sizeme_graph - Mojolicious app wrapper using Devel::SizeMe::Graph + Move Devel::SizeMe::Graph and co out to separate distro. - Add addr to leaf to enable visualization of memory layout + Tests! + Remove log scale checkbox from the treemp as it doesn't work yet + Support multiple runs to same sizeme_store process, generating separate files + Name runs to allow total_size (for example) of multiple data structures - Add token for ptr to node already seen (identified by addr I presume) - so we can move from a Tree to a DAG and see alternative name paths - and reference loops