diff options
| author | Henry Gressmann <mail@henrygressmann.de> | 2024-06-30 19:19:45 +0200 |
|---|---|---|
| committer | Henry Gressmann <mail@henrygressmann.de> | 2024-06-30 19:19:45 +0200 |
| commit | 9c85fa9c3a2066ce851af53d7019e6a25a45af3b (patch) | |
| tree | 79e6608e97f08c0ebdb64125b0c658f5cc4bb33f /scripts/src/bin/generate-charts/progress.rs | |
| parent | 7e8770cc4e418ef1a8cdfd9b1f59ee14b07cc6c9 (diff) | |
chore: restructure runtime and reduce build dependencies
Signed-off-by: Henry Gressmann <mail@henrygressmann.de>
Diffstat (limited to 'scripts/src/bin/generate-charts/progress.rs')
| -rw-r--r-- | scripts/src/bin/generate-charts/progress.rs | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/scripts/src/bin/generate-charts/progress.rs b/scripts/src/bin/generate-charts/progress.rs deleted file mode 100644 index 3cc3c26..0000000 --- a/scripts/src/bin/generate-charts/progress.rs +++ /dev/null @@ -1,76 +0,0 @@ -use eyre::Result; -use plotters::prelude::*; -use std::fs::File; -use std::io::{self, BufRead}; -use std::path::Path; - -const FONT: &str = "Victor Mono"; - -pub fn create_progress_chart(name: &str, csv_path: &Path, output_path: &Path) -> Result<()> { - let file = File::open(csv_path)?; - let reader = io::BufReader::new(file); - - let mut max_tests = 0; - let mut data: Vec<u32> = Vec::new(); - let mut versions: Vec<String> = Vec::new(); - - for line in reader.lines() { - let line = line?; - let parts: Vec<&str> = line.split(',').collect(); - - if parts.len() > 3 { - let version = format!("v{}", parts[0]); - let passed: u32 = parts[1].parse()?; - let failed: u32 = parts[2].parse()?; - let total = failed + passed; - - if total > max_tests { - max_tests = total; - } - - versions.push(version); - data.push(passed); - } - } - - let root_area = SVGBackend::new(output_path, (1000, 400)).into_drawing_area(); - root_area.fill(&WHITE)?; - - let mut chart = ChartBuilder::on(&root_area) - .x_label_area_size(45) - .y_label_area_size(70) - .margin(10) - .margin_top(20) - .caption(name, (FONT, 30.0, FontStyle::Bold)) - .build_cartesian_2d((0..(versions.len() - 1) as u32).into_segmented(), 0..max_tests)?; - - chart - .configure_mesh() - .light_line_style(TRANSPARENT) - .bold_line_style(BLACK.mix(0.3)) - .max_light_lines(10) - .disable_x_mesh() - .y_desc("Tests Passed") - .y_label_style((FONT, 15)) - .x_desc("TinyWasm Version") - .x_labels((versions.len()).min(4)) - .x_label_style((FONT, 15)) - .x_label_formatter(&|x| { - let SegmentValue::CenterOf(value) = x else { - return "".to_string(); - }; - let v = versions.get(*value as usize).unwrap_or(&"".to_string()).to_string(); - format!("{} ({})", v, data[*value as usize]) - }) - .axis_desc_style((FONT, 15, FontStyle::Bold)) - .draw()?; - - chart.draw_series( - Histogram::vertical(&chart) - .style(BLUE.mix(0.5).filled()) - .data(data.iter().enumerate().map(|(x, y)| (x as u32, *y))), - )?; - - root_area.present()?; - Ok(()) -} |
