method private record_and_clear_function_metrics metrics =
let filename = metrics.cfile_name
and funcname = metrics.cfunc_name in
(try
let fun_tbl = Datatype.String.Map.find filename metrics_map in
self#update_metrics_map filename
(Datatype.String.Map.add funcname !local_metrics fun_tbl);
with
| Not_found ->
let new_stringmap =
Datatype.String.Map.add funcname !local_metrics Datatype.String.Map.empty in
self#update_metrics_map filename new_stringmap;
);
local_metrics := empty_metrics;