swarm repositories / source
aboutsummaryrefslogtreecommitdiff
path: root/crates/fidget-spinner-cli/src/main.rs
diff options
context:
space:
mode:
authormain <main@swarm.moe>2026-03-20 23:31:29 -0400
committermain <main@swarm.moe>2026-03-20 23:31:29 -0400
commit3a523c3c8ac1bf9094dbe65a6f53b71085438c0c (patch)
tree5055c0e64f3024059221d341f3b81434cae34586 /crates/fidget-spinner-cli/src/main.rs
parenteb0f0f73b7da9d76ff6833757fd265725d3e4b14 (diff)
downloadfidget_spinner-3a523c3c8ac1bf9094dbe65a6f53b71085438c0c.zip
Open the metric unit vocabulary
Diffstat (limited to 'crates/fidget-spinner-cli/src/main.rs')
-rw-r--r--crates/fidget-spinner-cli/src/main.rs27
1 files changed, 3 insertions, 24 deletions
diff --git a/crates/fidget-spinner-cli/src/main.rs b/crates/fidget-spinner-cli/src/main.rs
index 2c026d1..7482794 100644
--- a/crates/fidget-spinner-cli/src/main.rs
+++ b/crates/fidget-spinner-cli/src/main.rs
@@ -493,8 +493,8 @@ struct MetricDefineArgs {
project: ProjectArg,
#[arg(long)]
key: String,
- #[arg(long, value_enum)]
- unit: CliMetricUnit,
+ #[arg(long)]
+ unit: String,
#[arg(long, value_enum)]
objective: CliOptimizationObjective,
#[arg(long, value_enum, default_value_t = CliMetricVisibility::Canonical)]
@@ -582,15 +582,6 @@ struct SkillShowArgs {
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, ValueEnum)]
-enum CliMetricUnit {
- Seconds,
- Bytes,
- Count,
- Ratio,
- Custom,
-}
-
-#[derive(Clone, Copy, Debug, Eq, PartialEq, ValueEnum)]
enum CliOptimizationObjective {
Minimize,
Maximize,
@@ -995,7 +986,7 @@ fn run_metric_define(args: MetricDefineArgs) -> Result<(), StoreError> {
let mut store = open_store(&args.project.project)?;
print_json(&store.define_metric(DefineMetricRequest {
key: NonEmptyText::new(args.key)?,
- unit: args.unit.into(),
+ unit: MetricUnit::new(args.unit)?,
objective: args.objective.into(),
visibility: args.visibility.into(),
description: args.description.map(NonEmptyText::new).transpose()?,
@@ -1398,18 +1389,6 @@ fn print_json(value: &impl Serialize) -> Result<(), StoreError> {
Ok(())
}
-impl From<CliMetricUnit> for MetricUnit {
- fn from(value: CliMetricUnit) -> Self {
- match value {
- CliMetricUnit::Seconds => Self::Seconds,
- CliMetricUnit::Bytes => Self::Bytes,
- CliMetricUnit::Count => Self::Count,
- CliMetricUnit::Ratio => Self::Ratio,
- CliMetricUnit::Custom => Self::Custom,
- }
- }
-}
-
impl From<CliOptimizationObjective> for OptimizationObjective {
fn from(value: CliOptimizationObjective) -> Self {
match value {