devops_armory/monitoring/gke/cpu/
calculated.rs1use std::{
2 thread::
3 sleep,
4 time
5};
6
7use super::usage::{
8 cpu_usage_cfgroup2,
9 cpu_usage_cfgroup1
10};
11
12pub async fn cpu_calculated_stg_cfgroup2(
15 token: String,
16 gke_cluster_endpoint: String,
17 gke_cluster_namespace: String,
18 gke_pod_name: String,
19 cpu: f64
20) -> Result<f64, std::io::Error> {
21
22 let cpu_use_old = cpu_usage_cfgroup2(
23 token.clone(),
24 gke_cluster_endpoint.clone(),
25 gke_cluster_namespace.clone(),
26 gke_pod_name.clone())
27 .await.unwrap();
28
29 let cpu_use_new = cpu_usage_cfgroup2(
30 token.clone(),
31 gke_cluster_endpoint.clone(),
32 gke_cluster_namespace.clone(),
33 gke_pod_name.clone())
34 .await.unwrap();
35
36 loop {
37 let cpu_1 = cpu_use_old;
38
39 sleep(time::Duration::from_millis(1000));
40
41 let cpu_2 = cpu_use_new;
42 let cpu_actual_usage = (cpu_2 - cpu_1) / 1000000.0 / cpu;
43
44 return Ok(cpu_actual_usage);
45 }
46
47}
48
49
50pub async fn cpu_calculated_stg_cfgroup1(
53 token: String,
54 gke_cluster_endpoint: String,
55 gke_cluster_namespace: String,
56 gke_pod_name: String,
57 cpu: f64
58) -> Result<f64, std::io::Error> {
59
60 let cpu_use_old = cpu_usage_cfgroup1(
61 token.clone(),
62 gke_cluster_endpoint.clone(),
63 gke_cluster_namespace.clone(),
64 gke_pod_name.clone())
65 .await.unwrap();
66
67 let cpu_use_new = cpu_usage_cfgroup1(
68 token.clone(),
69 gke_cluster_endpoint.clone(),
70 gke_cluster_namespace.clone(),
71 gke_pod_name.clone())
72 .await.unwrap();
73
74 loop {
75 let cpu_1 = cpu_use_old;
76
77 sleep(time::Duration::from_millis(1000));
78
79 let cpu_2 = cpu_use_new;
80 let cpu_actual_usage = (cpu_2 - cpu_1) / 1000000.0 / cpu;
81
82 return Ok(cpu_actual_usage);
83 }
84}