Skip to content

Commit f2303f3

Browse files
committed
chore: created script to profile the system
1 parent 9927e9c commit f2303f3

File tree

2 files changed

+132
-0
lines changed

2 files changed

+132
-0
lines changed

scripts/profiler.py

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
import requests
2+
import csv
3+
import re
4+
import time
5+
from datetime import datetime
6+
import os
7+
8+
inspectorSample = {
9+
"apiVersion": 'lazykoala.isala.me/v1alpha1',
10+
"kind": 'Inspector',
11+
"namespace": 'lazy-koala',
12+
"metadata": {
13+
"name": 'sample',
14+
},
15+
"spec": {
16+
"deploymentRef": "",
17+
"serviceRef": "",
18+
"modelName": "",
19+
"namespace": "default"
20+
},
21+
};
22+
23+
with open('usage_data.csv', 'w') as f:
24+
f.write("time,name,cpu,memory\n")
25+
26+
27+
28+
def pool_metrics():
29+
print(f"{datetime.now()}: Pooling metrics...")
30+
r = requests.get("http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/namespaces/lazy-koala/pods")
31+
data = []
32+
for item in r.json()['items']:
33+
cpu = 0
34+
memory = 0
35+
for container in item['containers']:
36+
cpu += int(re.sub('\D', '', container['usage']['cpu']))
37+
memory += int(re.sub('\D', '', container['usage']['memory']))
38+
39+
data.append({
40+
'time': int(time.time()),
41+
'name': item['metadata']['name'],
42+
'cpu': cpu / 1000 / 1000,
43+
'memory': memory / 1000,
44+
})
45+
data[1]['cpu'] += data[0]['cpu']
46+
data[1]['memory'] += data[0]['memory']
47+
data.pop(0)
48+
49+
with open('usage_data.csv', 'a') as csvfile:
50+
writer = csv.DictWriter(csvfile, fieldnames=['time', 'name', 'cpu', 'memory'])
51+
writer.writerows(data)
52+
53+
54+
for i in range(11):
55+
56+
if i == 0:
57+
pool_metrics()
58+
time.sleep(10)
59+
continue
60+
61+
print(f"{datetime.now()}: Deploying inspector service-{i} ")
62+
63+
inspectorSample['metadata']['name'] = f"service-{i}-278a24d6"
64+
inspectorSample['spec']['deploymentRef'] = f"service-{i}-278a24d6"
65+
inspectorSample['spec']['serviceRef'] = f"service-{i}-278a24d6"
66+
inspectorSample['spec']['modelName'] = f"service-{i}-278a24d6"
67+
68+
r = requests.post("http://127.0.0.1:8001/apis/lazykoala.isala.me/v1alpha1/namespaces/default/inspectors/", json=inspectorSample)
69+
70+
print(f"{datetime.now()}: Sleeping for 5 minutes...")
71+
72+
os.system("kubectl delete pods -n lazy-koala --all")
73+
74+
time.sleep((60 * 10))
75+
76+
pool_metrics()

scripts/usage_data.csv

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
time,name,cpu,memory
2+
1651912332,gazer,11.958813,120.616
3+
1651912332,inspector,0.0,4.436
4+
1651912332,operator,0.36999400000000005,8.496
5+
1651912332,prometheus,3.8797759999999997,34.404
6+
1651912332,sherlock,126.612485,46.076
7+
1651912981,gazer,16.236321,121.42
8+
1651912981,inspector,0.0,4.296
9+
1651912981,operator,1.688306,11.84
10+
1651912981,prometheus,4.822036,37.92
11+
1651912981,sherlock,0.84665,119.368
12+
1651913621,gazer,19.075196000000002,121.452
13+
1651913621,inspector,0.0066289999999999995,4.3
14+
1651913621,operator,1.019429,12.284
15+
1651913621,prometheus,15.894164,48.8
16+
1651913621,sherlock,0.690234,183.72
17+
1651914255,gazer,18.834508,121.804
18+
1651914255,inspector,0.0,4.292
19+
1651914255,operator,1.977959,13.448
20+
1651914255,prometheus,5.017055999999999,60.968
21+
1651914255,sherlock,69.814766,253.496
22+
1651914890,gazer,18.043074,121.768
23+
1651914890,inspector,0.0,4.248
24+
1651914890,operator,1.098155,13.76
25+
1651914890,prometheus,5.229607,52.924
26+
1651914890,sherlock,89.954879,317.892
27+
1651915530,gazer,28.206476000000002,122.20400000000001
28+
1651915530,inspector,0.0,4.324
29+
1651915530,operator,0.954061,13.152
30+
1651915530,prometheus,42.748922,53.128
31+
1651915530,sherlock,9.074958,384.88
32+
1651916171,gazer,22.133096000000002,122.27600000000001
33+
1651916171,inspector,0.003312,4.284
34+
1651916171,operator,3.0442910000000003,13.32
35+
1651916171,prometheus,6.219539,59.028
36+
1651916171,sherlock,0.818838,450.756
37+
1651916804,gazer,23.679917,122.53999999999999
38+
1651916804,inspector,0.0,4.24
39+
1651916804,operator,1.129052,12.852
40+
1651916804,prometheus,6.212623,59.176
41+
1651916804,sherlock,0.8634080000000001,517.48
42+
1651917440,gazer,27.632058999999998,122.392
43+
1651917440,inspector,0.0,4.336
44+
1651917440,operator,3.820067,13.9
45+
1651917440,prometheus,6.181665,57.536
46+
1651917440,sherlock,80.97522500000001,582.836
47+
1651918080,gazer,43.593231,122.7
48+
1651918080,inspector,0.0,4.392
49+
1651918080,operator,6.529536,13.52
50+
1651918080,prometheus,8.90609,61.988
51+
1651918080,sherlock,0.980735,640.252
52+
1651918720,gazer,39.392812,122.844
53+
1651918720,inspector,0.0,4.292
54+
1651918720,operator,1.136753,13.644
55+
1651918720,prometheus,7.846966999999999,63.448
56+
1651918720,sherlock,0.951237,697.196

0 commit comments

Comments
 (0)