Commit | Line | Data |
0e977dbc |
1 | |
591aba53 |
2 | Devel::SizeMe is a variant of Devel::Size that can stream out detailed |
3 | information about the size of individual data-structures and the links |
4 | between them. |
0e977dbc |
5 | |
dcd18ac4 |
6 | It can do this for the entire perl interpreter internals as well as your own |
7 | perl data structures. |
5a83b7cf |
8 | |
591aba53 |
9 | It comes with scripts for storing this data in a database and visualizing it in |
10 | various forms, including graphs and an interactive treemap. |
5a83b7cf |
11 | |
dcd18ac4 |
12 | Current implementation is alpha and rather hackish. |
5a83b7cf |
13 | |
dcd18ac4 |
14 | For more info see http://blog.timbunce.org/2012/10/05/introducing-develsizeme-visualizing-perl-memory-use/ |
15 | and http://blog.timbunce.org/tag/sizeme/ |
5a83b7cf |
16 | |
dcd18ac4 |
17 | Random TODOs: |
12ae883b |
18 | |
dcd18ac4 |
19 | Integrate changes back into Devel::Size so we can share a common core. |
20 | |
21 | Add ref count handling, per https://rt.cpan.org/Ticket/Display.html?id=79789 |
22 | Output addr as a leaf of a link node for items not scanned due to ref cnt |
23 | render those as dotted lines on the graph visualization |
24 | (and thus change from a tree to a DAG) so we can see alternate paths. |
25 | Optionally add addr to all nodes to enable visualization of memory layout |
26 | Two cases where PERL_SUBVERSION is checked with a plain || (marked XXX) |
12ae883b |
27 | |
dcd18ac4 |
28 | Restructure: |
29 | Devel::SizeMe::Core - loads XS and sets options |
30 | Devel::SizeMe - loads Devel::SizeMe::Core |
31 | -d:SizeMe=opts? |
32 | Devel::SizeMe::Stream - parse raw stream |
33 | Devel::SizeMe::Store - db write |
34 | Devel::SizeMe::Data - db read / orlite? |
35 | Devel::SizeMe::Graph - data reading/processing for sizeme_graph |
36 | sizeme_store - script wrapper for Devel::SizeMe::Store |
37 | sizeme_graph - Mojolicious app wrapper using Devel::SizeMe::Graph |
38 | Move Devel::SizeMe::Graph and co out to separate distro. |
12ae883b |
39 | |
dcd18ac4 |
40 | Tests! |
41 | Remove log scale checkbox from the treemp as it doesn't work yet |
42 | Support multiple runs to same sizeme_store process, generating separate files |
43 | Name runs to allow total_size (for example) of multiple data structures |
12ae883b |
44 | |