output summary numbers with commas #649

This commit is contained in:
DastInDark
2022-08-08 23:16:44 +09:00
parent 8712800c5b
commit b1eba5e039
3 changed files with 35 additions and 7 deletions

28
Cargo.lock generated
View File

@@ -49,6 +49,15 @@ version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
[[package]]
name = "arrayvec"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9"
dependencies = [
"nodrop",
]
[[package]]
name = "arrayvec"
version = "0.5.2"
@@ -97,7 +106,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587"
dependencies = [
"arrayref",
"arrayvec",
"arrayvec 0.5.2",
"constant_time_eq",
]
@@ -728,6 +737,7 @@ dependencies = [
"lazy_static",
"linked-hash-map",
"lock_api",
"num-format",
"num_cpus",
"openssl",
"pbr",
@@ -1109,6 +1119,12 @@ dependencies = [
"windows-sys",
]
[[package]]
name = "nodrop"
version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
[[package]]
name = "num-derive"
version = "0.3.3"
@@ -1120,6 +1136,16 @@ dependencies = [
"syn",
]
[[package]]
name = "num-format"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bafe4179722c2894288ee77a9f044f02811c86af699344c498b0840c698a2465"
dependencies = [
"arrayvec 0.4.12",
"itoa 0.4.8",
]
[[package]]
name = "num-integer"
version = "0.1.45"

View File

@@ -37,6 +37,7 @@ bytesize = "1.*"
hyper = "0.14.*"
lock_api = "0.4.*"
crossbeam-utils = "0.8.*"
num-format = "*"
[build-dependencies]
static_vcruntime = "2.*"

View File

@@ -14,6 +14,7 @@ use lazy_static::lazy_static;
use linked_hash_map::LinkedHashMap;
use hashbrown::{HashMap, HashSet};
use num_format::{ToFormattedString, Locale};
use std::cmp::min;
use std::error::Error;
@@ -334,7 +335,7 @@ fn emit_csv<W: std::io::Write>(
write_color_buffer(
&disp_wtr,
get_writable_color(None),
&format!("Total events: {}", all_record_cnt),
&format!("Total events: {}", all_record_cnt.to_formatted_string(&Locale::en)),
true,
)
.ok();
@@ -343,7 +344,7 @@ fn emit_csv<W: std::io::Write>(
get_writable_color(None),
&format!(
"Data reduction: {} events ({:.2}%)",
reducted_record_cnt, reducted_percent
reducted_record_cnt.to_formatted_string(&Locale::en), reducted_percent
),
true,
)
@@ -440,7 +441,7 @@ fn _print_unique_results(
"{} {}: {}",
head_word,
tail_word,
counts_by_level.iter().sum::<u128>(),
counts_by_level.iter().sum::<u128>().to_formatted_string(&Locale::en),
),
true,
)
@@ -452,7 +453,7 @@ fn _print_unique_results(
}
let output_raw_str = format!(
"{} {} {}: {}",
head_word, level_name, tail_word, counts_by_level[i]
head_word, level_name, tail_word, counts_by_level[i].to_formatted_string(&Locale::en)
);
write_color_buffer(
&BufferWriter::stdout(ColorChoice::Always),
@@ -482,7 +483,7 @@ fn _print_detection_summary_by_date(
for (date, cnt) in detections_by_day {
if cnt > &tmp_cnt {
exist_max_data = true;
max_detect_str = format!("{} ({})", date, cnt);
max_detect_str = format!("{} ({})", date, cnt.to_formatted_string(&Locale::en));
tmp_cnt = *cnt;
}
}
@@ -527,7 +528,7 @@ fn _print_detection_summary_by_computer(
sorted_detections.sort_by(|a, b| (-a.1).cmp(&(-b.1)));
for x in sorted_detections.iter().take(5) {
result_vec.push(format!("{} ({})", x.0, x.1));
result_vec.push(format!("{} ({})", x.0, x.1.to_formatted_string(&Locale::en)));
}
let result_str = if result_vec.is_empty() {
"n/a".to_string()