windmill_api/models/
worker_ping.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct WorkerPing {
16 #[serde(rename = "worker")]
17 pub worker: String,
18 #[serde(rename = "worker_instance")]
19 pub worker_instance: String,
20 #[serde(rename = "last_ping", skip_serializing_if = "Option::is_none")]
21 pub last_ping: Option<f64>,
22 #[serde(rename = "started_at")]
23 pub started_at: String,
24 #[serde(rename = "ip")]
25 pub ip: String,
26 #[serde(rename = "jobs_executed")]
27 pub jobs_executed: i32,
28 #[serde(rename = "custom_tags", skip_serializing_if = "Option::is_none")]
29 pub custom_tags: Option<Vec<String>>,
30 #[serde(rename = "worker_group")]
31 pub worker_group: String,
32 #[serde(rename = "wm_version")]
33 pub wm_version: String,
34 #[serde(rename = "last_job_id", skip_serializing_if = "Option::is_none")]
35 pub last_job_id: Option<String>,
36 #[serde(rename = "last_job_workspace_id", skip_serializing_if = "Option::is_none")]
37 pub last_job_workspace_id: Option<String>,
38 #[serde(rename = "occupancy_rate", skip_serializing_if = "Option::is_none")]
39 pub occupancy_rate: Option<f64>,
40 #[serde(rename = "occupancy_rate_15s", skip_serializing_if = "Option::is_none")]
41 pub occupancy_rate_15s: Option<f64>,
42 #[serde(rename = "occupancy_rate_5m", skip_serializing_if = "Option::is_none")]
43 pub occupancy_rate_5m: Option<f64>,
44 #[serde(rename = "occupancy_rate_30m", skip_serializing_if = "Option::is_none")]
45 pub occupancy_rate_30m: Option<f64>,
46 #[serde(rename = "memory", skip_serializing_if = "Option::is_none")]
47 pub memory: Option<f64>,
48 #[serde(rename = "vcpus", skip_serializing_if = "Option::is_none")]
49 pub vcpus: Option<f64>,
50 #[serde(rename = "memory_usage", skip_serializing_if = "Option::is_none")]
51 pub memory_usage: Option<f64>,
52 #[serde(rename = "wm_memory_usage", skip_serializing_if = "Option::is_none")]
53 pub wm_memory_usage: Option<f64>,
54}
55
56impl WorkerPing {
57 pub fn new(worker: String, worker_instance: String, started_at: String, ip: String, jobs_executed: i32, worker_group: String, wm_version: String) -> WorkerPing {
58 WorkerPing {
59 worker,
60 worker_instance,
61 last_ping: None,
62 started_at,
63 ip,
64 jobs_executed,
65 custom_tags: None,
66 worker_group,
67 wm_version,
68 last_job_id: None,
69 last_job_workspace_id: None,
70 occupancy_rate: None,
71 occupancy_rate_15s: None,
72 occupancy_rate_5m: None,
73 occupancy_rate_30m: None,
74 memory: None,
75 vcpus: None,
76 memory_usage: None,
77 wm_memory_usage: None,
78 }
79 }
80}
81