Skip to content

Commit 81a156d

Browse files
author
Massimo Schembri
committed
Fix
1 parent 088e1a6 commit 81a156d

File tree

5 files changed

+15
-9
lines changed

5 files changed

+15
-9
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
.idea/**/uiDesigner.xml
2828
.idea/**/dbnavigator.xml
2929
.idea/
30+
*.xlsx
3031

3132
# Gradle
3233
.idea/**/gradle.xml

main.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,9 @@
5151
data.extend(retriever.get_mem_cpu_req_lim(ns))
5252
print("Data obtained from K8s APIs...")
5353
print("Obtaining and calculating data from Prometheus...")
54-
suggested = list(map(lambda x: suggester.suggest_values(x), data))
54+
55+
# Filter replicas = 0
56+
suggested = list(map(lambda x: suggester.suggest_values(x), filter(lambda x: x[4] != 0, data)))
5557

5658
reporter = Reporter(header)
5759

reporter.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ def __init__(self, headers):
99
self.workbook.active.append(headers)
1010
self.end_column = chr(ord('A') + len(headers) - 1)
1111

12-
1312
def write_data_to_table(self, data):
1413
for row in data:
1514
self.workbook.active.append(row)

retriever.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ def __init__(self):
99
self.resources = client.AppsV1Api()
1010
self.retrieve_function = {
1111
"deployment": self.resources.list_namespaced_deployment,
12-
"statefulset": self.resources.list_namespaced_stateful_set
12+
"statefulset": self.resources.list_namespaced_stateful_set,
13+
"daemonset": self.resources.list_namespaced_daemon_set
1314
}
1415

1516
def get_mem_cpu_req_lim(self, namespace):
@@ -18,6 +19,8 @@ def get_mem_cpu_req_lim(self, namespace):
1819
for object_type, function in self.retrieve_function.items():
1920
k8s_objects = function(namespace)
2021
for k8s_object in k8s_objects.items:
22+
replicas = k8s_object.spec.replicas
23+
name = k8s_object.metadata.name
2124
for container in k8s_object.spec.template.spec.containers:
2225
if container.resources.requests:
2326
request_cpu = container.resources.requests.get("cpu", "Not defined")
@@ -31,9 +34,9 @@ def get_mem_cpu_req_lim(self, namespace):
3134
else:
3235
limit_cpu = "Not Defined"
3336
limit_memory = "Not Defined"
34-
results.append((namespace, object_type, k8s_object.metadata.name,
35-
container.name, k8s_object.spec.replicas,
36-
request_cpu, request_memory,
37-
limit_cpu, limit_memory))
37+
results.append((namespace, object_type, name,
38+
container.name, replicas,
39+
request_cpu, limit_cpu,
40+
request_memory, limit_memory))
3841

3942
return results

suggester.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,14 @@ def suggest_values(self, k8s_object):
1717
#Pe i pod avg_over_time(container_memory_working_set_bytes{pod=~'snitch-jvm.*',namespace='snitch',container='snitch-jvm'}[7d])
1818
# Retrieve pod memory usage
1919
params_memory_request = {
20-
"query": f"avg_over_time(container_memory_working_set_bytes{{pod=~'{k8s_object[2]}.*',namespace='{k8s_object[0]}',container='{k8s_object[3]}'}}[{self.time_range}])"
20+
"query": f"avg_over_time(container_memory_working_set_bytes{{pod=~'{k8s_object[2]}.*',namespace='{k8s_object[0]}',container=''}}[{self.time_range}])"
2121
}
22+
2223
response = requests.get(f"{self.prometheus_host}/api/v1/query", headers=headers, params=params_memory_request, verify=False)
2324
memoryRequest = f'{round(float(response.json()["data"]["result"][0]["value"][1]) / 1000000)} M'
2425

2526
params_memory_limit = {
26-
"query": f"max_over_time(container_memory_working_set_bytes{{pod=~'{k8s_object[2]}.*',namespace='{k8s_object[0]}',container='{k8s_object[3]}'}}[{self.time_range}])"
27+
"query": f"max_over_time(container_memory_working_set_bytes{{pod=~'{k8s_object[2]}.*',namespace='{k8s_object[0]}',container=''}}[{self.time_range}])"
2728
}
2829

2930
response = requests.get(f"{self.prometheus_host}/api/v1/query", headers=headers, params=params_memory_limit,

0 commit comments

Comments
 (0)