commit 3770ef0618aaa8a1be85b620d64c0ac3397245eb
Author: ygrek <ygrek@autistici.org>
Date:   Sun Sep 5 11:20:56 2010 +0300

    add filter for memstats

diff --git src/utils/cdk/heap.ml src/utils/cdk/heap.ml
index c166983..9f04c7e 100644
--- src/utils/cdk/heap.ml
+++ src/utils/cdk/heap.ml
@@ -36,7 +36,7 @@ let _ =
     Printf.bprintf buf "allocated_bytes: %.0f\n" ab;
   )
 
-let print_memstats (level : int) buf use_html_mods =
+let print_memstats (level : int) ?filter buf use_html_mods =
   let level = if level < 0 then begin
         Gc.compact (); -level
       end else level in
@@ -50,7 +50,9 @@ let print_memstats (level : int) buf use_html_mods =
       html_mods_cntr_init ();
 
       List.iter (fun (m,f) ->
-
+       let ok = match filter with None -> true | Some name when name = m -> true | _ -> false in
+       if ok then
+       begin
          Printf.bprintf buf "\\<tr class=\\\"dl-%d\\\"\\>" (html_mods_cntr());
          html_mods_td buf [ ("", "srh", m); ];
          Printf.bprintf buf "\\</tr\\>";
@@ -68,7 +70,7 @@ let print_memstats (level : int) buf use_html_mods =
 
               ) listtmp);
 
-          ) memstat_list;
+        end) memstat_list;
       Printf.bprintf buf "\\</table\\>\\</div\\>\n";
 
     end
@@ -78,10 +80,14 @@ let print_memstats (level : int) buf use_html_mods =
     begin
       Printf.bprintf buf "Memory Debug Stats:\n";
       List.iter (fun (m,f) ->
-          Printf.bprintf buf "\n----------------------------------\n";
-          Printf.bprintf buf "  Module %s:\n" m ;      
-          Printf.bprintf buf "----------------------------------\n";
-          f level buf
+          let ok = match filter with None -> true | Some name when name = m -> true | _ -> false in
+          if ok then
+          begin
+            Printf.bprintf buf "\n----------------------------------\n";
+            Printf.bprintf buf "  Module %s:\n" m ;      
+            Printf.bprintf buf "----------------------------------\n";
+            f level buf
+          end
       ) memstat_list;
     end;
 
