Remove stddev and direction columns
This commit is contained in:
parent
0d48e0791b
commit
2bf939186d
10 changed files with 32 additions and 116 deletions
|
|
@ -81,18 +81,14 @@ async fn save_work(
|
|||
id, \
|
||||
metric, \
|
||||
value, \
|
||||
stddev, \
|
||||
unit, \
|
||||
direction \
|
||||
unit \
|
||||
) \
|
||||
VALUES (?, ?, ?, ?, ?, ?) \
|
||||
VALUES (?, ?, ?, ?) \
|
||||
",
|
||||
run.id,
|
||||
metric,
|
||||
measurement.value,
|
||||
measurement.stddev,
|
||||
measurement.unit,
|
||||
measurement.direction,
|
||||
)
|
||||
.execute(&mut *conn)
|
||||
.await?;
|
||||
|
|
|
|||
|
|
@ -23,9 +23,7 @@ use crate::{
|
|||
struct Measurement {
|
||||
metric: String,
|
||||
value: String,
|
||||
stddev: String,
|
||||
unit: String,
|
||||
direction: &'static str,
|
||||
}
|
||||
|
||||
struct Line {
|
||||
|
|
@ -83,9 +81,7 @@ async fn from_finished_run(
|
|||
SELECT \
|
||||
metric, \
|
||||
value, \
|
||||
stddev, \
|
||||
unit, \
|
||||
direction \
|
||||
unit \
|
||||
FROM run_measurements \
|
||||
WHERE id = ? \
|
||||
ORDER BY metric ASC \
|
||||
|
|
@ -96,14 +92,7 @@ async fn from_finished_run(
|
|||
.map_ok(|r| Measurement {
|
||||
metric: r.metric,
|
||||
value: util::format_value(r.value),
|
||||
stddev: r.stddev.map(util::format_value).unwrap_or_default(),
|
||||
unit: r.unit.unwrap_or_default(),
|
||||
direction: match r.direction {
|
||||
Some(..=-1) => "less is better",
|
||||
Some(0) => "neutral",
|
||||
Some(1..) => "more is better",
|
||||
None => "",
|
||||
},
|
||||
})
|
||||
.try_collect::<Vec<_>>()
|
||||
.await?;
|
||||
|
|
|
|||
|
|
@ -55,14 +55,8 @@ pub enum Direction {
|
|||
pub struct Measurement {
|
||||
pub value: f64,
|
||||
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub stddev: Option<f64>,
|
||||
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub unit: Option<String>,
|
||||
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub direction: Option<Direction>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Serialize, Deserialize)]
|
||||
|
|
|
|||
|
|
@ -8,11 +8,7 @@ use std::{
|
|||
use regex::RegexBuilder;
|
||||
use walkdir::WalkDir;
|
||||
|
||||
use crate::{
|
||||
shared::{Direction, Measurement},
|
||||
somehow,
|
||||
worker::server::Server,
|
||||
};
|
||||
use crate::{shared::Measurement, somehow, worker::server::Server};
|
||||
|
||||
use super::{Finished, RunInProgress};
|
||||
|
||||
|
|
@ -110,70 +106,47 @@ fn count(path: &Path) -> somehow::Result<Counts> {
|
|||
Ok(counts)
|
||||
}
|
||||
|
||||
fn measurement(value: f64, direction: Direction) -> Measurement {
|
||||
Measurement {
|
||||
value,
|
||||
stddev: None,
|
||||
unit: None,
|
||||
direction: Some(direction),
|
||||
}
|
||||
fn measurement(value: f64) -> Measurement {
|
||||
Measurement { value, unit: None }
|
||||
}
|
||||
|
||||
fn measurements(counts: Counts) -> HashMap<String, Measurement> {
|
||||
let mut measurements = HashMap::new();
|
||||
|
||||
// Files
|
||||
measurements.insert(
|
||||
"files".to_string(),
|
||||
measurement(counts.files as f64, Direction::Neutral),
|
||||
);
|
||||
measurements.insert("files".to_string(), measurement(counts.files as f64));
|
||||
for (ext, count) in counts.files_by_ext {
|
||||
measurements.insert(
|
||||
format!("files/by extension/{ext}"),
|
||||
measurement(count as f64, Direction::Neutral),
|
||||
measurement(count as f64),
|
||||
);
|
||||
}
|
||||
for (dir, count) in counts.files_by_dir {
|
||||
measurements.insert(
|
||||
format!("files/by dir/{dir}/"),
|
||||
measurement(count as f64, Direction::Neutral),
|
||||
);
|
||||
measurements.insert(format!("files/by dir/{dir}/"), measurement(count as f64));
|
||||
}
|
||||
|
||||
// Lines
|
||||
measurements.insert(
|
||||
"lines".to_string(),
|
||||
measurement(counts.lines as f64, Direction::Neutral),
|
||||
);
|
||||
measurements.insert("lines".to_string(), measurement(counts.lines as f64));
|
||||
for (ext, count) in counts.lines_by_ext {
|
||||
measurements.insert(
|
||||
format!("lines/by extension/{ext}"),
|
||||
measurement(count as f64, Direction::Neutral),
|
||||
measurement(count as f64),
|
||||
);
|
||||
}
|
||||
for (dir, count) in counts.lines_by_dir {
|
||||
measurements.insert(
|
||||
format!("lines/by dir/{dir}/"),
|
||||
measurement(count as f64, Direction::Neutral),
|
||||
);
|
||||
measurements.insert(format!("lines/by dir/{dir}/"), measurement(count as f64));
|
||||
}
|
||||
|
||||
// Todos
|
||||
measurements.insert(
|
||||
"todos".to_string(),
|
||||
measurement(counts.todos as f64, Direction::LessIsBetter),
|
||||
);
|
||||
measurements.insert("todos".to_string(), measurement(counts.todos as f64));
|
||||
for (ext, count) in counts.todos_by_ext {
|
||||
measurements.insert(
|
||||
format!("todos/by extension/{ext}"),
|
||||
measurement(count as f64, Direction::LessIsBetter),
|
||||
measurement(count as f64),
|
||||
);
|
||||
}
|
||||
for (dir, count) in counts.todos_by_dir {
|
||||
measurements.insert(
|
||||
format!("todos/by dir/{dir}/"),
|
||||
measurement(count as f64, Direction::LessIsBetter),
|
||||
);
|
||||
measurements.insert(format!("todos/by dir/{dir}/"), measurement(count as f64));
|
||||
}
|
||||
|
||||
measurements
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue