From 73028972e05a9b6eef1703aaa0dd9094720ff4dc Mon Sep 17 00:00:00 2001 From: DastInDark <2350416+hitenkoku@users.noreply.github.com> Date: Thu, 11 Aug 2022 20:10:27 +0900 Subject: [PATCH 1/3] added output percentage of detections in result summary #658 --- src/afterfact.rs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/afterfact.rs b/src/afterfact.rs index 7be9dec8..f16c35b7 100644 --- a/src/afterfact.rs +++ b/src/afterfact.rs @@ -437,6 +437,10 @@ fn _print_unique_results( // the order in which are registered and the order of levels to be displayed are reversed counts_by_level.reverse(); + + let total_count = counts_by_level + .iter() + .sum::(); // output total results write_color_buffer( &BufferWriter::stdout(ColorChoice::Always), @@ -445,10 +449,7 @@ fn _print_unique_results( "{} {}: {}", head_word, tail_word, - counts_by_level - .iter() - .sum::() - .to_formatted_string(&Locale::en), + total_count.to_formatted_string(&Locale::en), ), true, ) @@ -458,12 +459,18 @@ fn _print_unique_results( if "undefined" == *level_name { continue; } + let percent = if total_count == 0 { + 0 as f64 + } else { + (counts_by_level[i] as f64) / (total_count as f64) * 100.0 + }; let output_raw_str = format!( - "{} {} {}: {}", + "{} {} {}: {} ({:.2}%)", head_word, level_name, tail_word, - counts_by_level[i].to_formatted_string(&Locale::en) + counts_by_level[i].to_formatted_string(&Locale::en), + percent ); write_color_buffer( &BufferWriter::stdout(ColorChoice::Always), From 8e155d8000d02874cf4a873d7ca80d1f6cb7c363 Mon Sep 17 00:00:00 2001 From: DastInDark <2350416+hitenkoku@users.noreply.github.com> Date: Thu, 11 Aug 2022 20:12:38 +0900 Subject: [PATCH 2/3] updated changelog #658 --- CHANGELOG-Japanese.md | 1 + CHANGELOG.md | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG-Japanese.md b/CHANGELOG-Japanese.md index f0042e46..ca3fab90 100644 --- a/CHANGELOG-Japanese.md +++ b/CHANGELOG-Japanese.md @@ -12,6 +12,7 @@ - ルールのアップデート機能のルールパスの出力から./を削除した。 (#642) (@hitenkoku) - MITRE ATT&CK関連のタグとその他タグを出力するための出力用のエイリアスを追加した。 (#637) (@hitenkoku) - 結果概要の数値をカンマをつけて見やすくした。 (#649) (@hitenkoku) +- 結果概要内の検知数にパーセント表示を追加した。 (#658) (@hitenkoku) **バグ修正:** diff --git a/CHANGELOG.md b/CHANGELOG.md index a14081c8..ad6d4f1b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ - Removed ./ from rule path when updating. (#642) (@hitenkoku) - Added new output alias for MITRE ATT&CK tags and other tags. (#637) (@hitenkoku) - Added commas to summary numbers to make them easier to read. (#649) (@hitenkoku) +- Added output percentage of detections in Result Summary. (#658) (@hitenkoku) **Bug Fixes:** From 1491ecba07347bc8b3cc9ead366e04dadcea9ddc Mon Sep 17 00:00:00 2001 From: DastInDark <2350416+hitenkoku@users.noreply.github.com> Date: Thu, 11 Aug 2022 20:18:31 +0900 Subject: [PATCH 3/3] cargo fmt --- src/afterfact.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/afterfact.rs b/src/afterfact.rs index f16c35b7..21ce0ffb 100644 --- a/src/afterfact.rs +++ b/src/afterfact.rs @@ -437,10 +437,7 @@ fn _print_unique_results( // the order in which are registered and the order of levels to be displayed are reversed counts_by_level.reverse(); - - let total_count = counts_by_level - .iter() - .sum::(); + let total_count = counts_by_level.iter().sum::(); // output total results write_color_buffer( &BufferWriter::stdout(ColorChoice::Always),