-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtest_rightsizing.py
More file actions
74 lines (65 loc) · 2.71 KB
/
test_rightsizing.py
File metadata and controls
74 lines (65 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
"""Test RightsizingAgent tools directly"""
from main import RightsizingAgent
def test_rightsizing():
print("🧪 Testing RightsizingAgent Tools\n")
agent = RightsizingAgent()
print("="*70)
print("Test 1: get_pod_historical_usage('api-server', 'production', 7)")
print("="*70)
result = agent.get_pod_historical_usage('api-server', 'production', 7)
print(result)
print()
print("="*70)
print("Test 2: get_pod_historical_usage('worker', 'production', 7)")
print("="*70)
result = agent.get_pod_historical_usage('worker', 'production', 7)
print(result)
print()
print("="*70)
print("Test 3: calculate_rightsizing() - Overprovisioned Pod")
print("Current: 2 CPU cores, 1024 MiB | Peak: 0.85 cores, 512 MiB")
print("="*70)
result = agent.calculate_rightsizing(
current_cpu_req=2.0,
current_mem_req_mib=1024,
peak_cpu_usage=0.85,
peak_mem_usage=512.5
)
print(f"Recommendation: {result['recommendation']}")
print(f"Utilization: CPU {result['metrics']['utilization_cpu_pct']}%, Memory {result['metrics']['utilization_mem_pct']}%")
print(f"Savings: {result['financial_impact']['monthly_savings_est']}/month")
print(f"Confidence: {result['confidence_score']}")
print()
print("="*70)
print("Test 4: calculate_rightsizing() - Underprovisioned Pod")
print("Current: 0.5 CPU cores, 256 MiB | Peak: 0.48 cores, 240 MiB")
print("="*70)
result = agent.calculate_rightsizing(
current_cpu_req=0.5,
current_mem_req_mib=256,
peak_cpu_usage=0.48,
peak_mem_usage=240
)
print(f"Recommendation: {result['recommendation']}")
print(f"Utilization: CPU {result['metrics']['utilization_cpu_pct']}%, Memory {result['metrics']['utilization_mem_pct']}%")
print(f"Savings: {result['financial_impact']['monthly_savings_est']}/month")
print(f"Confidence: {result['confidence_score']}")
print()
print("="*70)
print("Test 5: calculate_rightsizing() - Well-sized Pod")
print("Current: 1.0 CPU cores, 512 MiB | Peak: 0.7 cores, 400 MiB")
print("="*70)
result = agent.calculate_rightsizing(
current_cpu_req=1.0,
current_mem_req_mib=512,
peak_cpu_usage=0.7,
peak_mem_usage=400
)
print(f"Recommendation: {result['recommendation']}")
print(f"Utilization: CPU {result['metrics']['utilization_cpu_pct']}%, Memory {result['metrics']['utilization_mem_pct']}%")
print(f"Savings: {result['financial_impact']['monthly_savings_est']}/month")
print(f"Confidence: {result['confidence_score']}")
print()
print("✅ All RightsizingAgent tools working correctly!")
if __name__ == "__main__":
test_rightsizing()