14
14
use ipl \Html \HtmlElement ;
15
15
use ipl \Html \Attributes ;
16
16
use ipl \Html \Text ;
17
+ use DateTime ;
18
+ use DateInterval ;
17
19
18
20
class ChartsController extends Controller
19
21
{
@@ -46,14 +48,17 @@ public function clusterAction(): void
46
48
$ metrics = new Metrics (Database::connection ());
47
49
$ clusterMetrics = [];
48
50
49
- $ clusterMetrics ['cpu ' ] = $ metrics ->getClusterUsage ('cpu ' , $ this ->LAST_12_HOURS );
50
- $ clusterMetrics ['memory ' ] = $ metrics ->getClusterUsage ('memory ' , $ this ->LAST_12_HOURS );
51
+ $ clusterMetrics = $ metrics ->getClusterUsage (
52
+ (new DateTime ())->sub (new DateInterval ('PT12H ' )),
53
+ Metrics::$ ClusterCpuUsage ,
54
+ Metrics::$ ClusterMemoryUsage
55
+ );
51
56
52
57
$ this ->addContent (
53
58
new LineChart (
54
59
'chart-medium ' ,
55
- implode (', ' , $ clusterMetrics [' cpu ' ]),
56
- implode (', ' , array_keys ($ clusterMetrics [' cpu ' ])),
60
+ implode (', ' , $ clusterMetrics [Metrics:: $ ClusterCpuUsage ]),
61
+ implode (', ' , array_keys ($ clusterMetrics [Metrics:: $ ClusterCpuUsage ])),
57
62
'CPU Usage ' ,
58
63
'#00a8ff '
59
64
)
@@ -62,50 +67,60 @@ public function clusterAction(): void
62
67
$ this ->addContent (
63
68
new LineChart (
64
69
'chart-medium ' ,
65
- implode (', ' , $ clusterMetrics [' memory ' ]),
66
- implode (', ' , array_keys ($ clusterMetrics [' memory ' ])),
70
+ implode (', ' , $ clusterMetrics [Metrics:: $ ClusterMemoryUsage ]),
71
+ implode (', ' , array_keys ($ clusterMetrics [Metrics:: $ ClusterMemoryUsage ])),
67
72
'Memory Usage ' ,
68
73
'#8c7ae6 '
69
74
)
70
75
);
71
76
72
- $ numberOfRunningPods = $ metrics ->getNumberOfPodsByState ('running ' );
73
- $ numberOfPendingPods = $ metrics ->getNumberOfPodsByState ('pending ' );
74
- $ numberOfFailedPods = $ metrics ->getNumberOfPodsByState ('failed ' );
75
- $ numberOfSucceededPods = $ metrics ->getNumberOfPodsByState ('succeeded ' );
77
+ // $numberOfRunningPods = $metrics->getNumberOfPodsByState('running');
78
+ // $numberOfPendingPods = $metrics->getNumberOfPodsByState('pending');
79
+ // $numberOfFailedPods = $metrics->getNumberOfPodsByState('failed');
80
+ // $numberOfSucceededPods = $metrics->getNumberOfPodsByState('succeeded');
81
+
82
+ $ pods = $ metrics ->getNumberOfPodsByState (
83
+ Metrics::$ PodStateRunning ,
84
+ Metrics::$ PodStatePending ,
85
+ Metrics::$ PodStateFailed ,
86
+ Metrics::$ PodStateSucceeded
87
+ );
76
88
77
89
$ this ->addContent (
78
90
new DoughnutChart (
79
91
'chart-small ' ,
80
92
implode (
81
93
', ' ,
82
94
[
83
- $ numberOfRunningPods ,
84
- $ numberOfPendingPods ,
85
- $ numberOfFailedPods ,
86
- $ numberOfSucceededPods
95
+ $ pods [Metrics:: $ PodStateRunning ] ,
96
+ $ pods [Metrics:: $ PodStatePending ] ,
97
+ $ pods [Metrics:: $ PodStateFailed ] ,
98
+ $ pods [Metrics:: $ PodStateSucceeded ]
87
99
]
88
100
),
89
101
implode (
90
102
', ' ,
91
103
[
92
- $ numberOfRunningPods . ' Running ' ,
93
- $ numberOfPendingPods . ' Pending ' ,
94
- $ numberOfFailedPods . ' Failed ' ,
95
- $ numberOfSucceededPods . ' Succeeded '
104
+ $ pods [Metrics:: $ PodStateRunning ] . ' Running ' ,
105
+ $ pods [Metrics:: $ PodStatePending ] . ' Pending ' ,
106
+ $ pods [Metrics:: $ PodStateFailed ] . ' Failed ' ,
107
+ $ pods [Metrics:: $ PodStateSucceeded ] . ' Succeeded '
96
108
]
97
109
),
98
110
'#007bff, #ffc107, #dc3545, #28a745 '
99
111
)
100
112
);
101
113
102
- $ clusterCpuUsage = $ metrics ->getClusterUsageCurrent ('cpu ' );
103
- $ clusterMemoryUsage = $ metrics ->getClusterUsageCurrent ('memory ' );
114
+ $ current = $ metrics ->getClusterUsage (
115
+ (new DateTime ())->sub (new DateInterval ('PT1M ' )),
116
+ Metrics::$ ClusterCpuUsage ,
117
+ Metrics::$ ClusterMemoryUsage
118
+ );
104
119
105
120
$ this ->addContent (
106
121
new DoughnutChartStates (
107
122
'chart-small ' ,
108
- $ clusterCpuUsage ,
123
+ $ current [Metrics:: $ ClusterCpuUsage ][ array_key_last ( $ current [Metrics:: $ ClusterCpuUsage ])] ,
109
124
'CPU Usage ' ,
110
125
'#28a745, #ffc107, #dc3545 '
111
126
)
@@ -114,7 +129,7 @@ public function clusterAction(): void
114
129
$ this ->addContent (
115
130
new DoughnutChartStates (
116
131
'chart-small ' ,
117
- $ clusterMemoryUsage ,
132
+ $ current [Metrics:: $ ClusterMemoryUsage ][ array_key_last ( $ current [Metrics:: $ ClusterMemoryUsage ])] ,
118
133
'Memory Usage ' ,
119
134
'#28a745, #ffc107, #dc3545 '
120
135
)
0 commit comments