summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeaveMyYard <zhukovpavel2001@gmail.com>2024-04-24 16:23:13 +0300
committerLeaveMyYard <zhukovpavel2001@gmail.com>2024-04-24 16:23:13 +0300
commit7cd0c59ecce48c84ac0ed5a7eeeb503c9c9f19fe (patch)
treeaac31d93383e335528439b835745096b9741a341
parentbf909780f67a58c8647c689a72e2044e53a84e6c (diff)
Filter Cronjob-created jobs from display
-rw-r--r--robusta_krr/core/integrations/kubernetes/workload_loader/prometheus/loaders/simple_parent.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/robusta_krr/core/integrations/kubernetes/workload_loader/prometheus/loaders/simple_parent.py b/robusta_krr/core/integrations/kubernetes/workload_loader/prometheus/loaders/simple_parent.py
index 33a8c5a..9bc53d2 100644
--- a/robusta_krr/core/integrations/kubernetes/workload_loader/prometheus/loaders/simple_parent.py
+++ b/robusta_krr/core/integrations/kubernetes/workload_loader/prometheus/loaders/simple_parent.py
@@ -43,6 +43,26 @@ class SimpleParentLoader(BaseKindLoader):
key = metric["namespace"], metric["owner_name"], metric["owner_kind"]
workloads[key].append(metric["pod"])
+ # NOTE: We do not show jobs that are a part of a cronjob, so we filter them out
+ job_workloads = [name for (_, name, kind) in workloads if kind == "Job"]
+ if job_workloads != []:
+ cronjobs = await self.connector.loader.query(
+ f"""
+ count by (namespace, job_name) (
+ kube_job_owner{{
+ {self.cluster_selector}
+ {namespace_selector},
+ owner_kind="CronJob"
+ }}
+ )
+ """
+ )
+ for cronjob in cronjobs:
+ metric = cronjob["metric"]
+ key = (metric["namespace"], metric["job_name"], "Job")
+ if key in workloads:
+ del workloads[key]
+
workloads_containers = dict(
zip(
workloads.keys(),