use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum UnstableDashboardWidgetMetricAggregation {
#[serde(rename = "sum")]
Sum,
#[serde(rename = "avg")]
Avg,
#[serde(rename = "count")]
Count,
#[serde(rename = "max")]
Max,
#[serde(rename = "min")]
Min,
#[serde(rename = "p50")]
P50,
#[serde(rename = "p75")]
P75,
#[serde(rename = "p90")]
P90,
#[serde(rename = "p95")]
P95,
#[serde(rename = "p99")]
P99,
#[serde(rename = "histogram")]
Histogram,
#[serde(rename = "uniq")]
Uniq,
}
impl std::fmt::Display for UnstableDashboardWidgetMetricAggregation {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Sum => write!(f, "sum"),
Self::Avg => write!(f, "avg"),
Self::Count => write!(f, "count"),
Self::Max => write!(f, "max"),
Self::Min => write!(f, "min"),
Self::P50 => write!(f, "p50"),
Self::P75 => write!(f, "p75"),
Self::P90 => write!(f, "p90"),
Self::P95 => write!(f, "p95"),
Self::P99 => write!(f, "p99"),
Self::Histogram => write!(f, "histogram"),
Self::Uniq => write!(f, "uniq"),
}
}
}
impl Default for UnstableDashboardWidgetMetricAggregation {
fn default() -> UnstableDashboardWidgetMetricAggregation {
Self::Sum
}
}