added report count per os chart

This commit is contained in:
2026-04-12 10:57:27 +02:00
parent 0ec29a70c3
commit fe6b58c140
3 changed files with 42 additions and 1 deletions

View File

@@ -275,6 +275,8 @@ pub struct AnalyticsData {
pub os_max_scores: Vec<u64>,
pub os_min_labels: Vec<String>,
pub os_min_scores: Vec<u64>,
pub os_count_labels: Vec<String>,
pub os_count_values: Vec<u32>,
pub dist_labels: Vec<String>,
pub dist_counts: Vec<u32>,
pub avg_score_per_gb: f32,
@@ -298,6 +300,7 @@ pub async fn analytics_handler(
entry.1 += 1;
}
let mut os_stats: Vec<(String, u64)> = os_map
.clone()
.into_iter()
.map(|(os, (sum, count))| (os, sum / count as u64))
.collect();
@@ -330,6 +333,13 @@ pub async fn analytics_handler(
let mut os_min_stats: Vec<(String, u64)> = os_min_map.into_iter().collect();
os_min_stats.sort_by(|a, b| b.1.cmp(&a.1));
// Count of each OS
let mut os_counts: Vec<(String, u32)> = os_map
.iter()
.map(|(os, (_, count))| (os.clone(), *count))
.collect();
os_counts.sort_by(|a, b| b.1.cmp(&a.1));
// Score distribution
let min_score = reports.iter().map(|r| r.score).min().unwrap_or(0);
let max_score = reports.iter().map(|r| r.score).max().unwrap_or(0);
@@ -376,6 +386,8 @@ pub async fn analytics_handler(
os_max_scores: os_max_stats.iter().map(|x| x.1).collect(),
os_min_labels: os_min_stats.iter().map(|x| x.0.clone()).collect(),
os_min_scores: os_min_stats.iter().map(|x| x.1).collect(),
os_count_labels: os_counts.iter().map(|x| x.0.clone()).collect(),
os_count_values: os_counts.iter().map(|x| x.1).collect(),
dist_labels,
dist_counts,
avg_score_per_gb,