16 # Documentation browser under "/perldoc"
21 $self->render('index');
24 get '/jit_tree/:id/:depth' => sub {
26 my $id = $self->stash('id');
27 my $depth = $self->stash('depth');
28 warn "jit_tree $id $depth";
29 my $jit_tree = _fetch_node($id, $depth, sub {
30 my ($node, $children) = @_;
31 $node->{'$area'} = $node->{self_size}+$node->{kids_size};
32 $node->{child_count} = @$children if $children;
35 name => $node->{name},
38 $jit_node->{children} = $children if $children;
43 use Data::Dump qw(pp);
44 local $jit_tree->{children};
47 $self->render_json($jit_tree);
51 my ($id, $depth, $transform) = @_;
52 my $node = MemView->selectrow_hashref("select * from node where id = ?", undef, $id);
54 if ($depth && $node->{child_seqns}) {
55 my @child_seqns = split /,/, $node->{child_seqns};
56 $children = [ map { _fetch_node($_, $depth-1, $transform) } @child_seqns ];
58 $node = $transform->($node, $children) if $transform;
68 Welcome to the Mojolicious real-time web framework!
70 @@ layouts/default.html.ep
73 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
74 <title>Perl Memory Treemap</title>
77 <link type="text/css" href="css/base.css" rel="stylesheet" />
78 <link type="text/css" href="css/Treemap.css" rel="stylesheet" />
80 <!--[if IE]><script language="javascript" type="text/javascript" src="excanvas.js"></script><![endif]-->
82 <!-- JIT Library File -->
83 <script language="javascript" type="text/javascript" src="jit.js"></script>
84 <script language="javascript" type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
87 <script language="javascript" type="text/javascript" src="sprintf.js"></script>
88 <script language="javascript" type="text/javascript" src="tm.js"></script>
91 <body onload="init();">
94 <div id="left-container">
100 Clicking on a node will show a new TreeMap with the contents of that node.<br /><br />
103 <a id="back" href="#" class="theme button white">Go to Parent</a>
106 <div id="center-container">
107 <div id="infovis"></div>
110 <div id="right-container">
112 <div id="inner-details"></div>