opensearch_client/ml/
model_profile.rs1use crate::common;
12use crate::ml;
13use serde::{Deserialize, Serialize};
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ModelProfile {
17 #[serde(rename = "predictor", default, skip_serializing_if = "Option::is_none")]
19 pub predictor: Option<String>,
20 #[serde(rename = "train", default, skip_serializing_if = "Option::is_none")]
21 pub train: Option<ml::ModelStats>,
22 #[serde(
24 rename = "model_state",
25 default,
26 skip_serializing_if = "Option::is_none"
27 )]
28 pub model_state: Option<String>,
29 #[serde(rename = "undeploy", default, skip_serializing_if = "Option::is_none")]
30 pub undeploy: Option<ml::ModelStats>,
31 #[serde(rename = "register", default, skip_serializing_if = "Option::is_none")]
32 pub register: Option<ml::ModelStats>,
33 #[serde(rename = "predict", default, skip_serializing_if = "Option::is_none")]
34 pub predict: Option<ml::ModelStats>,
35 #[serde(
37 rename = "memory_size_estimation_cpu",
38 default,
39 skip_serializing_if = "Option::is_none"
40 )]
41 pub memory_size_estimation_cpu: Option<u32>,
42 #[serde(rename = "deploy", default, skip_serializing_if = "Option::is_none")]
43 pub deploy: Option<ml::ModelStats>,
44 #[serde(
45 rename = "target_worker_nodes",
46 default,
47 skip_serializing_if = "Option::is_none"
48 )]
49 pub target_worker_nodes: Option<Vec<common::NodeIds>>,
50 #[serde(
51 rename = "train_predict",
52 default,
53 skip_serializing_if = "Option::is_none"
54 )]
55 pub train_predict: Option<ml::ModelStats>,
56 #[serde(
57 rename = "predict_request_stats",
58 default,
59 skip_serializing_if = "Option::is_none"
60 )]
61 pub predict_request_stats: Option<ml::PredictRequestStats>,
62 #[serde(rename = "execute", default, skip_serializing_if = "Option::is_none")]
63 pub execute: Option<ml::ModelStats>,
64 #[serde(
65 rename = "worker_nodes",
66 default,
67 skip_serializing_if = "Option::is_none"
68 )]
69 pub worker_nodes: Option<Vec<common::NodeIds>>,
70 #[serde(
72 rename = "memory_size_estimation_gpu",
73 default,
74 skip_serializing_if = "Option::is_none"
75 )]
76 pub memory_size_estimation_gpu: Option<u32>,
77}
78
79impl ModelProfile {
80 pub fn new() -> ModelProfile {
81 ModelProfile {
82 predictor: None,
83 train: None,
84 model_state: None,
85 undeploy: None,
86 register: None,
87 predict: None,
88 memory_size_estimation_cpu: None,
89 deploy: None,
90 target_worker_nodes: None,
91 train_predict: None,
92 predict_request_stats: None,
93 execute: None,
94 worker_nodes: None,
95 memory_size_estimation_gpu: None,
96 }
97 }
98}