1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use std::collections::HashMap;

use serde::{Deserialize, Serialize};

use crate::models::node_score_meta::NodeScoreMeta;

#[derive(Clone, Debug, Default, Deserialize, Serialize)]
#[serde(rename_all = "PascalCase")]
pub struct AllocationMetric {
    pub nodes_evaluated: Option<i32>,
    pub nodes_filtered: Option<i32>,
    pub nodes_available: Option<HashMap<String, i32>>,
    pub class_filtered: Option<HashMap<String, i32>>,
    pub constraint_filtered: Option<HashMap<String, i32>>,
    pub nodes_exhausted: Option<i32>,
    pub class_exhausted: Option<HashMap<String, i32>>,
    pub dimension_exhausted: Option<HashMap<String, i32>>,
    pub quota_exhausted: Option<Vec<String>>,
    pub scores: Option<HashMap<String, f64>>,
    pub allocation_time: Option<i64>,
    pub coalesced_failures: Option<i32>,
    pub score_meta_data: Option<Vec<NodeScoreMeta>>,
}