Fix json output in the self-profiler

Fix missing ',' array element separators and convert NaN's to 0.
This commit is contained in:
Wesley Wiser 2018-11-19 23:26:00 -05:00
parent 31fa30145e
commit c7dc868ed7

View file

@ -93,16 +93,27 @@ macro_rules! define_categories {
$(
let (hits, total) = self.query_counts.$name;
//normalize hits to 0%
let hit_percent =
if total > 0 {
((hits as f32) / (total as f32)) * 100.0
} else {
0.0
};
json.push_str(&format!(
"{{ \"category\": {}, \"time_ms\": {},
\"query_count\": {}, \"query_hits\": {} }}",
\"query_count\": {}, \"query_hits\": {} }},",
stringify!($name),
self.times.$name / 1_000_000,
total,
format!("{:.2}", (((hits as f32) / (total as f32)) * 100.0))
format!("{:.2}", hit_percent)
));
)*
//remove the trailing ',' character
json.pop();
json.push(']');
json