domino_admin_toolkit.analyzers.pod_memory module
- pydantic model domino_admin_toolkit.analyzers.pod_memory.K8sPodMemoryOOMDetected
Bases:
AnalyzerBaseDetects OOM-killed containers using container_oom_events_total (a counter).
FAILs when any OOM events are recorded in the last hour. Uses container_oom_events_total (not kube_pod_container_status_last_terminated_reason) to avoid the rate()-on-gauge bug that always returns ~0.
- Fields:
- analyze(data)
Analyzes the provided data and returns a list of CheckResult instances.
- Return type:
- Args:
data (Dict[str, Any]): The data to be analyzed. The structure depends on the analyzer’s implementation.
- Returns:
List[CheckResult]: A list containing the results of the analysis.
- Raises:
NotImplementedError: If this method is not implemented by subclasses.
- name: ClassVar[str] = 'K8sPodMemoryOOMDetected'
- pydantic model domino_admin_toolkit.analyzers.pod_memory.K8sPodMemoryRequestsVsUsed
Bases:
AnalyzerBaseAnalyzes per-pod memory requests versus actual sustained usage (avg over 1h).
FAILs when a pod’s memory usage exceeds its requests by more than critical_diff_bytes (default 2 GiB). Uses avg (not peak) so transient spikes don’t trigger false failures.
- Fields:
- analyze(data)
Analyzes the provided data and returns a list of CheckResult instances.
- Return type:
- Args:
data (Dict[str, Any]): The data to be analyzed. The structure depends on the analyzer’s implementation.
- Returns:
List[CheckResult]: A list containing the results of the analysis.
- Raises:
NotImplementedError: If this method is not implemented by subclasses.
- name: ClassVar[str] = 'K8sPodMemoryRequestsVsUsed'