summaryrefslogtreecommitdiff
path: root/opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/OpenDCdemo.ipynb
blob: 0100f79dead79e827357d28119043b90c317ab70 (plain)
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "18170001",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from IPython.display import display, HTML\n",
    "\n",
    "base_folder = \"../../../../..\""
   ]
  },
  {
   "cell_type": "markdown",
   "id": "422f4d05",
   "metadata": {},
   "source": [
    "## Topologies"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "a2d05361",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Topology name: multi\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ClusterID</th>\n",
       "      <th>ClusterName</th>\n",
       "      <th>Cores</th>\n",
       "      <th>Speed</th>\n",
       "      <th>Memory</th>\n",
       "      <th>numberOfHosts</th>\n",
       "      <th>memoryCapacityPerHost</th>\n",
       "      <th>coreCountPerHost</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>A01</td>\n",
       "      <td>A01</td>\n",
       "      <td>32</td>\n",
       "      <td>3.20</td>\n",
       "      <td>2048</td>\n",
       "      <td>1</td>\n",
       "      <td>256</td>\n",
       "      <td>32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B01</td>\n",
       "      <td>B01</td>\n",
       "      <td>48</td>\n",
       "      <td>2.93</td>\n",
       "      <td>1256</td>\n",
       "      <td>6</td>\n",
       "      <td>64</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>C01</td>\n",
       "      <td>C01</td>\n",
       "      <td>32</td>\n",
       "      <td>3.20</td>\n",
       "      <td>2048</td>\n",
       "      <td>2</td>\n",
       "      <td>128</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Topology name: single\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ClusterID</th>\n",
       "      <th>ClusterName</th>\n",
       "      <th>Cores</th>\n",
       "      <th>Speed</th>\n",
       "      <th>Memory</th>\n",
       "      <th>numberOfHosts</th>\n",
       "      <th>memoryCapacityPerHost</th>\n",
       "      <th>coreCountPerHost</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>A01</td>\n",
       "      <td>A01</td>\n",
       "      <td>8</td>\n",
       "      <td>3.2</td>\n",
       "      <td>128</td>\n",
       "      <td>1</td>\n",
       "      <td>128</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def read_topology(topology_name):\n",
    "    print(f\"Topology name: {topology_name}\")\n",
    "    df = pd.read_csv(f\"{base_folder}/resources/env/{topology_name}.txt\", delimiter=\";\")\n",
    "    display(HTML(df.to_html()))\n",
    "        \n",
    "read_topology(\"multi\")\n",
    "read_topology(\"single\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8f4fe54d",
   "metadata": {},
   "source": [
    "## Traces"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "fd17d88a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>timestamp</th>\n",
       "      <th>duration</th>\n",
       "      <th>cpu_count</th>\n",
       "      <th>cpu_usage</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1019</td>\n",
       "      <td>2013-08-12 13:40:46+00:00</td>\n",
       "      <td>300000</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1019</td>\n",
       "      <td>2013-08-12 13:45:46+00:00</td>\n",
       "      <td>300000</td>\n",
       "      <td>1</td>\n",
       "      <td>11.703998</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1019</td>\n",
       "      <td>2013-08-12 13:55:46+00:00</td>\n",
       "      <td>600000</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1019</td>\n",
       "      <td>2013-08-12 14:00:46+00:00</td>\n",
       "      <td>300000</td>\n",
       "      <td>1</td>\n",
       "      <td>11.703998</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1019</td>\n",
       "      <td>2013-08-12 14:15:46+00:00</td>\n",
       "      <td>900000</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6143</th>\n",
       "      <td>1019</td>\n",
       "      <td>2013-09-11 13:14:58+00:00</td>\n",
       "      <td>600000</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6144</th>\n",
       "      <td>1019</td>\n",
       "      <td>2013-09-11 13:19:58+00:00</td>\n",
       "      <td>300000</td>\n",
       "      <td>1</td>\n",
       "      <td>11.704000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6145</th>\n",
       "      <td>1019</td>\n",
       "      <td>2013-09-11 13:29:58+00:00</td>\n",
       "      <td>600000</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6146</th>\n",
       "      <td>1019</td>\n",
       "      <td>2013-09-11 13:34:58+00:00</td>\n",
       "      <td>300000</td>\n",
       "      <td>1</td>\n",
       "      <td>11.704000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6147</th>\n",
       "      <td>1019</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>300000</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>6148 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        id                 timestamp  duration  cpu_count  cpu_usage\n",
       "0     1019 2013-08-12 13:40:46+00:00    300000          1   0.000000\n",
       "1     1019 2013-08-12 13:45:46+00:00    300000          1  11.703998\n",
       "2     1019 2013-08-12 13:55:46+00:00    600000          1   0.000000\n",
       "3     1019 2013-08-12 14:00:46+00:00    300000          1  11.703998\n",
       "4     1019 2013-08-12 14:15:46+00:00    900000          1   0.000000\n",
       "...    ...                       ...       ...        ...        ...\n",
       "6143  1019 2013-09-11 13:14:58+00:00    600000          1   0.000000\n",
       "6144  1019 2013-09-11 13:19:58+00:00    300000          1  11.704000\n",
       "6145  1019 2013-09-11 13:29:58+00:00    600000          1   0.000000\n",
       "6146  1019 2013-09-11 13:34:58+00:00    300000          1  11.704000\n",
       "6147  1019 2013-09-11 13:39:58+00:00    300000          1   0.000000\n",
       "\n",
       "[6148 rows x 5 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_trace = pd.read_parquet(f\"{base_folder}/resources/bitbrains-small/trace/trace.parquet\")\n",
    "df_trace[df_trace[\"id\"] == \"1019\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "346f097f",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>start_time</th>\n",
       "      <th>stop_time</th>\n",
       "      <th>cpu_count</th>\n",
       "      <th>cpu_capacity</th>\n",
       "      <th>mem_capacity</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1019</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2926.000135</td>\n",
       "      <td>181352</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1023</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2925.999560</td>\n",
       "      <td>260096</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1026</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2925.999717</td>\n",
       "      <td>249972</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1052</td>\n",
       "      <td>2013-08-29 14:38:12+00:00</td>\n",
       "      <td>2013-09-05 07:09:07+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2926.000107</td>\n",
       "      <td>131245</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1073</td>\n",
       "      <td>2013-08-21 11:07:12+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2599.999649</td>\n",
       "      <td>179306</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     id                start_time                 stop_time  cpu_count  \\\n",
       "0  1019 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00          1   \n",
       "1  1023 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00          1   \n",
       "2  1026 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00          1   \n",
       "3  1052 2013-08-29 14:38:12+00:00 2013-09-05 07:09:07+00:00          1   \n",
       "4  1073 2013-08-21 11:07:12+00:00 2013-09-11 13:39:58+00:00          1   \n",
       "\n",
       "   cpu_capacity  mem_capacity  \n",
       "0   2926.000135        181352  \n",
       "1   2925.999560        260096  \n",
       "2   2925.999717        249972  \n",
       "3   2926.000107        131245  \n",
       "4   2599.999649        179306  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_meta = pd.read_parquet(f\"{base_folder}/resources/bitbrains-small/trace/meta.parquet\")\n",
    "df_meta.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "bdba9fe5",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_meta_new = df_meta[df_meta[\"start_time\"] == df_meta[\"start_time\"].min()].iloc[:20]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "f11c06bb",
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'Path' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "Cell \u001b[0;32mIn[7], line 2\u001b[0m\n\u001b[1;32m      1\u001b[0m output_file \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m../Python_scripts/meta_small.parquet\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m----> 2\u001b[0m output_file_path \u001b[38;5;241m=\u001b[39m \u001b[43mPath\u001b[49m(output_file)\n\u001b[1;32m      4\u001b[0m df_meta_new\u001b[38;5;241m.\u001b[39mto_parquet(output_file_path, index\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m)\n\u001b[1;32m      6\u001b[0m output_file \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m../Python_scripts/trace_small.parquet\u001b[39m\u001b[38;5;124m\"\u001b[39m\n",
      "\u001b[0;31mNameError\u001b[0m: name 'Path' is not defined"
     ]
    }
   ],
   "source": [
    "output_file = \"../Python_scripts/meta_small.parquet\"\n",
    "output_file_path = Path(output_file)\n",
    "\n",
    "df_meta_new.to_parquet(output_file_path, index=False)\n",
    "\n",
    "output_file = \"../Python_scripts/trace_small.parquet\"\n",
    "output_file_path = Path(output_file)\n",
    "df_trace_new.to_parquet(output_file_path, index=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "13bf9fdb",
   "metadata": {},
   "source": [
    "# Lets run this in OpenDC!"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c9766446",
   "metadata": {},
   "source": [
    "## Resulting Files"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "0d400ffd",
   "metadata": {},
   "outputs": [],
   "source": [
    "output_folder = f\"{base_folder}/output\"\n",
    "workload = \"workload=bitbrains-small\"\n",
    "seed = \"seed=0\"\n",
    "\n",
    "df_host_single = pd.read_parquet(f\"{output_folder}/host/topology=single/{workload}/{seed}/data.parquet\")\n",
    "df_host_multi = pd.read_parquet(f\"{output_folder}/host/topology=multi/{workload}/{seed}/data.parquet\")\n",
    "\n",
    "df_server_single = pd.read_parquet(f\"{output_folder}/server/topology=single/{workload}/{seed}/data.parquet\")\n",
    "df_server_multi = pd.read_parquet(f\"{output_folder}/server/topology=multi/{workload}/{seed}/data.parquet\")\n",
    "\n",
    "df_service_single = pd.read_parquet(f\"{output_folder}/service/topology=single/{workload}/{seed}/data.parquet\")\n",
    "df_service_multi = pd.read_parquet(f\"{output_folder}/service/topology=multi/{workload}/{seed}/data.parquet\")\n",
    "\n",
    "def add_absolute_timestamp(df, start_dt):\n",
    "    df[\"absolute_timestamp\"] = start_dt + (df[\"timestamp\"] - df[\"timestamp\"].min())\n",
    "\n",
    "add_absolute_timestamp(df_host_single, df_meta[\"start_time\"].min())\n",
    "add_absolute_timestamp(df_host_single, df_meta[\"start_time\"].min())\n",
    "\n",
    "add_absolute_timestamp(df_server_single, df_meta[\"start_time\"].min())\n",
    "add_absolute_timestamp(df_server_multi, df_meta[\"start_time\"].min())\n",
    "\n",
    "add_absolute_timestamp(df_service_single, df_meta[\"start_time\"].min())\n",
    "add_absolute_timestamp(df_service_multi, df_meta[\"start_time\"].min())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "a9a61332",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>timestamp</th>\n",
       "      <th>hosts_up</th>\n",
       "      <th>hosts_down</th>\n",
       "      <th>servers_pending</th>\n",
       "      <th>servers_active</th>\n",
       "      <th>attempts_success</th>\n",
       "      <th>attempts_failure</th>\n",
       "      <th>attempts_error</th>\n",
       "      <th>absolute_timestamp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1970-01-01 00:04:00+00:00</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>44</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1970-01-01 00:04:00+00:00</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>44</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1970-01-01 00:04:00+00:00</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>44</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1970-01-01 00:04:00+00:00</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>44</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1970-01-01 00:05:00+00:00</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>44</td>\n",
       "      <td>44</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-08-12 13:36:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43205</th>\n",
       "      <td>1970-01-31 00:06:00+00:00</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>47</td>\n",
       "      <td>50</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:37:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43206</th>\n",
       "      <td>1970-01-31 00:07:00+00:00</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>47</td>\n",
       "      <td>50</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:38:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43207</th>\n",
       "      <td>1970-01-31 00:08:00+00:00</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>44</td>\n",
       "      <td>50</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:39:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43208</th>\n",
       "      <td>1970-01-31 00:09:00+00:00</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>44</td>\n",
       "      <td>50</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:40:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43209</th>\n",
       "      <td>1970-01-31 00:09:12+00:00</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>50</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:40:58+00:00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>43210 rows × 9 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                      timestamp  hosts_up  hosts_down  servers_pending  \\\n",
       "0     1970-01-01 00:04:00+00:00         9           0               44   \n",
       "1     1970-01-01 00:04:00+00:00         9           0               44   \n",
       "2     1970-01-01 00:04:00+00:00         9           0               44   \n",
       "3     1970-01-01 00:04:00+00:00         9           0               44   \n",
       "4     1970-01-01 00:05:00+00:00         9           0                0   \n",
       "...                         ...       ...         ...              ...   \n",
       "43205 1970-01-31 00:06:00+00:00         9           0                0   \n",
       "43206 1970-01-31 00:07:00+00:00         9           0                0   \n",
       "43207 1970-01-31 00:08:00+00:00         9           0                0   \n",
       "43208 1970-01-31 00:09:00+00:00         9           0                0   \n",
       "43209 1970-01-31 00:09:12+00:00         9           0                0   \n",
       "\n",
       "       servers_active  attempts_success  attempts_failure  attempts_error  \\\n",
       "0                   0                 0                 0               0   \n",
       "1                   0                 0                 0               0   \n",
       "2                   0                 0                 0               0   \n",
       "3                   0                 0                 0               0   \n",
       "4                  44                44                 0               0   \n",
       "...               ...               ...               ...             ...   \n",
       "43205              47                50                 0               0   \n",
       "43206              47                50                 0               0   \n",
       "43207              44                50                 0               0   \n",
       "43208              44                50                 0               0   \n",
       "43209               0                50                 0               0   \n",
       "\n",
       "             absolute_timestamp  \n",
       "0     2013-08-12 13:35:46+00:00  \n",
       "1     2013-08-12 13:35:46+00:00  \n",
       "2     2013-08-12 13:35:46+00:00  \n",
       "3     2013-08-12 13:35:46+00:00  \n",
       "4     2013-08-12 13:36:46+00:00  \n",
       "...                         ...  \n",
       "43205 2013-09-11 13:37:46+00:00  \n",
       "43206 2013-09-11 13:38:46+00:00  \n",
       "43207 2013-09-11 13:39:46+00:00  \n",
       "43208 2013-09-11 13:40:46+00:00  \n",
       "43209 2013-09-11 13:40:58+00:00  \n",
       "\n",
       "[43210 rows x 9 columns]"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_service_multi"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "09d31c91",
   "metadata": {},
   "source": [
    "## Power Usage"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "82f0a24a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "single topology:  2227379391.0896\n",
      "multi topology:   5865296669.647482\n"
     ]
    }
   ],
   "source": [
    "print(f\"single topology:  {df_host_single.power_total.sum()}\")\n",
    "print(f\"multi topology:   {df_host_multi.power_total.sum()}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7ab3357d",
   "metadata": {},
   "source": [
    "## CPU usage"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "e94db3a6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "single topology:  0.5759617370100649\n",
      "multi topology:   0.3424842677740509\n"
     ]
    }
   ],
   "source": [
    "print(f\"single topology:  {df_host_single.cpu_utilization.mean()}\")\n",
    "print(f\"multi topology:   {df_host_multi.cpu_utilization.mean()}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e000a260",
   "metadata": {},
   "source": [
    "## CPU utilization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "8d7daa45",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "single topology:  0.5759617370100649\n",
      "multi topology:   0.3424842677740509\n"
     ]
    }
   ],
   "source": [
    "print(f\"single topology:  {df_host_single.cpu_utilization.mean()}\")\n",
    "print(f\"multi topology:   {df_host_multi.cpu_utilization.mean()}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ad97741c",
   "metadata": {},
   "source": [
    "## Plotting Results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "5df8f9aa",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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ffLJJ5oyZYr+8Ic/uLpGAACAWnPqbqk5c+YoOztbt956q7y8Lu6ioqJCcXFxrLkBAABu5VS4sVqtWr16tebMmaP9+/erefPm6tmzpzp06ODq+gAAABziVLi5pGvXruratauragEAAKgzp8JNeXm50tLSlJ6erpMnT6qioqLS55988olLigMAAHCUU+FmypQpSktL05133qkePXrIYrG4ui4AAACnOBVuVq1apb/97W8aPny4q+sBAACoE6duBbdarerSpYurawEAAKgzp8LNE088oZdfflmGYbi6HgAAgDpx6rLUtm3btHXrVn300Ue6/vrr1axZs0qfr1271iXFAQAAOMqpcBMUFKS7777b1bUAAADUmVPhZsWKFa6uAwAAwCWcWnMjSRcuXNCWLVv0l7/8RWfOnJEknThxQmfPnnVZcQAAAI5yaubmu+++0+23366cnByVlJRo2LBh8vf317x581RSUqLU1FRX1wkAAFArTs3cTJkyRVFRUfr555/VvHlze/vdd9+t9PR0lxUHAADgKKdmbj777DPt2LFDVqu1Unt4eLh++OEHlxQGAADgDKdmbioqKlReXl6l/fvvv5e/v3+diwIAAHCWU+HmtttuU0pKiv29xWLR2bNnNWvWLB7JAAAA3Mqpy1KLFi1STEyMunfvrvPnz2vMmDE6fPiwgoOD9e6777q6RgAAgFpzKtz85je/0f79+7Vq1SodOHBAZ8+e1fjx43XfffdVWmAMAADQ0JwKN5Lk5eWl+++/35W1AAAA1JlT4eaNN9647OdxcXFOFQMAAFBXToWbKVOmVHpfVlamc+fOyWq1ytfXl3ADAADcxqm7pX7++edKr7NnzyorK0uDBw9mQTEAAHArp58t9WsRERGaO3dulVkdAACAhuSycCNdXGR84sQJV+4SAADAIU6tuXn//fcrvTcMQ7m5uXr11Vc1aNAglxQGAADgDKfCzahRoyq9t1gsatOmjW655RYtWrTIFXUBAAA4xalwU1FR4eo6AAAAXMKla24AAADczamZm8TExFr3TU5OduYQAAAATnEq3Ozbt0/79u1TWVmZrr32WknSN998I09PT9144432fhaLxTVVAgAA1JJT4WbEiBHy9/fXypUr1bJlS0kXf9gvISFBQ4YM0RNPPOHSIgEAAGrLqTU3ixYtUlJSkj3YSFLLli31wgsvcLcUAABwK6fCTVFRkQoKCqq0FxQU6MyZM3UuCgAAwFlOhZu7775bCQkJWrt2rb7//nt9//33eu+99zR+/Hjdc889rq4RAACg1pxac5OamqqpU6dqzJgxKisru7gjLy+NHz9eCxYscGmBAAAAjnAq3Pj6+urPf/6zFixYoKNHj0qSOnfurBYtWri0OAAAAEfV6Uf8cnNzlZubq4iICLVo0UKGYbiqLgAAAKc4FW5+/PFH3XrrreratauGDx+u3NxcSdL48eO5DRwAALiVU+Hm8ccfV7NmzZSTkyNfX197e2xsrDZu3Oiy4gAAABzl1Jqbjz/+WJs2bdJvfvObSu0RERH67rvvXFIYAACAM5yauSkuLq40Y3PJTz/9JG9v7zoXBQAA4Cynws2QIUP0xhtv2N9bLBZVVFRo/vz5Gjp0qMP7W7JkicLDw+Xj46P+/ftr165dNfZdunSphgwZopYtW6ply5aKjo6+bH8AAHB1cSrczJ8/X6+//rruuOMOlZaW6qmnnlKPHj306aefat68eQ7ta/Xq1UpMTNSsWbO0d+9e9e7dWzExMTp58mS1/TMyMjR69Ght3bpVO3fulM1m02233aYffvjBmVMBAAAm41S46dGjh7755hsNHjxYI0eOVHFxse655x7t27dPnTt3dmhfycnJmjBhghISEtS9e3elpqbK19dXy5cvr7b/22+/rYkTJyoyMlLdunXTX//6V1VUVCg9Pd2ZUwEAACbj8ILisrIy3X777UpNTdX06dPrdPDS0lLt2bNH06ZNs7d5eHgoOjpaO3furNU+zp07p7KyMrVq1araz0tKSlRSUmJ/X1RUVKeaAQBA4+bwzE2zZs104MABlxz81KlTKi8vV2hoaKX20NBQ5eXl1WofTz/9tNq1a6fo6OhqP09KSlJgYKD9ZbPZ6lw3AABovJy6LHX//fdr2bJlrq7FYXPnztWqVau0bt06+fj4VNtn2rRpKiwstL+OHz/ewFUCAICG5NTv3Fy4cEHLly/Xli1b1KdPnyrPlEpOTq7VfoKDg+Xp6an8/PxK7fn5+QoLC7vstgsXLtTcuXO1ZcsW9erVq8Z+3t7e3J4OAMBVxKFwc+zYMYWHh+uf//ynbrzxRknSN998U6mPxWKp9f6sVqv69Omj9PR0jRo1SpLsi4MnT55c43bz58/Xiy++qE2bNikqKsqRUwAAACbnULiJiIhQbm6utm7dKuni4xZeeeWVKmtmHJGYmKhx48YpKipK/fr1U0pKioqLi5WQkCBJiouLU/v27ZWUlCRJmjdvnmbOnKl33nlH4eHh9rU5fn5+8vPzc7oOAABgDg6Fm18/9fujjz5ScXFxnQqIjY1VQUGBZs6cqby8PEVGRmrjxo32wJSTkyMPj38tDXrttddUWlqq//iP/6i0n1mzZmn27Nl1qgUAADR9Tq25ueTXYcdZkydPrvEyVEZGRqX32dnZLjkmAAAwJ4fulrJYLFXW1DiyxgYAAKC+OXxZKj4+3n730fnz5/XII49UuVtq7dq1rqsQAADAAQ6Fm3HjxlV6f//997u0GAAAgLpyKNysWLGivuoAAABwCad+oRgAAKCxItwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABT8XJ3AQAAoGbj03Y7ve2y+L4urKTpYOYGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYitvDzZIlSxQeHi4fHx/1799fu3btqrHvV199pd/97ncKDw+XxWJRSkpKwxUKAACaBLeGm9WrVysxMVGzZs3S3r171bt3b8XExOjkyZPV9j937pw6deqkuXPnKiwsrIGrBQAATYFbw01ycrImTJighIQEde/eXampqfL19dXy5cur7d+3b18tWLBAf/jDH+Tt7V2rY5SUlKioqKjSCwAAmJfbwk1paan27Nmj6OjofxXj4aHo6Gjt3LnTZcdJSkpSYGCg/WWz2Vy2bwAA0Pi4LdycOnVK5eXl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jo6+4r8XXOTon+dLVq1aJYvFolGjRtVvgSbh6DifPn1akyZNUtu2beXt7a2uXbvy/45acHScU1JSdO2116p58+ay2Wx6/PHHdf78+Qaqtmn69NNPNWLECLVr104Wi6XG5zr+UkZGhm688UZ5e3urS5cuSktLq/c6ZaDWVq1aZVitVmP58uXGV199ZUyYMMEICgoy8vPzq+2/fft2w9PT05g/f77x9ddfGzNmzDCaNWtmfPnllw1cedPi6DiPGTPGWLJkibFv3z7j4MGDRnx8vBEYGGh8//33DVx50+LoOF/y7bffGu3btzeGDBlijBw5smGKbcIcHeeSkhIjKirKGD58uLFt2zbj22+/NTIyMozMzMwGrrxpcXSc3377bcPb29t4++23jW+//dbYtGmT0bZtW+Pxxx9v4Mqblg0bNhjTp0831q5da0gy1q1bd9n+x44dM3x9fY3ExETj66+/NhYvXmx4enoaGzdurNc6CTcO6NevnzFp0iT7+/LycqNdu3ZGUlJStf3vvfde484776zU1r9/f+Phhx+u1zqbOkfH+dcuXLhg+Pv7GytXrqyvEk3BmXG+cOGCMXDgQOOvf/2rMW7cOMJNLTg6zq+99prRqVMno7S0tKFKNAVHx3nSpEnGLbfcUqktMTHRGDRoUL3WaSa1CTdPPfWUcf3111dqi42NNWJiYuqxMsPgslQtlZaWas+ePYqOjra3eXh4KDo6Wjt37qx2m507d1bqL0kxMTE19odz4/xr586dU1lZmVq1alVfZTZ5zo7z888/r5CQEI0fP74hymzynBnn999/XwMGDNCkSZMUGhqqHj166KWXXlJ5eXlDld3kODPOAwcO1J49e+yXro4dO6YNGzZo+PDhDVLz1cJd34Nu/4XipuLUqVMqLy+3/3LyJaGhoTp06FC12+Tl5VXbPy8vr97qbOqcGedfe/rpp9WuXbsq/0HhX5wZ523btmnZsmXKzMxsgArNwZlxPnbsmD755BPdd9992rBhg44cOaKJEyeqrKxMs2bNaoiymxxnxnnMmDE6deqUBg8eLMMwdOHCBT3yyCN69tlnG6Lkq0ZN34NFRUX6v//7PzVv3rxejsvMDUxl7ty5WrVqldatWycfHx93l2MaZ86c0dixY7V06VIFBwe7uxxTq6ioUEhIiF5//XX16dNHsbGxmj59ulJTU91dmqlk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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data = df_host_multi.cpu_utilization\n",
    "plt.hist(data, weights=np.ones_like(data) / len(data),\n",
    "         alpha=0.7, label=\"multi\", bins=30)\n",
    "\n",
    "\n",
    "data = df_host_single.cpu_utilization\n",
    "plt.hist(data, weights=np.ones_like(data) / len(data),\n",
    "         alpha=0.7, label=\"single\", bins=30)\n",
    "\n",
    "plt.xlabel(\"CPU utilization\")\n",
    "plt.ylabel(\"Frequency\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "520e42a4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.000000    36807\n",
       "0.026394       10\n",
       "0.063165       10\n",
       "0.080042       10\n",
       "0.021973       10\n",
       "            ...  \n",
       "0.519209        1\n",
       "0.505311        1\n",
       "0.494024        1\n",
       "0.493425        1\n",
       "0.385138        1\n",
       "Name: cpu_utilization, Length: 19790, dtype: int64"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_host_single.cpu_utilization.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "id": "a8c35267",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([b'\\xf8\\x8b\\xb8\\xa8rL\\x81\\xec\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02',\n",
       "       b'\\x1b9\\x89jQ\\xa8t\\x9b\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x03',\n",
       "       b'\\xc5\\x84\\x13:\\xc9\\x16\\xab<\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00',\n",
       "       b'S\\xcb\\x9f\\x0ct~\\xa2\\xea\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04',\n",
       "       b'\\xe2 \\xa89{\\x1d\\xcd\\xaf\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00',\n",
       "       b'\\x06\\xc4]\\x18\\x80\\tEO\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01',\n",
       "       b',\\x82\\x9a\\xbe\\x1fE2\\xe1\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x05',\n",
       "       b'>\\xe5x\\x90A\\xc9\\x8a\\xc3\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01',\n",
       "       b'nx\\x9ej\\xa1\\xb9e\\xf4\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 122,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_host_multi.host_id.unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "id": "68546b09",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1     704537\n",
       "4     590697\n",
       "8     388895\n",
       "2     312916\n",
       "32     43210\n",
       "Name: cpu_count, dtype: int64"
      ]
     },
     "execution_count": 123,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_server_single.cpu_count.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "id": "326abd0c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "43209\n",
      "43215\n"
     ]
    }
   ],
   "source": [
    "print(len(df_service_multi))\n",
    "print(len(df_service_single))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "42c0c638",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7fda07bf34c0>"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA5VElEQVR4nO3deXxU1f3/8fdk3xPCkhBDIAhC1KgsAhGLCtGIS1FAEVMKFu3X/hCl9CvIVwVBEb5aRLGAFiz02xKlKmhFRTHIorJvsigqi2AhARWSsGQhc35/YK6OLGbIZO4k9/V8POYR5t6Tez9zCMw75557xmWMMQIAAPCTILsLAAAAzkL4AAAAfkX4AAAAfkX4AAAAfkX4AAAAfkX4AAAAfkX4AAAAfkX4AAAAfhVidwE/53a7tW/fPsXGxsrlctldDgAAqAZjjEpKSpSSkqKgoLOPbQRc+Ni3b5+aNWtmdxkAAOAc7N27V6mpqWdtE3DhIzY2VtLJ4uPi4myuBgAAVEdxcbGaNWtmvY+fTcCFj6pLLXFxcYQPAADqmOpMmWDCKQAA8CvCBwAA8CvCBwAA8KuAm/MBADi7yspKVVRU2F0GHCg0NFTBwcE1Pg7hAwDqkCNHjuibb76RMcbuUuBALpdLqampiomJqdFxCB8AUEdUVlbqm2++UVRUlBo3bsxCjPArY4wOHjyob775Rq1bt67RCAjhAwDqiIqKChlj1LhxY0VGRtpdDhyocePG2r17tyoqKmoUPphwCgB1DCMesIuvfvYIHwAAwK8IHwAA1EFLliyRy+XS4cOHJUmzZ89WQkKCrTVVF+EDAIB6oF+/fvriiy/sLqNamHAKAKhTKioqFBoa6vPjlpeXKywszOfH9ZfIyMg6MxHZMSMf3x4p09i3tuqjL7+1uxQAcJTXXntNmZmZioyMVMOGDZWdna2jR49a+2fOnKmMjAxFRESobdu2mjZtmrVv9+7dcrlcmjt3rq666ipFRERo+vTpioyM1Lvvvutxnvnz5ys2NlbHjh2TdPLT0W+//XYlJCQoMTFRvXr10u7du632gwYN0i233KLx48crJSVFbdq0kSRNmzZNrVu3VkREhJKSktS3b98zvraqSx1vvPGG9T05OTnau3evR7s333xT7du3V0REhFq2bKmxY8fqxIkT1n6Xy6WZM2fq1ltvVVRUlFq3bq1///vfHsd45513dMEFFygyMlLXXHONx2v5aS1VHnvsMV122WX6xz/+oRYtWig+Pl533HGHSkpKrDYlJSXKzc1VdHS0mjZtqsmTJ+vqq6/WsGHDzviafcIEmKKiIiPJFBUV+fS4G/YcMs1HLjCXP7HIp8cFAH85fvy42bZtmzl+/Lgxxhi3222OllXY8nC73dWqed++fSYkJMQ888wzZteuXebTTz81U6dONSUlJcYYY/75z3+apk2bmtdff93s3LnTvP766yYxMdHMnj3bGGPMrl27jCTTokULq82+fftM3759zW9+8xuPc/Xp08faVl5ebjIyMszvfvc78+mnn5pt27aZO++807Rp08aUlZUZY4wZOHCgiYmJMQMGDDBbtmwxW7ZsMWvWrDHBwcEmLy/P7N6926xfv94899xzZ3x9s2bNMqGhoaZjx47mk08+MWvXrjWdOnUyV1xxhdVm2bJlJi4uzsyePdvs2LHDvP/++6ZFixbmscces9pIMqmpqSYvL898+eWX5v777zcxMTHmu+++M8YYs2fPHhMeHm6GDx9uPv/8c/PPf/7TJCUlGUnm0KFDVi3x8fHWMceMGWNiYmJM7969zebNm82yZctMcnKy+Z//+R+rzd13322aN29uPvjgA7N582Zz6623mtjYWPPAAw+c9vX+/Gfwp7x5/3bMZRfzw2qAx8orba4EAHzjeEWlLhz9ni3n3jYuR1Fhv/wWsn//fp04cUK9e/dW8+bNJUmZmZnW/jFjxmjSpEnq3bu3JCk9PV3btm3Tiy++qIEDB1rthg0bZrWRpNzcXA0YMEDHjh1TVFSUiouL9fbbb2v+/PmSpLlz58rtdmvmzJnW7aGzZs1SQkKClixZouuuu06SFB0drZkzZ1qXW+bNm6fo6GjddNNNio2NVfPmzdWuXbuzvsaKigr95S9/UefOnSVJf//735WRkaHVq1erU6dOGjt2rB566CHr9bRs2VKPP/64RowYoTFjxljHGTRokPr37y9JevLJJzVlyhStXr1a119/vaZPn67zzz9fkyZNkiS1adNGmzdv1v/+7/+etTa3263Zs2crNjZWkjRgwADl5+dr/PjxKikp0d///nfl5eWpR48eVh+lpKSc9Zi+4JjLLonRdfc6HgDUVZdeeql69OihzMxM3XbbbZoxY4YOHTokSTp69Kh27NihwYMHKyYmxno88cQT2rFjh8dxOnbs6PH8hhtuUGhoqHVp4vXXX1dcXJyys7MlSZs2bdJXX32l2NhY67iJiYkqLS31OHZmZqbHPI9rr71WzZs3V8uWLTVgwADNmTPHuoxzJiEhIbr88sut523btlVCQoI+++wzq5Zx48Z5vMZ77rlH+/fv9zj2JZdcYv05OjpacXFxOnDggCTps88+s8JNlaysrLPWJUktWrSwgockNW3a1Drmzp07VVFRoU6dOln74+PjrctPtckxIx8AUN9EhgZr27gc285dHcHBwVq0aJE++eQTvf/++3r++ef18MMPa9WqVYqKipIkzZgx45Q31p+vnhkdHe3xPCwsTH379lVeXp7uuOMO5eXlqV+/fgoJOfm2duTIEXXo0EFz5sw5pabGjRuf8bixsbFav369lixZovfff1+jR4/WY489pjVr1pzzbaxHjhzR2LFjPUZuqkRERFh//vkkWpfLJbfbfU7nrM1j+oLjwofhw5gA1BMul6talz7s5nK51LVrV3Xt2lWjR49W8+bNNX/+fA0fPlwpKSnauXOncnNzvT5ubm6urr32Wm3dulWLFy/WE088Ye1r37695s6dqyZNmiguLs6r44aEhCg7O1vZ2dkaM2aMEhIStHjx4tOGB0k6ceKE1q5da40gbN++XYcPH1ZGRoZVy/bt29WqVSuvX2OVjIyMUyagrly58pyPJ528/BMaGqo1a9YoLS1NklRUVKQvvvhC3bp1q9Gxf0ng/9T6iEssRwwA/rZq1Srl5+fruuuuU5MmTbRq1SodPHjQemMeO3as7r//fsXHx+v6669XWVmZ1q5dq0OHDmn48OFnPXa3bt2UnJys3Nxcpaene4ye5Obm6umnn1avXr00btw4paam6uuvv9a8efM0YsQIpaamnvaYCxYs0M6dO9WtWzc1aNBA77zzjtxu91kvRYSGhmro0KGaMmWKQkJCdN9996lLly5WGBk9erRuuukmpaWlqW/fvgoKCtKmTZu0ZcsWj8B0Nvfee68mTZqkBx98UHfffbfWrVun2bNnV+t7zyQ2NlYDBw7Ugw8+qMTERDVp0kRjxoxRUFBQrS/h75g5HwAA/4uLi9OyZct0ww036IILLtAjjzyiSZMmqWfPnpKku+++WzNnztSsWbOUmZmpq666SrNnz1Z6evovHtvlcql///7atGnTKSMnUVFRWrZsmdLS0tS7d29lZGRo8ODBKi0tPetISEJCgubNm6fu3bsrIyNDL7zwgl5++WVddNFFZ/yeqKgojRw5Unfeeae6du2qmJgYzZ0719qfk5OjBQsW6P3339fll1+uLl26aPLkydYE3OpIS0vT66+/rjfeeEOXXnqpXnjhBT355JPV/v4zeeaZZ5SVlaWbbrpJ2dnZ6tq1q3Xbc21ymQC7DlFcXKz4+HgVFRV5PVR2Nnu+O6ZuT3+o6LBgbR13vc+OCwD+Ulpaql27dik9Pb3W3xxQPbNnz9awYcOsJc7ruqNHj+q8887TpEmTNHjw4FP2n+1n0Jv3b8dcdqkSUEkLAAAbbdiwQZ9//rk6deqkoqIijRs3TpLUq1evWj2vY8IHn0ANAMCp/vznP2v79u0KCwtThw4dtHz5cjVq1KhWz+mY8AEAgK8NGjRIgwYNsruMc9auXTutW7fO7+dlwikAAPArx4WPwJpeCwCA8zgufAAAAHsRPgAAgF8RPgAAgF85LnwYVvoAAMBWjgkfrPMBAKgrBg0apFtuucXuMmoN63wAAGCT3bt3Kz09XRs2bNBll11mbX/uuefq9aewEz4AAHVKRUWFQkNDfX7c8vJyhYWF+fy45yI+Pt7uEmqVYy67VKnHQRIAAtJrr72mzMxMRUZGqmHDhsrOztbRo0et/TNnzrQ+SbVt27aaNm2atW/37t1yuVyaO3eurrrqKkVERGj69OmKjIzUu+++63Ge+fPnKzY2VseOHZMk7d27V7fffrsSEhKUmJioXr16affu3Vb7qksb48ePV0pKitq0aSNJmjZtmlq3bq2IiAglJSWpb9++Z3xt3333nfr376/zzjtPUVFRyszM1Msvv+zRxu1266mnnlKrVq0UHh6utLQ0jR8/XpKsT+9t166dXC6Xrr76ao/aJOmvf/2rUlJS5Ha7PY7bq1cv/e53v7Oev/nmm2rfvr0iIiLUsmVLjR07VidOnDhj7XZyzMiHi0kfAOobY6SKY/acOzSqWpPp9u/fr/79++upp57SrbfeqpKSEi1fvty6pDBnzhyNHj1af/nLX9SuXTtt2LBB99xzj6KjozVw4EDrOA899JAmTZqkdu3aKSIiQsuXL1deXp569uxptZkzZ45uueUWRUVFqaKiQjk5OcrKytLy5csVEhKiJ554Qtdff70+/fRTa4QjPz9fcXFxWrRokSRp7dq1uv/++/WPf/xDV1xxhb7//nstX778jK+vtLRUHTp00MiRIxUXF6e3335bAwYM0Pnnn69OnTpJkkaNGqUZM2Zo8uTJuvLKK7V//359/vnnkqTVq1erU6dO+uCDD3TRRRedduTltttu09ChQ/Xhhx+qR48ekqTvv/9eCxcu1DvvvCNJWr58uX77299qypQp+tWvfqUdO3bo97//vSRpzJgxv/j35G+OCR8AUO9UHJOeTLHn3P+zTwqL/sVm+/fv14kTJ9S7d281b95ckpSZmWntHzNmjCZNmqTevXtLOjkSsG3bNr344ose4WPYsGFWG0nKzc3VgAEDdOzYMUVFRam4uFhvv/225s+fL0maO3eu3G63Zs6caf3yOWvWLCUkJGjJkiW67rrrJEnR0dGaOXOm9aY/b948RUdH66abblJsbKyaN2+udu3anfH1nXfeefrv//5v6/nQoUP13nvv6V//+pc6deqkkpISPffcc/rLX/5ivZ7zzz9fV155pSSpcePGkqSGDRsqOTn5tOdo0KCBevbsqby8PCt8vPbaa2rUqJGuueYaSdLYsWP10EMPWedo2bKlHn/8cY0YMSIgw4fjLrsAAPzn0ksvVY8ePZSZmanbbrtNM2bM0KFDhyRJR48e1Y4dOzR48GDFxMRYjyeeeEI7duzwOE7Hjh09nt9www0KDQ3Vv//9b0nS66+/rri4OGVnZ0uSNm3apK+++kqxsbHWcRMTE1VaWupx7MzMTI/RhmuvvVbNmzdXy5YtNWDAAM2ZM8e6jHM6lZWVevzxx5WZmanExETFxMTovffe0549eyRJn332mcrKyqzQcK5yc3P1+uuvq6ysTNLJUZ477rhDQUFB1usdN26cRz/ec8892r9//1nrt4vjRj6Y8gGg3giNOjkCYde5qyE4OFiLFi3SJ598ovfff1/PP/+8Hn74Ya1atUpRUSePMWPGDHXu3PmU7/up6GjPUZawsDD17dtXeXl5uuOOO5SXl6d+/fopJOTk29qRI0fUoUMHzZkz55SaqkYbTnfc2NhYrV+/XkuWLNH777+v0aNH67HHHtOaNWuUkJBwyrGefvppPffcc3r22WeVmZmp6OhoDRs2TOXl5ZKkyMjIavXTL7n55ptljNHbb7+tyy+/XMuXL9fkyZOt/UeOHNHYsWM9RoeqRERE+KQGX3Jc+ACAesPlqtalD7u5XC517dpVXbt21ejRo9W8eXPNnz9fw4cPV0pKinbu3Knc3Fyvj5ubm6trr71WW7du1eLFi/XEE09Y+9q3b6+5c+eqSZMmiouL8+q4ISEhys7OVnZ2tsaMGaOEhAQtXrz4tG/sH3/8sXr16qXf/OY3kk5OLv3iiy904YUXSpJat26tyMhI5efn6+677z7l+6tGXSorK89aU0REhHr37q05c+boq6++Ups2bdS+fXuP17t9+3a1atXKq9dqF8eED6abAoD/rVq1Svn5+bruuuvUpEkTrVq1SgcPHlRGRoakk3MV7r//fsXHx+v6669XWVmZ1q5dq0OHDmn48OFnPXa3bt2UnJys3Nxcpaene4ye5Obm6umnn1avXr00btw4paam6uuvv9a8efM0YsQIpaamnvaYCxYs0M6dO9WtWzc1aNBA77zzjtxut3UnzM+1bt1ar732mj755BM1aNBAzzzzjAoLC63wERERoZEjR2rEiBEKCwtT165ddfDgQW3dulWDBw9WkyZNFBkZqYULFyo1NVURERFnvM02NzdXN910k7Zu3WqFnSqjR4/WTTfdpLS0NPXt21dBQUHatGmTtmzZ4hHKAkWN5nxMnDhRLpdLw4YNs7aVlpZqyJAhatiwoWJiYtSnTx8VFhbWtE4AQB0UFxenZcuW6YYbbtAFF1ygRx55RJMmTbLuUrn77rs1c+ZMzZo1S5mZmbrqqqs0e/Zs6xbUs3G5XOrfv782bdp0yshJVFSUli1bprS0NPXu3VsZGRkaPHiwSktLzzoSkpCQoHnz5ql79+7KyMjQCy+8oJdfflkXXXTRads/8sgjat++vXJycnT11VcrOTn5lJVJH330Uf3pT3/S6NGjlZGRoX79+unAgQOSTo6yTJkyRS+++KJSUlLUq1evM9bWvXt3JSYmavv27brzzjs99uXk5GjBggV6//33dfnll6tLly6aPHmyNck30LjMOS6htmbNGt1+++2Ki4vTNddco2effVaS9Ic//EFvv/22Zs+erfj4eN13330KCgrSxx9/XK3jFhcXKz4+XkVFRV4PlZ3NvsPHdcXExQoLDtIX43v+8jcAQIApLS3Vrl27lJ6eHpDX8VH/ne1n0Jv373Ma+Thy5Ihyc3M1Y8YMNWjQwNpeVFSkl156Sc8884y6d++uDh06aNasWfrkk0+0cuXKczkVAACoZ84pfAwZMkQ33nijdUtTlXXr1qmiosJje9u2bZWWlqYVK1ac9lhlZWUqLi72eNQG1hgDACAweD3h9JVXXtH69eu1Zs2aU/YVFBQoLCzslNuRkpKSVFBQcNrjTZgwQWPHjvW2DAAAUEd5NfKxd+9ePfDAA5ozZ47PrjeOGjVKRUVF1mPv3r0+Oe6ZGFb6AADAVl6Fj3Xr1unAgQNq3769QkJCFBISoqVLl2rKlCkKCQlRUlKSysvLdfjwYY/vKywsPOOyseHh4YqLi/N4AACA+suryy49evTQ5s2bPbbdddddatu2rUaOHKlmzZopNDRU+fn56tOnjyRp+/bt2rNnj7KysnxX9TlwsdIHgHriHG9SBGrMVz97XoWP2NhYXXzxxR7boqOj1bBhQ2v74MGDNXz4cCUmJiouLk5Dhw5VVlaWunTp4pOCAcCpqpYcLy8v99my3YA3qpaN//ny997y+QqnkydPVlBQkPr06aOysjLl5ORo2rRpvj7NOeMXBgB1VUhIiKKionTw4EGFhoZaHyoG+IPb7dbBgwcVFRVlfYbOuTrnRcZqS20tMlZQVKouE/IVEuTSV0/e4LPjAoA/lZeXa9euXXK73XaXAgcKCgpSenq6xycBV/Hm/ds5n+3ClA8A9UBYWJhat25tDX8D/hQWFuaTETfHhA8AqC+CgoJYXh11GhcMAQCAXzkufATUBBcAABzIMeGDKR8AAAQGx4QPAAAQGAgfAADArxwXPgJsWRMAABzHOeGDSR8AAAQE54QPAAAQEAgfAADArxwXPpjxAQCAvRwTPlxM+gAAICA4JnwAAIDAQPgAAAB+5bjwwTIfAADYyzHhw8WUDwAAAoJjwgcAAAgMhA8AAOBXhA8AAOBXjgkfTPkAACAwOCZ8AACAwED4AAAAfuXI8GFY7AMAANs4Jny4WOgDAICA4JjwAQAAAgPhAwAA+JUjwwdTPgAAsI9jwgczPgAACAyOCR8AACAwhNhdAOCtie9+rg8+K7S7DA9piVGaltteEaHBdpcCAAHPkeGDKR91lzFGLy7bEXDzdr46cESfflOkTumJdpcCAAHPkeEDddcJt7GCx0sDOyo63P4f4T/9a5P+c/i43IGWiAAgQNn/P7efsMZY/VDp/vENvnPLhooJgPARGcalFgDwBhNOUaf8NHwEkygBoE5yZPjgs13qrhM/DR9BhA8AqIscGT5Qd/105CMkwMIHmRYAqsf+C+Z+4mKZsVrhdht9caBEFSf888576Fi59eegAAsfAIDqcUz4QO2YuPBz/XXZTr+fN5BGPQKnEgCoGxwZPhgd952vDhyRJMVHhiraj3d93JDZ1G/nAgD4liPDB3ynam2LR2+6UH07pNpcDQCgLnDOhFPGxmtF1fzPALoKYhvDmBoAVItzwgdqRdVtyyy5AQCoLkeGD26J9J2qyy5BDk4fDn7pAHBOHBk+4Dtu98mvLt6BAQDV5JjwwXtj7fhx5MPmQgAAdYZjwgdqh7EmnJI+mG8KANXjyPDBXQm+w8gHAMBbjgwf8B23dbeLc9MHS/cDgHccEz54e6gdVWNIXHYBAFSXY8IHageLjAEAvOXI8ME6H77DImM/4scKAKrHkeEDvsOcDwCAtxzzwXL15c3xs/3F+sM/1+nw8Qq7S5EkFf9Qh5PnfDj4pQPAOXFM+Kgvln1xULu/O2Z3GR7CQoLUslG03WUAAOoIwkcdc+KHGZ7XX5Ss/85pY3M1JzWOCVd8VKjdZQAA6gjCRx3j/iF8NIgOVasmMTZXg59iIjMAVI9jJpzWl8vyVSMfwdzbCgCooxwTPuqLyh/CR0gQf3UAgLrJke9gdXl4vNIw8gEAqNuY8xHA3G6jtV8f0pGyH2+r3XXwqCQphPABAKijHBM+6uJaDHPX7tWoeZtPuy802JGDVgGNT0sGgOpxTPioi745dHI9j0YxYUpJiLS2x4SH6NeXpdhVFgAANeLI8FFXfkOturPllsvO0yM3XWhzNTiT+rJ6LgD4C2P3Aayy8ofJpcG8uQEA6g+vwsf06dN1ySWXKC4uTnFxccrKytK7775r7S8tLdWQIUPUsGFDxcTEqE+fPiosLPR50efCVQdX+qi6s4XJpXVDXb6LCgD8yavwkZqaqokTJ2rdunVau3atunfvrl69emnr1q2SpD/+8Y9666239Oqrr2rp0qXat2+fevfuXSuFO0HVmh7BDOsDAOoRr+Z83HzzzR7Px48fr+nTp2vlypVKTU3VSy+9pLy8PHXv3l2SNGvWLGVkZGjlypXq0qWL76quobryG+qPq5lydQwAUH+c84TTyspKvfrqqzp69KiysrK0bt06VVRUKDs722rTtm1bpaWlacWKFWcMH2VlZSorK7OeFxcXn2tJddqho+V6ZtEXOnSs3Nr26TdFkqQQ5nwENP52AMA7XoePzZs3KysrS6WlpYqJidH8+fN14YUXauPGjQoLC1NCQoJH+6SkJBUUFJzxeBMmTNDYsWO9LtxbgX7lYsHm/frHyq9Pu69hdJifqwEAoPZ4HT7atGmjjRs3qqioSK+99poGDhyopUuXnnMBo0aN0vDhw63nxcXFatas2Tkfr646Xn5CknRJarxubXeetT0+MlQ3ZDa1qyx4oY5czQMA23kdPsLCwtSqVStJUocOHbRmzRo999xz6tevn8rLy3X48GGP0Y/CwkIlJyef8Xjh4eEKDw/3vvIaCMQ3iUr3ya8XJMXqrq7p9hYDAEAtqvFMRrfbrbKyMnXo0EGhoaHKz8+39m3fvl179uxRVlZWTU9T71W6T6YPbqutewL9kh4ABBqvRj5GjRqlnj17Ki0tTSUlJcrLy9OSJUv03nvvKT4+XoMHD9bw4cOVmJiouLg4DR06VFlZWQF1p0ug+vHOFt7JAAD1m1fh48CBA/rtb3+r/fv3Kz4+Xpdcconee+89XXvttZKkyZMnKygoSH369FFZWZlycnI0bdq0Wim8vnG7WVAMAOAMXoWPl1566az7IyIiNHXqVE2dOrVGRdW2ihNuVYS47S7DQ3kla3rUdaauLCADADZz5AfLtXt8kd0lnFEw2QMAUM855q0uPCRI7dMS7C7jrEKDXerYItHuMuAlJpwCgHccM/Lhcrn02r1XqKT0hN2lnFFYSJAiw4LtLgMAgFrlmPAhSUFBLsVHhdpdBgAAjuaYyy5AbWO6KQBUD+EDAAD4FeEDqCEXn2sLAF4hfAAAAL8ifAAAAL8ifAC+woxTAKgWwgcAAPArwgdQQ6xwCgDeIXwAAAC/InwAAAC/InwAPmKYcQoA1UL4AAAAfkX4AGqI+aYA4B3CBwAA8CvCBwAA8CvCB+AjhvmmAFAthA8AAOBXhA+gpljiFAC8QvgAAAB+RfgAAAB+RfgAfIQJpwBQPYQPAADgV4QPoIaYbgoA3iF8AAAAvyJ8AAAAvyJ8AD7CfFMAqB7CBwAA8CvCB1BDLHAKAN4hfAAAAL8ifAAAAL8ifAA+YljiFACqhfABAAD8ivAB1BDzTQHAO4QPAADgV4QPAADgV4QPwEeYbgoA1UP4AAAAfkX4AGrIxRKnAOAVwgcAAPArwgcAAPArwgfgIyxwCgDVQ/gAAAB+RfgAaojppgDgHcIHAADwK8IHAADwK8IH4DPMOAWA6iB8AAAAvyJ8ADXEAqcA4B3CBwAA8CvCBwAA8CvCB+AjrHAKANVD+AAAAH5F+ABqyMUapwDgFcIHAADwK8IHAADwK8IH4CPMNwWA6iF8AAAAvyJ8ADXFfFMA8ArhAwAA+BXhAwAA+BXhA/ARVjgFgOohfAAAAL/yKnxMmDBBl19+uWJjY9WkSRPdcsst2r59u0eb0tJSDRkyRA0bNlRMTIz69OmjwsJCnxYNBBLmmwKAd7wKH0uXLtWQIUO0cuVKLVq0SBUVFbruuut09OhRq80f//hHvfXWW3r11Ve1dOlS7du3T7179/Z54QAAoG4K8abxwoULPZ7Pnj1bTZo00bp169StWzcVFRXppZdeUl5enrp37y5JmjVrljIyMrRy5Up16dLFd5UDAIA6qUZzPoqKiiRJiYmJkqR169apoqJC2dnZVpu2bdsqLS1NK1asOO0xysrKVFxc7PEA6iLDGqcAUC3nHD7cbreGDRumrl276uKLL5YkFRQUKCwsTAkJCR5tk5KSVFBQcNrjTJgwQfHx8dajWbNm51oSAACoA845fAwZMkRbtmzRK6+8UqMCRo0apaKiIuuxd+/eGh0P8DcXM04BwCtezfmoct9992nBggVatmyZUlNTre3JyckqLy/X4cOHPUY/CgsLlZycfNpjhYeHKzw8/FzKAAAAdZBXIx/GGN13332aP3++Fi9erPT0dI/9HTp0UGhoqPLz861t27dv1549e5SVleWbigEAQJ3m1cjHkCFDlJeXpzfffFOxsbHWPI74+HhFRkYqPj5egwcP1vDhw5WYmKi4uDgNHTpUWVlZ3OmCeo8VTgGgerwKH9OnT5ckXX311R7bZ82apUGDBkmSJk+erKCgIPXp00dlZWXKycnRtGnTfFIsAACo+7wKH6Yav9pFRERo6tSpmjp16jkXBdQlLtY4BQCv8NkuAADArwgfAADArwgfgI8w3xQAqofwAQAA/IrwAdQQK5wCgHcIHwAAwK/OaXl1AJ5CdEIud4VUWWF3KahPXEFSULDdVQA+R/gAaujOohnKi3hNelMnH4CvhERKt/+fdMF1dlcC+BSXXYAauqx0td0loL46cVzavczuKgCfY+QDqKGq+aarOk1R52t+bWstqEc+nCCtftHuKoBaQfgAfKQiLF6KbGB3GagvQsLtrgCoNVx2AQAAfkX4AAAAfkX4AAAAfkX4AAAAfkX4AAAAfkX4AAAAfkX4AHzEGLsrAIC6gfABAAD8ivABAAD8ivABAAD8ivABAAD8is92AXxk3vpvNHXXCrvLQD0x5NBm/UqSPnle2rfR3mJaZUtXDrO3BtQrhA+ghoKDTn6u7b7DpVp16Hubq0F98VL4Jz9+ZPLu5bbWoq8/lq4YKgUF21sH6g3CB1BDTWLDpe+kB7Jb6fvG7ewuB/VE2Dz3j0/6zrKniIpj0ptDJOM++RDhA75B+ABqKMh18tfTK85vJLVIsbka1Bcn5kuqWjvm4t72FFFafDJ8SD+ED8A3mHAKADg910/eIggf8CHCBwAEIJcCYMlcl+vHPxM+4EOEDwDA6THygVrirDkflSekI4V2V4H6pnif3RUAtYPwgVrinPBhjDTjaqlgs92VoL46csDuCgDfInygljgnfJwo+zF4BIV6XssEaqKy/OTXb7+0tw7A1zzCRwDMQUG94Zzw8VMjd0nhsXZXgfrisXi7K0C9FABv9ox8oJYw4RQAcHrc7YJaQvgAAJxZ1egH4QM+5KDwEQBDmABQ1xA+UAscFD4AoO5wBcrvS1b4CJSCUB84c8KpuNMFAKrnh/8vV78oRSZKGTdLDc+3tyTUeQ4NHwCAagmLko6XSR8/d/L5jnxp4Fv21oQ6zzmXXRgyBADv9ZoqtRsgtco++fzYIXvrQb3AyAcA4Mza3njysXOp9NUHkvuE3RWhHnDOyMdPsbopgIAXYKO1QT/8rmoq7a0D9YIzwwcAwDtBwSe/MvIBH3BQ+Aiw3yIAoC6pGvkgfMAHHBQ+AADnzBr5YLEx1JxDJ5wy5wNAYHMF2mht1chHyX7pL53srcVODVpIt/9dCo20u5I6zaHhAwDglbjzpOBwqbJM+na73dXY59vt0n/WSS2utLuSOs054YN1PgDg3EUlSvdvkA7tsrsS+7w5RDq0W6qssLuSOs854QMAUDPx5518OFV43Mmv3G5cY86ccMo6HwAAb1l3/BA+asqZ4QMAAlzATTgFa534kIPCB/+QAQA1wFonPsOcDwAAqsP1w8jHdzukfRt+3B7bVIpNtqemOsqh4YM5HwAALwX/8JaZP/bko4orWBq6VkpsaU9ddZBDwwcAAF667Dc/3Gr7k8suRwold4X03U7ChxecEz5Y5wMAUBOX3Hby8VMzup9cdIx5IF5x0IRTAAB8zMUdMOfCmeGDdT4AAL5QdQcMC495xZnhAwAAX2Dtj3PioPDBnA8AgI9Z4YORD284Z8IpAAC+VnXZZWOe9J/1P25PTJc6/Z7L/Gfg0PDBDwMAwAciEk5+3fnhycdPpWVJTS/xe0l1gUPDBwAAPtDjUalRa6my/Mdta2dJx7+XyortqyvAOSd8sM4HAMDXGrSQrn7Ic9v2d0+GD+aBnJGDJpwCAOAH3AHzi7wOH8uWLdPNN9+slJQUuVwuvfHGGx77jTEaPXq0mjZtqsjISGVnZ+vLL7/0Vb2+wQQgAEBtcXEHzC/xOnwcPXpUl156qaZOnXra/U899ZSmTJmiF154QatWrVJ0dLRycnJUWlpa42IBAAh4VXfAMPJxRl7P+ejZs6d69ux52n3GGD377LN65JFH1KtXL0nS//3f/ykpKUlvvPGG7rjjjppVWyPM+QAA+EHVZRdWPT0jn0443bVrlwoKCpSdnW1ti4+PV+fOnbVixYrTho+ysjKVlZVZz4uLmR0MAKjDqkY+5v2XFDLU3lrOJPF86Z58207v0/BRUFAgSUpKSvLYnpSUZO37uQkTJmjs2LG+LKMamPMBAKglyZdIX38sVRw9+QhEpUW2nt72W21HjRql4cOHW8+Li4vVrFkzGysCAKAGrp8gdbonsCecBofaenqfho/k5GRJUmFhoZo2bWptLyws1GWXXXba7wkPD1d4eLgvyzg91vkAAPiDyyU1PN/uKgKaT9f5SE9PV3JysvLzf7yOVFxcrFWrVikrK8uXpwIAAHWU1yMfR44c0VdffWU937VrlzZu3KjExESlpaVp2LBheuKJJ9S6dWulp6fr0UcfVUpKim655RZf1l0zrPMBAIBtvA4fa9eu1TXXXGM9r5qvMXDgQM2ePVsjRozQ0aNH9fvf/16HDx/WlVdeqYULFyoiIsJ3VQMAgDrL6/Bx9dVXy5xl/oTL5dK4ceM0bty4GhUGAADqJz7bBQAA+JVDwwdzPgAAsItDwwcAALAL4QMAAPiVc8IHi4wBABAQnBM+fop1PgAAsI0zwwcAALAN4QMAAPiVg8IHcz4AAAgEDgofP8GcDwAAbOPM8AEAAGxD+AAAAH7lnPDBOh8AAAQE54QPAAAQEAgfAADArwgfAADArxwUPpjzAQBAIHBQ+KjCGh8AANjJgeEDAADYifABAAD8yjnhg3U+AAAICM4JH1X4XBcAAGzlvPABAABsRfgAAAB+5aDwwZwPAAACgYPCRxXmfAAAYCcHhg8AAGAnwgcAAPAr54QP1vkAACAgOCd8VGGdDwAAbOW88AEAAGxF+AAAAH7loPDBnA8AAAKBg8JHFeZ8AABgJweGDwAAYCfCBwAA8CvnhA/W+QAAICA4J3wAAICA4LzwwSJjAADYynnhAwAA2MpB4YM5HwAABAIHhQ8AABAIHBg+mPMBAICdHBg+AACAnZwTPljnAwCAgOCc8AEAAAKC88IH63wAAGAr54UPAABgK8IHAADwKweFDyacAgAQCBwUPqow5wMAADs5MHwAAAA7ET4AAIBfOSd8sMgYAAABwTnhowrrfAAAYCvnhQ8AAGArwgcAAPArB4UP5nwAABAIHBQ+qjDnAwAAOzkwfAAAADsRPgAAgF85J3ywzgcAAAHBOeGjCut8AABgK+eFDwAAYCvCBwAA8KtaCx9Tp05VixYtFBERoc6dO2v16tW1dapqYs4HAACBoFbCx9y5czV8+HCNGTNG69ev16WXXqqcnBwdOHCgNk7nJeZ8AABgp1oJH88884zuuece3XXXXbrwwgv1wgsvKCoqSn/7299q43QAAKAOCfH1AcvLy7Vu3TqNGjXK2hYUFKTs7GytWLHilPZlZWUqKyuznhcXF/u6pJOOfls7xwWAWjb2ra12l4B6plFMuIZc08q28/s8fHz77beqrKxUUlKSx/akpCR9/vnnp7SfMGGCxo4d6+syThUUfPJreGztnwvOlHyx3RWgHjnQqLOafLtKK90ZmvXxbrvLQT3TsnF0/Qof3ho1apSGDx9uPS8uLlazZs18f6KEFtKv/iS1utb3x4az3fuRtH+T1OYGuytBPRI7IE8fvz1D6+O6a0hovN3loJ5pEBVm6/l9Hj4aNWqk4OBgFRYWemwvLCxUcnLyKe3Dw8MVHh7u6zJOFd1Q6jG69s8D50nOPPkAfCgyvpG63jlKXe0uBKgFPp9wGhYWpg4dOig/P9/a5na7lZ+fr6ysLF+fDgAA1DG1ctll+PDhGjhwoDp27KhOnTrp2Wef1dGjR3XXXXfVxukAAEAdUivho1+/fjp48KBGjx6tgoICXXbZZVq4cOEpk1ABAIDzuIwJrI97LS4uVnx8vIqKihQXF2d3OQAAoBq8ef/ms10AAIBfET4AAIBfET4AAIBfET4AAIBfET4AAIBfET4AAIBfET4AAIBfET4AAIBfET4AAIBf1cry6jVRteBqcXGxzZUAAIDqqnrfrs7C6QEXPkpKSiRJzZo1s7kSAADgrZKSEsXHx5+1TcB9tovb7da+ffsUGxsrl8vl02MXFxerWbNm2rt3L58b8wP65PTol9OjX05Fn5we/XKq+t4nxhiVlJQoJSVFQUFnn9URcCMfQUFBSk1NrdVzxMXF1cu/+JqgT06Pfjk9+uVU9Mnp0S+nqs998ksjHlWYcAoAAPyK8AEAAPzKUeEjPDxcY8aMUXh4uN2lBAz65PTol9OjX05Fn5we/XIq+uRHATfhFAAA1G+OGvkAAAD2I3wAAAC/InwAAAC/InwAAAC/ckz4mDp1qlq0aKGIiAh17txZq1evtrukczZhwgRdfvnlio2NVZMmTXTLLbdo+/btHm1KS0s1ZMgQNWzYUDExMerTp48KCws92uzZs0c33nijoqKi1KRJEz344IM6ceKER5slS5aoffv2Cg8PV6tWrTR79uxT6gnEvp04caJcLpeGDRtmbXNqn/znP//Rb37zGzVs2FCRkZHKzMzU2rVrrf3GGI0ePVpNmzZVZGSksrOz9eWXX3oc4/vvv1dubq7i4uKUkJCgwYMH68iRIx5tPv30U/3qV79SRESEmjVrpqeeeuqUWl599VW1bdtWERERyszM1DvvvFM7L/osKisr9eijjyo9PV2RkZE6//zz9fjjj3t8HoUT+mTZsmW6+eablZKSIpfLpTfeeMNjfyD1QXVq8ZWz9UtFRYVGjhypzMxMRUdHKyUlRb/97W+1b98+j2PUx37xOeMAr7zyigkLCzN/+9vfzNatW80999xjEhISTGFhod2lnZOcnBwza9Yss2XLFrNx40Zzww03mLS0NHPkyBGrzb333muaNWtm8vPzzdq1a02XLl3MFVdcYe0/ceKEufjii012drbZsGGDeeedd0yjRo3MqFGjrDY7d+40UVFRZvjw4Wbbtm3m+eefN8HBwWbhwoVWm0Ds29WrV5sWLVqYSy65xDzwwAPWdif2yffff2+aN29uBg0aZFatWmV27txp3nvvPfPVV19ZbSZOnGji4+PNG2+8YTZt2mR+/etfm/T0dHP8+HGrzfXXX28uvfRSs3LlSrN8+XLTqlUr079/f2t/UVGRSUpKMrm5uWbLli3m5ZdfNpGRkebFF1+02nz88ccmODjYPPXUU2bbtm3mkUceMaGhoWbz5s3+6YwfjB8/3jRs2NAsWLDA7Nq1y7z66qsmJibGPPfcc1YbJ/TJO++8Yx5++GEzb948I8nMnz/fY38g9UF1avFHvxw+fNhkZ2ebuXPnms8//9ysWLHCdOrUyXTo0MHjGPWxX3zNEeGjU6dOZsiQIdbzyspKk5KSYiZMmGBjVb5z4MABI8ksXbrUGHPyH0hoaKh59dVXrTafffaZkWRWrFhhjDn5DywoKMgUFBRYbaZPn27i4uJMWVmZMcaYESNGmIsuusjjXP369TM5OTnW80Dr25KSEtO6dWuzaNEic9VVV1nhw6l9MnLkSHPllVeecb/b7TbJycnm6aeftrYdPnzYhIeHm5dfftkYY8y2bduMJLNmzRqrzbvvvmtcLpf5z3/+Y4wxZtq0aaZBgwZWP1Wdu02bNtbz22+/3dx4440e5+/cubP5r//6r5q9SC/deOON5ne/+53Htt69e5vc3FxjjDP75OdvsoHUB9WppbacLpT93OrVq40k8/XXXxtjnNEvvlDvL7uUl5dr3bp1ys7OtrYFBQUpOztbK1assLEy3ykqKpIkJSYmSpLWrVuniooKj9fctm1bpaWlWa95xYoVyszMVFJSktUmJydHxcXF2rp1q9Xmp8eoalN1jEDs2yFDhujGG288pW6n9sm///1vdezYUbfddpuaNGmidu3aacaMGdb+Xbt2qaCgwKPe+Ph4de7c2aNfEhIS1LFjR6tNdna2goKCtGrVKqtNt27dFBYWZrXJycnR9u3bdejQIavN2frOX6644grl5+friy++kCRt2rRJH330kXr27CnJmX3yc4HUB9WpxU5FRUVyuVxKSEiQRL9UV70PH99++60qKys93lAkKSkpSQUFBTZV5Ttut1vDhg1T165ddfHFF0uSCgoKFBYWZv1jqPLT11xQUHDaPqnad7Y2xcXFOn78eMD17SuvvKL169drwoQJp+xzap/s3LlT06dPV+vWrfXee+/pD3/4g+6//379/e9/l/Tj6zpbvQUFBWrSpInH/pCQECUmJvqk7/zdLw899JDuuOMOtW3bVqGhoWrXrp2GDRum3Nxcj3qd1Cc/F0h9UJ1a7FJaWqqRI0eqf//+1gfF0S/VE3CfagvvDBkyRFu2bNFHH31kdym22rt3rx544AEtWrRIERERdpcTMNxutzp27Kgnn3xSktSuXTtt2bJFL7zwggYOHGhzdfb417/+pTlz5igvL08XXXSRNm7cqGHDhiklJcWxfQLvVVRU6Pbbb5cxRtOnT7e7nDqn3o98NGrUSMHBwafc1VBYWKjk5GSbqvKN++67TwsWLNCHH36o1NRUa3tycrLKy8t1+PBhj/Y/fc3Jycmn7ZOqfWdrExcXp8jIyIDq23Xr1unAgQNq3769QkJCFBISoqVLl2rKlCkKCQlRUlKS4/pEkpo2baoLL7zQY1tGRob27Nkj6cfXdbZ6k5OTdeDAAY/9J06c0Pfff++TvvN3vzz44IPW6EdmZqYGDBigP/7xj9aImRP75OcCqQ+qU4u/VQWPr7/+WosWLbJGPSRn94s36n34CAsLU4cOHZSfn29tc7vdys/PV1ZWlo2VnTtjjO677z7Nnz9fixcvVnp6usf+Dh06KDQ01OM1b9++XXv27LFec1ZWljZv3uzxj6TqH1HVm1VWVpbHMaraVB0jkPq2R48e2rx5szZu3Gg9OnbsqNzcXOvPTusTSeratespt2F/8cUXat68uSQpPT1dycnJHvUWFxdr1apVHv1y+PBhrVu3zmqzePFiud1ude7c2WqzbNkyVVRUWG0WLVqkNm3aqEGDBlabs/Wdvxw7dkxBQZ7/9QUHB8vtdktyZp/8XCD1QXVq8aeq4PHll1/qgw8+UMOGDT32O7VfvGb3jFd/eOWVV0x4eLiZPXu22bZtm/n9739vEhISPO5qqEv+8Ic/mPj4eLNkyRKzf/9+63Hs2DGrzb333mvS0tLM4sWLzdq1a01WVpbJysqy9lfdVnrdddeZjRs3moULF5rGjRuf9rbSBx980Hz22Wdm6tSpp72tNFD79qd3uxjjzD5ZvXq1CQkJMePHjzdffvmlmTNnjomKijL//Oc/rTYTJ040CQkJ5s033zSffvqp6dWr12lvqWzXrp1ZtWqV+eijj0zr1q09bh08fPiwSUpKMgMGDDBbtmwxr7zyiomKijrl1sGQkBDz5z//2Xz22WdmzJgxttxqO3DgQHPeeedZt9rOmzfPNGrUyIwYMcJq44Q+KSkpMRs2bDAbNmwwkswzzzxjNmzYYN21EUh9UJ1a/NEv5eXl5te//rVJTU01Gzdu9Pj/96d3rtTHfvE1R4QPY4x5/vnnTVpamgkLCzOdOnUyK1eutLukcybptI9Zs2ZZbY4fP27+3//7f6ZBgwYmKirK3HrrrWb//v0ex9m9e7fp2bOniYyMNI0aNTJ/+tOfTEVFhUebDz/80Fx22WUmLCzMtGzZ0uMcVQK1b38ePpzaJ2+99Za5+OKLTXh4uGnbtq3561//6rHf7XabRx991CQlJZnw8HDTo0cPs337do823333nenfv7+JiYkxcXFx5q677jIlJSUebTZt2mSuvPJKEx4ebs477zwzceLEU2r517/+ZS644AITFhZmLrroIvP222/7/gX/guLiYvPAAw+YtLQ0ExERYVq2bGkefvhhjzcPJ/TJhx9+eNr/RwYOHGiMCaw+qE4tvnK2ftm1a9cZ///98MMP63W/+JrLmJ8s6wcAAFDL6v2cDwAAEFgIHwAAwK8IHwAAwK8IHwAAwK8IHwAAwK8IHwAAwK8IHwAAwK8IHwAAwK8IHwAAwK8IHwAAwK8IHwAAwK8IHwAAwK/+P6SL9CKkCbEwAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.plot(df_service_single.servers_pending, label=\"servers pending\")\n",
    "plt.plot(df_service_single.servers_active, label=\"servers active\")\n",
    "\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "1a688c2d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7fd9cfa736d0>"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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y263N3i/dREWFubpEoAmyycPuwC+5p133lFCQoKCgoLUsmVLJScnq6SkxFw+b94885tUO3furNmzZ5vLDh8+LJvNpsWLF+vmm2+Ww+HQnDlzFBQUpI8++shlO0uXLlVoaKhOnz4tSTp69KjuuecehYeHKyIiQoMHD9bhw4fN9rWHNqZMmaKYmBh16tRJkjR79mx17NhRDodDUVFRuuuuu8773P71r39p+PDhuvzyyxUcHKyEhAS99dZbLm2qq6v14osvqkOHDgoMDFRsbKymTJkiSea393br1k02m0233HKLS22S9L//+7+KiYlRdXW1S7+DBw/WAw88YN5/77331L17dzkcDrVv316TJk1SZWXleWsHfJXPjHwAl4RhSBWnPbPtgOCLGsXLzc3V8OHD9eKLL+qXv/yliouLtWHDBvOQwsKFCzVhwgS99tpr6tatm3bs2KGHHnpIzZs318iRI81+xo0bp2nTpqlbt25yOBzasGGDMjMzNWDAALPNwoULNWTIEAUHB6uiokIpKSlKSkrShg0b5O/vr+eee0633367vvjiC3OEIysrS06nU6tXr5Ykbdu2TY8++qj+9re/6Re/+IVOnDihDRs2nPf5lZaWKjExUU8++aScTqc+/PBDjRgxQldeeaV69OghSRo/frzmzp2rGTNm6MYbb1Rubq6+/PJLSdKWLVvUo0cP/d///Z+uueaac4683H333Ro9erQ++eQT9evXT5J04sQJrVy5UitWrJAkbdiwQb/+9a81c+ZM3XTTTTpw4IB+85vfSJImTpz4s/sJ8CWED6A+Kk5Lz8d4Ztt/OCbZm/9ss9zcXFVWVio1NVXt2rWTJCUkJJjLJ06cqGnTpik1NVVSzUjAvn379MYbb7iEjzFjxphtJCktLU0jRozQ6dOnFRwcrKKiIn344YdaunSpJGnx4sWqrq7WvHnzZPt3SJo/f77Cw8O1du1a3XbbbZKk5s2ba968eeaH/pIlS9S8eXMNGjRIoaGhateunbp163be53f55Zfr97//vXl/9OjR+vjjj/X3v/9dPXr0UHFxsV555RW99tpr5vO58sordeONN0qSWrduLUlq2bKloqOjz7mNFi1aaMCAAcrMzDTDxzvvvKNWrVrp1ltvlSRNmjRJ48aNM7fRvn17/fGPf9TYsWMJH8BPcNgFaOK6du2qfv36KSEhQXff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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.plot(df_service_multi.servers_pending, label=\"servers pending\")\n",
    "plt.plot(df_service_multi.servers_active, label=\"servers active\")\n",
    "\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "dc4e17cd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>timestamp</th>\n",
       "      <th>hosts_up</th>\n",
       "      <th>hosts_down</th>\n",
       "      <th>servers_pending</th>\n",
       "      <th>servers_active</th>\n",
       "      <th>attempts_success</th>\n",
       "      <th>attempts_failure</th>\n",
       "      <th>attempts_error</th>\n",
       "      <th>absolute_timestamp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>129629</th>\n",
       "      <td>1970-04-01 00:30:00+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>49</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-11-10 14:04:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>129630</th>\n",
       "      <td>1970-04-01 00:31:00+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>49</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-11-10 14:05:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>129631</th>\n",
       "      <td>1970-04-01 00:32:00+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>49</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-11-10 14:06:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>129632</th>\n",
       "      <td>1970-04-01 00:33:00+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>49</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-11-10 14:07:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>129633</th>\n",
       "      <td>1970-04-01 00:34:00+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>49</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-11-10 14:08:46+00:00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                       timestamp  hosts_up  hosts_down  servers_pending  \\\n",
       "129629 1970-04-01 00:30:00+00:00         1           0                0   \n",
       "129630 1970-04-01 00:31:00+00:00         1           0                0   \n",
       "129631 1970-04-01 00:32:00+00:00         1           0                0   \n",
       "129632 1970-04-01 00:33:00+00:00         1           0                0   \n",
       "129633 1970-04-01 00:34:00+00:00         1           0                0   \n",
       "\n",
       "        servers_active  attempts_success  attempts_failure  attempts_error  \\\n",
       "129629              10                49                 1               0   \n",
       "129630              10                49                 1               0   \n",
       "129631              10                49                 1               0   \n",
       "129632              10                49                 1               0   \n",
       "129633              10                49                 1               0   \n",
       "\n",
       "              absolute_timestamp  \n",
       "129629 2013-11-10 14:04:46+00:00  \n",
       "129630 2013-11-10 14:05:46+00:00  \n",
       "129631 2013-11-10 14:06:46+00:00  \n",
       "129632 2013-11-10 14:07:46+00:00  \n",
       "129633 2013-11-10 14:08:46+00:00  "
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_service_single.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "354fc3eb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>timestamp</th>\n",
       "      <th>hosts_up</th>\n",
       "      <th>hosts_down</th>\n",
       "      <th>servers_pending</th>\n",
       "      <th>servers_active</th>\n",
       "      <th>attempts_success</th>\n",
       "      <th>attempts_failure</th>\n",
       "      <th>attempts_error</th>\n",
       "      <th>absolute_timestamp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>43209</th>\n",
       "      <td>1970-01-31 00:10:00+00:00</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>48</td>\n",
       "      <td>50</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:41:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43210</th>\n",
       "      <td>1970-01-31 00:11:00+00:00</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>48</td>\n",
       "      <td>50</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:42:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43211</th>\n",
       "      <td>1970-01-31 00:12:00+00:00</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>47</td>\n",
       "      <td>50</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:43:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43212</th>\n",
       "      <td>1970-01-31 00:13:00+00:00</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>44</td>\n",
       "      <td>50</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:44:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43213</th>\n",
       "      <td>1970-01-31 00:14:00+00:00</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>44</td>\n",
       "      <td>50</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:45:46+00:00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                      timestamp  hosts_up  hosts_down  servers_pending  \\\n",
       "43209 1970-01-31 00:10:00+00:00         9           0                0   \n",
       "43210 1970-01-31 00:11:00+00:00         9           0                0   \n",
       "43211 1970-01-31 00:12:00+00:00         9           0                0   \n",
       "43212 1970-01-31 00:13:00+00:00         9           0                0   \n",
       "43213 1970-01-31 00:14:00+00:00         9           0                0   \n",
       "\n",
       "       servers_active  attempts_success  attempts_failure  attempts_error  \\\n",
       "43209              48                50                 0               0   \n",
       "43210              48                50                 0               0   \n",
       "43211              47                50                 0               0   \n",
       "43212              44                50                 0               0   \n",
       "43213              44                50                 0               0   \n",
       "\n",
       "             absolute_timestamp  \n",
       "43209 2013-09-11 13:41:46+00:00  \n",
       "43210 2013-09-11 13:42:46+00:00  \n",
       "43211 2013-09-11 13:43:46+00:00  \n",
       "43212 2013-09-11 13:44:46+00:00  \n",
       "43213 2013-09-11 13:45:46+00:00  "
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_service_multi.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 213,
   "id": "10944a0c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['timestamp', 'host_id', 'cpu_count', 'mem_capacity',\n",
       "       'guests_terminated', 'guests_running', 'guests_error', 'guests_invalid',\n",
       "       'cpu_limit', 'cpu_usage', 'cpu_demand', 'cpu_utilization',\n",
       "       'cpu_time_active', 'cpu_time_idle', 'cpu_time_steal', 'cpu_time_lost',\n",
       "       'power_total', 'uptime', 'downtime', 'boot_time', 'absolute_timestamp'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 213,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_host_single.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 227,
   "id": "96de59a0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1970-01-31 00:09:00+00:00    4089\n",
       "1970-01-28 01:28:00+00:00    4003\n",
       "1970-01-18 12:18:00+00:00    3931\n",
       "1970-01-16 23:01:00+00:00    3825\n",
       "1970-01-23 07:56:00+00:00    3722\n",
       "                             ... \n",
       "1970-01-15 05:13:00+00:00       1\n",
       "1970-01-15 05:10:00+00:00       1\n",
       "1970-01-01 14:08:00+00:00       1\n",
       "1970-01-15 05:00:00+00:00       1\n",
       "1970-01-14 20:07:00+00:00       1\n",
       "Name: timestamp, Length: 40625, dtype: int64"
      ]
     },
     "execution_count": 227,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_server_single.timestamp.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 230,
   "id": "c9558f64",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>timestamp</th>\n",
       "      <th>host_id</th>\n",
       "      <th>cpu_count</th>\n",
       "      <th>mem_capacity</th>\n",
       "      <th>guests_terminated</th>\n",
       "      <th>guests_running</th>\n",
       "      <th>guests_error</th>\n",
       "      <th>guests_invalid</th>\n",
       "      <th>cpu_limit</th>\n",
       "      <th>cpu_usage</th>\n",
       "      <th>...</th>\n",
       "      <th>cpu_utilization</th>\n",
       "      <th>cpu_time_active</th>\n",
       "      <th>cpu_time_idle</th>\n",
       "      <th>cpu_time_steal</th>\n",
       "      <th>cpu_time_lost</th>\n",
       "      <th>power_total</th>\n",
       "      <th>uptime</th>\n",
       "      <th>downtime</th>\n",
       "      <th>boot_time</th>\n",
       "      <th>absolute_timestamp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>43210</th>\n",
       "      <td>1970-01-31 00:11:00+00:00</td>\n",
       "      <td>b'\\xe2 \\xa89{\\x1d\\xcd\\xaf\\x00\\x00\\x00\\x00\\x00\\...</td>\n",
       "      <td>8</td>\n",
       "      <td>128000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>25600.0</td>\n",
       "      <td>0.21875</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000009</td>\n",
       "      <td>0</td>\n",
       "      <td>480</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12000.226863</td>\n",
       "      <td>60000</td>\n",
       "      <td>0</td>\n",
       "      <td>1970-01-01 00:00:00+00:00</td>\n",
       "      <td>2013-09-11 13:45:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43211</th>\n",
       "      <td>1970-01-31 00:12:00+00:00</td>\n",
       "      <td>b'\\xe2 \\xa89{\\x1d\\xcd\\xaf\\x00\\x00\\x00\\x00\\x00\\...</td>\n",
       "      <td>8</td>\n",
       "      <td>128000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>25600.0</td>\n",
       "      <td>0.21875</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000009</td>\n",
       "      <td>0</td>\n",
       "      <td>480</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12000.076864</td>\n",
       "      <td>60000</td>\n",
       "      <td>0</td>\n",
       "      <td>1970-01-01 00:00:00+00:00</td>\n",
       "      <td>2013-09-11 13:46:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43212</th>\n",
       "      <td>1970-01-31 00:13:00+00:00</td>\n",
       "      <td>b'\\xe2 \\xa89{\\x1d\\xcd\\xaf\\x00\\x00\\x00\\x00\\x00\\...</td>\n",
       "      <td>8</td>\n",
       "      <td>128000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>25600.0</td>\n",
       "      <td>0.21875</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000009</td>\n",
       "      <td>0</td>\n",
       "      <td>480</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12000.076864</td>\n",
       "      <td>60000</td>\n",
       "      <td>0</td>\n",
       "      <td>1970-01-01 00:00:00+00:00</td>\n",
       "      <td>2013-09-11 13:47:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43213</th>\n",
       "      <td>1970-01-31 00:14:00+00:00</td>\n",
       "      <td>b'\\xe2 \\xa89{\\x1d\\xcd\\xaf\\x00\\x00\\x00\\x00\\x00\\...</td>\n",
       "      <td>8</td>\n",
       "      <td>128000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>25600.0</td>\n",
       "      <td>0.21875</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000009</td>\n",
       "      <td>0</td>\n",
       "      <td>480</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12000.076864</td>\n",
       "      <td>60000</td>\n",
       "      <td>0</td>\n",
       "      <td>1970-01-01 00:00:00+00:00</td>\n",
       "      <td>2013-09-11 13:48:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43214</th>\n",
       "      <td>1970-01-31 00:15:00+00:00</td>\n",
       "      <td>b'\\xe2 \\xa89{\\x1d\\xcd\\xaf\\x00\\x00\\x00\\x00\\x00\\...</td>\n",
       "      <td>8</td>\n",
       "      <td>128000</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>25600.0</td>\n",
       "      <td>0.21875</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000009</td>\n",
       "      <td>0</td>\n",
       "      <td>480</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12000.076864</td>\n",
       "      <td>60000</td>\n",
       "      <td>0</td>\n",
       "      <td>1970-01-01 00:00:00+00:00</td>\n",
       "      <td>2013-09-11 13:49:46+00:00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 21 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                      timestamp  \\\n",
       "43210 1970-01-31 00:11:00+00:00   \n",
       "43211 1970-01-31 00:12:00+00:00   \n",
       "43212 1970-01-31 00:13:00+00:00   \n",
       "43213 1970-01-31 00:14:00+00:00   \n",
       "43214 1970-01-31 00:15:00+00:00   \n",
       "\n",
       "                                                 host_id  cpu_count  \\\n",
       "43210  b'\\xe2 \\xa89{\\x1d\\xcd\\xaf\\x00\\x00\\x00\\x00\\x00\\...          8   \n",
       "43211  b'\\xe2 \\xa89{\\x1d\\xcd\\xaf\\x00\\x00\\x00\\x00\\x00\\...          8   \n",
       "43212  b'\\xe2 \\xa89{\\x1d\\xcd\\xaf\\x00\\x00\\x00\\x00\\x00\\...          8   \n",
       "43213  b'\\xe2 \\xa89{\\x1d\\xcd\\xaf\\x00\\x00\\x00\\x00\\x00\\...          8   \n",
       "43214  b'\\xe2 \\xa89{\\x1d\\xcd\\xaf\\x00\\x00\\x00\\x00\\x00\\...          8   \n",
       "\n",
       "       mem_capacity  guests_terminated  guests_running  guests_error  \\\n",
       "43210        128000                  0               0             0   \n",
       "43211        128000                  0               0             0   \n",
       "43212        128000                  0               0             0   \n",
       "43213        128000                  0               0             0   \n",
       "43214        128000                  0              16             0   \n",
       "\n",
       "       guests_invalid  cpu_limit  cpu_usage  ...  cpu_utilization  \\\n",
       "43210               0    25600.0    0.21875  ...         0.000009   \n",
       "43211               0    25600.0    0.21875  ...         0.000009   \n",
       "43212               0    25600.0    0.21875  ...         0.000009   \n",
       "43213               0    25600.0    0.21875  ...         0.000009   \n",
       "43214               0    25600.0    0.21875  ...         0.000009   \n",
       "\n",
       "       cpu_time_active  cpu_time_idle  cpu_time_steal  cpu_time_lost  \\\n",
       "43210                0            480               0              0   \n",
       "43211                0            480               0              0   \n",
       "43212                0            480               0              0   \n",
       "43213                0            480               0              0   \n",
       "43214                0            480               0              0   \n",
       "\n",
       "        power_total  uptime  downtime                 boot_time  \\\n",
       "43210  12000.226863   60000         0 1970-01-01 00:00:00+00:00   \n",
       "43211  12000.076864   60000         0 1970-01-01 00:00:00+00:00   \n",
       "43212  12000.076864   60000         0 1970-01-01 00:00:00+00:00   \n",
       "43213  12000.076864   60000         0 1970-01-01 00:00:00+00:00   \n",
       "43214  12000.076864   60000         0 1970-01-01 00:00:00+00:00   \n",
       "\n",
       "             absolute_timestamp  \n",
       "43210 2013-09-11 13:45:46+00:00  \n",
       "43211 2013-09-11 13:46:46+00:00  \n",
       "43212 2013-09-11 13:47:46+00:00  \n",
       "43213 2013-09-11 13:48:46+00:00  \n",
       "43214 2013-09-11 13:49:46+00:00  \n",
       "\n",
       "[5 rows x 21 columns]"
      ]
     },
     "execution_count": 230,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_host_single.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 239,
   "id": "7fd62244",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>timestamp</th>\n",
       "      <th>hosts_up</th>\n",
       "      <th>hosts_down</th>\n",
       "      <th>servers_pending</th>\n",
       "      <th>servers_active</th>\n",
       "      <th>attempts_success</th>\n",
       "      <th>attempts_failure</th>\n",
       "      <th>attempts_error</th>\n",
       "      <th>absolute_timestamp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>43205</th>\n",
       "      <td>1970-01-31 00:06:00+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>35</td>\n",
       "      <td>15</td>\n",
       "      <td>15</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:40:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43206</th>\n",
       "      <td>1970-01-31 00:07:00+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>35</td>\n",
       "      <td>15</td>\n",
       "      <td>15</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:41:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43207</th>\n",
       "      <td>1970-01-31 00:08:00+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>35</td>\n",
       "      <td>15</td>\n",
       "      <td>15</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:42:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43208</th>\n",
       "      <td>1970-01-31 00:09:00+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>35</td>\n",
       "      <td>15</td>\n",
       "      <td>15</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:43:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43209</th>\n",
       "      <td>1970-01-31 00:10:00+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>35</td>\n",
       "      <td>0</td>\n",
       "      <td>15</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:44:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43210</th>\n",
       "      <td>1970-01-31 00:11:00+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>33</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:45:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43211</th>\n",
       "      <td>1970-01-31 00:13:00+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>33</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:47:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43212</th>\n",
       "      <td>1970-01-31 00:13:00+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>33</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:47:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43213</th>\n",
       "      <td>1970-01-31 00:14:00+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>33</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:48:46+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43214</th>\n",
       "      <td>1970-01-31 00:15:00+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>49</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-09-11 13:49:46+00:00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                      timestamp  hosts_up  hosts_down  servers_pending  \\\n",
       "43205 1970-01-31 00:06:00+00:00         1           0               35   \n",
       "43206 1970-01-31 00:07:00+00:00         1           0               35   \n",
       "43207 1970-01-31 00:08:00+00:00         1           0               35   \n",
       "43208 1970-01-31 00:09:00+00:00         1           0               35   \n",
       "43209 1970-01-31 00:10:00+00:00         1           0               35   \n",
       "43210 1970-01-31 00:11:00+00:00         1           0               16   \n",
       "43211 1970-01-31 00:13:00+00:00         1           0               16   \n",
       "43212 1970-01-31 00:13:00+00:00         1           0               16   \n",
       "43213 1970-01-31 00:14:00+00:00         1           0               16   \n",
       "43214 1970-01-31 00:15:00+00:00         1           0                0   \n",
       "\n",
       "       servers_active  attempts_success  attempts_failure  attempts_error  \\\n",
       "43205              15                15                 0               0   \n",
       "43206              15                15                 0               0   \n",
       "43207              15                15                 0               0   \n",
       "43208              15                15                 0               0   \n",
       "43209               0                15                 0               0   \n",
       "43210               0                33                 1               0   \n",
       "43211               0                33                 1               0   \n",
       "43212               0                33                 1               0   \n",
       "43213               0                33                 1               0   \n",
       "43214              16                49                 1               0   \n",
       "\n",
       "             absolute_timestamp  \n",
       "43205 2013-09-11 13:40:46+00:00  \n",
       "43206 2013-09-11 13:41:46+00:00  \n",
       "43207 2013-09-11 13:42:46+00:00  \n",
       "43208 2013-09-11 13:43:46+00:00  \n",
       "43209 2013-09-11 13:44:46+00:00  \n",
       "43210 2013-09-11 13:45:46+00:00  \n",
       "43211 2013-09-11 13:47:46+00:00  \n",
       "43212 2013-09-11 13:47:46+00:00  \n",
       "43213 2013-09-11 13:48:46+00:00  \n",
       "43214 2013-09-11 13:49:46+00:00  "
      ]
     },
     "execution_count": 239,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_service_single.tail(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 237,
   "id": "5a40d667",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>index</th>\n",
       "      <th>id</th>\n",
       "      <th>start_time</th>\n",
       "      <th>stop_time</th>\n",
       "      <th>cpu_count</th>\n",
       "      <th>cpu_capacity</th>\n",
       "      <th>mem_capacity</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>1019</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2926.000135</td>\n",
       "      <td>181352</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>26</td>\n",
       "      <td>466</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>4</td>\n",
       "      <td>10399.997372</td>\n",
       "      <td>3141632</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>27</td>\n",
       "      <td>467</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>4</td>\n",
       "      <td>10399.998408</td>\n",
       "      <td>3133440</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>28</td>\n",
       "      <td>501</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>4</td>\n",
       "      <td>10399.999796</td>\n",
       "      <td>3141632</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>29</td>\n",
       "      <td>506</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>4</td>\n",
       "      <td>10399.998452</td>\n",
       "      <td>3133440</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>30</td>\n",
       "      <td>550</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2599.999951</td>\n",
       "      <td>1867776</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>31</td>\n",
       "      <td>554</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2926.000135</td>\n",
       "      <td>4194304</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>33</td>\n",
       "      <td>578</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2599.999626</td>\n",
       "      <td>2092352</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>34</td>\n",
       "      <td>607</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2599.999626</td>\n",
       "      <td>4058292</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>35</td>\n",
       "      <td>626</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>4</td>\n",
       "      <td>10399.998504</td>\n",
       "      <td>16355328</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>36</td>\n",
       "      <td>636</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>4</td>\n",
       "      <td>10399.998500</td>\n",
       "      <td>16361472</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>37</td>\n",
       "      <td>677</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>4</td>\n",
       "      <td>10399.999796</td>\n",
       "      <td>8257536</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>38</td>\n",
       "      <td>720</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>8</td>\n",
       "      <td>23407.996128</td>\n",
       "      <td>33419264</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>39</td>\n",
       "      <td>740</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>32</td>\n",
       "      <td>86399.988608</td>\n",
       "      <td>130457600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>40</td>\n",
       "      <td>750</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>8</td>\n",
       "      <td>20799.995096</td>\n",
       "      <td>33394652</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>41</td>\n",
       "      <td>796</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2925.999560</td>\n",
       "      <td>4194304</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>42</td>\n",
       "      <td>832</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>2</td>\n",
       "      <td>5199.999232</td>\n",
       "      <td>8388608</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>43</td>\n",
       "      <td>841</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>2</td>\n",
       "      <td>5851.999120</td>\n",
       "      <td>2095104</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>44</td>\n",
       "      <td>851</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>2</td>\n",
       "      <td>5852.000242</td>\n",
       "      <td>4194304</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>45</td>\n",
       "      <td>857</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2926.000073</td>\n",
       "      <td>2097152</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>46</td>\n",
       "      <td>871</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>4</td>\n",
       "      <td>11704.000748</td>\n",
       "      <td>16703488</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>47</td>\n",
       "      <td>915</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2599.999636</td>\n",
       "      <td>262144</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>25</td>\n",
       "      <td>463</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>4</td>\n",
       "      <td>10399.998504</td>\n",
       "      <td>3149824</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>48</td>\n",
       "      <td>957</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>4</td>\n",
       "      <td>10399.999788</td>\n",
       "      <td>8388608</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>24</td>\n",
       "      <td>449</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>4</td>\n",
       "      <td>10399.998520</td>\n",
       "      <td>8392704</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>22</td>\n",
       "      <td>378</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>2</td>\n",
       "      <td>5199.999280</td>\n",
       "      <td>8359936</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>1</td>\n",
       "      <td>1023</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2925.999560</td>\n",
       "      <td>260096</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>2</td>\n",
       "      <td>1026</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2925.999717</td>\n",
       "      <td>249972</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>5</td>\n",
       "      <td>1129</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2925.999494</td>\n",
       "      <td>124928</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>7</td>\n",
       "      <td>1138</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2599.999602</td>\n",
       "      <td>156776</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>8</td>\n",
       "      <td>1147</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2599.999649</td>\n",
       "      <td>103484</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>9</td>\n",
       "      <td>1152</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2925.999560</td>\n",
       "      <td>195624</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>10</td>\n",
       "      <td>116</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>4</td>\n",
       "      <td>11703.997664</td>\n",
       "      <td>6213632</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>23</td>\n",
       "      <td>379</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>2</td>\n",
       "      <td>5199.999270</td>\n",
       "      <td>8359936</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>12</td>\n",
       "      <td>141</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>2</td>\n",
       "      <td>5851.998636</td>\n",
       "      <td>8388608</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>11</td>\n",
       "      <td>1247</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>4</td>\n",
       "      <td>10399.997352</td>\n",
       "      <td>16353280</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>14</td>\n",
       "      <td>205</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>8</td>\n",
       "      <td>20799.999608</td>\n",
       "      <td>20971520</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>15</td>\n",
       "      <td>242</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>8</td>\n",
       "      <td>20799.996968</td>\n",
       "      <td>40802304</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>16</td>\n",
       "      <td>244</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>8</td>\n",
       "      <td>20799.994648</td>\n",
       "      <td>40761344</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>17</td>\n",
       "      <td>272</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>8</td>\n",
       "      <td>20799.997032</td>\n",
       "      <td>33554432</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>18</td>\n",
       "      <td>281</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>8</td>\n",
       "      <td>20799.996936</td>\n",
       "      <td>33554432</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>20</td>\n",
       "      <td>323</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>2</td>\n",
       "      <td>5199.999298</td>\n",
       "      <td>8388608</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>13</td>\n",
       "      <td>190</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>8</td>\n",
       "      <td>20799.999608</td>\n",
       "      <td>20971520</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>49</td>\n",
       "      <td>997</td>\n",
       "      <td>2013-08-12 13:35:46+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>8</td>\n",
       "      <td>19199.997832</td>\n",
       "      <td>16644096</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>6</td>\n",
       "      <td>1132</td>\n",
       "      <td>2013-08-20 11:22:04+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2925.999318</td>\n",
       "      <td>191739</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>4</td>\n",
       "      <td>1073</td>\n",
       "      <td>2013-08-21 11:07:12+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2599.999649</td>\n",
       "      <td>179306</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>21</td>\n",
       "      <td>331</td>\n",
       "      <td>2013-08-22 11:12:20+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>4</td>\n",
       "      <td>10799.996356</td>\n",
       "      <td>16644096</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>32</td>\n",
       "      <td>557</td>\n",
       "      <td>2013-08-29 14:28:12+00:00</td>\n",
       "      <td>2013-09-05 06:49:07+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2926.000121</td>\n",
       "      <td>3145728</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>3</td>\n",
       "      <td>1052</td>\n",
       "      <td>2013-08-29 14:38:12+00:00</td>\n",
       "      <td>2013-09-05 07:09:07+00:00</td>\n",
       "      <td>1</td>\n",
       "      <td>2926.000107</td>\n",
       "      <td>131245</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>19</td>\n",
       "      <td>308</td>\n",
       "      <td>2013-09-04 07:58:58+00:00</td>\n",
       "      <td>2013-09-11 13:39:58+00:00</td>\n",
       "      <td>2</td>\n",
       "      <td>5199.999902</td>\n",
       "      <td>6291456</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    index    id                start_time                 stop_time  \\\n",
       "0       0  1019 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "1      26   466 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "2      27   467 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "3      28   501 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "4      29   506 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "5      30   550 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "6      31   554 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "7      33   578 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "8      34   607 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "9      35   626 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "10     36   636 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "11     37   677 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "12     38   720 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "13     39   740 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "14     40   750 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "15     41   796 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "16     42   832 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "17     43   841 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "18     44   851 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "19     45   857 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "20     46   871 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "21     47   915 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "22     25   463 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "23     48   957 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "24     24   449 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "25     22   378 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "26      1  1023 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "27      2  1026 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "28      5  1129 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "29      7  1138 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "30      8  1147 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "31      9  1152 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "32     10   116 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "33     23   379 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "34     12   141 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "35     11  1247 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "36     14   205 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "37     15   242 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "38     16   244 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "39     17   272 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "40     18   281 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "41     20   323 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "42     13   190 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "43     49   997 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00   \n",
       "44      6  1132 2013-08-20 11:22:04+00:00 2013-09-11 13:39:58+00:00   \n",
       "45      4  1073 2013-08-21 11:07:12+00:00 2013-09-11 13:39:58+00:00   \n",
       "46     21   331 2013-08-22 11:12:20+00:00 2013-09-11 13:39:58+00:00   \n",
       "47     32   557 2013-08-29 14:28:12+00:00 2013-09-05 06:49:07+00:00   \n",
       "48      3  1052 2013-08-29 14:38:12+00:00 2013-09-05 07:09:07+00:00   \n",
       "49     19   308 2013-09-04 07:58:58+00:00 2013-09-11 13:39:58+00:00   \n",
       "\n",
       "    cpu_count  cpu_capacity  mem_capacity  \n",
       "0           1   2926.000135        181352  \n",
       "1           4  10399.997372       3141632  \n",
       "2           4  10399.998408       3133440  \n",
       "3           4  10399.999796       3141632  \n",
       "4           4  10399.998452       3133440  \n",
       "5           1   2599.999951       1867776  \n",
       "6           1   2926.000135       4194304  \n",
       "7           1   2599.999626       2092352  \n",
       "8           1   2599.999626       4058292  \n",
       "9           4  10399.998504      16355328  \n",
       "10          4  10399.998500      16361472  \n",
       "11          4  10399.999796       8257536  \n",
       "12          8  23407.996128      33419264  \n",
       "13         32  86399.988608     130457600  \n",
       "14          8  20799.995096      33394652  \n",
       "15          1   2925.999560       4194304  \n",
       "16          2   5199.999232       8388608  \n",
       "17          2   5851.999120       2095104  \n",
       "18          2   5852.000242       4194304  \n",
       "19          1   2926.000073       2097152  \n",
       "20          4  11704.000748      16703488  \n",
       "21          1   2599.999636        262144  \n",
       "22          4  10399.998504       3149824  \n",
       "23          4  10399.999788       8388608  \n",
       "24          4  10399.998520       8392704  \n",
       "25          2   5199.999280       8359936  \n",
       "26          1   2925.999560        260096  \n",
       "27          1   2925.999717        249972  \n",
       "28          1   2925.999494        124928  \n",
       "29          1   2599.999602        156776  \n",
       "30          1   2599.999649        103484  \n",
       "31          1   2925.999560        195624  \n",
       "32          4  11703.997664       6213632  \n",
       "33          2   5199.999270       8359936  \n",
       "34          2   5851.998636       8388608  \n",
       "35          4  10399.997352      16353280  \n",
       "36          8  20799.999608      20971520  \n",
       "37          8  20799.996968      40802304  \n",
       "38          8  20799.994648      40761344  \n",
       "39          8  20799.997032      33554432  \n",
       "40          8  20799.996936      33554432  \n",
       "41          2   5199.999298       8388608  \n",
       "42          8  20799.999608      20971520  \n",
       "43          8  19199.997832      16644096  \n",
       "44          1   2925.999318        191739  \n",
       "45          1   2599.999649        179306  \n",
       "46          4  10799.996356      16644096  \n",
       "47          1   2926.000121       3145728  \n",
       "48          1   2926.000107        131245  \n",
       "49          2   5199.999902       6291456  "
      ]
     },
     "execution_count": 237,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_meta.sort_values(\"start_time\").reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "b0e6c7bf",
   "metadata": {},
   "outputs": [],
   "source": [
    "utilization = df_host_single.cpu_utilization.to_numpy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "18b9b0a8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fd93666ead0>]"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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3H777fjqV7+KadOmwWQyYc6cObj55ptx1VVXAeA5CqalcxHLsWjB4OAgbrvtNlxxxRXKxnf5cI6yYtdeis+NN96IrVu34p133sn0oWjGkSNHcNNNN+G1116D1WrN9OFojs/nw7x583DPPfcAAObMmYOtW7fikUcewbXXXpvho9OGZ555Bn/729/w5JNP4uSTT8amTZtw8803o76+nueIEuJ2u/GVr3wFkiTh4YcfzvThpFVeZkaqqqpgMBiGdUi0traitrY2Q0eVXEuXLsVLL72ENWvWYNy4ccrttbW1cLlc6OnpCbl/8PdeW1sb8dyIr0W7j81mQ0FBgWbP8YYNG9DW1oZTTz0VRqMRRqMRb775Jn7zm9/AaDSipqYmr89PXV0dpk+fHnLbSSedhMOHDwMIfH/Rjru2thZtbW0hX/d4POjq6krKOcz0z+itt96qZEdmzpyJq6++GrfccouSaeM5CtDSuYjlWDJJBCKHDh3Ca6+9pmRFgPw4R3kZjJjNZsydOxerV69WbvP5fFi9ejUWLFiQwSNLnCRJWLp0KZ5//nm88cYbmDhxYsjX586dC5PJFPK979q1C4cPH1a+9wULFmDLli0h//nFD4e4UC1YsCDkOcR9xHNo9Ryfd9552LJlCzZt2qT8mTdvHq666irl43w+PwsXLhzWCr57925MmDABADBx4kTU1taGHLfdbscHH3wQcn56enqwYcMG5T5vvPEGfD4f5s+fr9znrbfegtvtVu7z2muvYerUqSgvL1fuE+0cZorT6YReH/qr02AwwOfzAeA5CqalcxHLsWSKCET27NmD119/HZWVlSFfz4tzlNLyWA17+umnJYvFIj3xxBPS9u3bpW9/+9tSWVlZSIdENrrhhhuk0tJSae3atdLx48eVP06nU7nP9ddfL40fP1564403pI8++khasGCBtGDBAuXronX1ggsukDZt2iStWrVKGjNmTMTW1VtvvVXasWOH9NBDD0VsXc2GcxzcTSNJ+X1+1q9fLxmNRunnP/+5tGfPHulvf/ubVFhYKP31r39V7nPvvfdKZWVl0j//+U/pk08+kT73uc9FbNWcM2eO9MEHH0jvvPOONGXKlJA2xJ6eHqmmpka6+uqrpa1bt0pPP/20VFhYOKwN0Wg0Svfff7+0Y8cOafny5Zpo7b322mulsWPHKq29zz33nFRVVSX94Ac/UO6TT+eor69P+vjjj6WPP/5YAiA98MAD0scff6x0gmjpXMRyLOk+Ry6XS7r00kulcePGSZs2bQr5vR3cGZPr5yhvgxFJkqTf/va30vjx4yWz2Sydfvrp0vvvv5/pQ0oYgIh//vSnPyn3GRgYkL773e9K5eXlUmFhofT5z39eOn78eMjzHDx4ULrwwgulgoICqaqqSvre974nud3ukPusWbNGmj17tmQ2m6VJkyaFvIaQDec4PBjJ9/Pzr3/9S5oxY4ZksVikadOmSX/4wx9Cvu7z+aS77rpLqqmpkSwWi3TeeedJu3btCrlPZ2endMUVV0jFxcWSzWaTlixZIvX19YXcZ/PmzdJZZ50lWSwWaezYsdK999477FieeeYZ6cQTT5TMZrN08sknSy+//HLyv2GV7Ha7dNNNN0njx4+XrFarNGnSJOnOO+8MuXDk0zlas2ZNxN851157rSRJ2joXsRxLKkQ7RwcOHBjx9/aaNWuU58j1c6STpKCxgURERERplpc1I0RERKQdDEaIiIgooxiMEBERUUYxGCEiIqKMYjBCREREGcVghIiIiDKKwQgRERFlFIMRIiIiyigGI0RERJRRDEaIiIgooxiMEBERUUYxGCEiIqKM+v/rn08SvmeWTQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "window = 5000\n",
    "avg_utilization = []\n",
    "\n",
    "for ind in range(len(utilization) - window + 1):\n",
    "    avg_utilization.append(np.mean(utilization[ind:ind+window]))\n",
    "    \n",
    "plt.plot(avg_utilization)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "c8e19983",
   "metadata": {},
   "outputs": [],
   "source": [
    "sum_util = []\n",
    "\n",
    "last_util = 0\n",
    "for util in utilization:\n",
    "    sum_util.append(util + last_util)\n",
    "    last_util = sum_util[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "67bbf95a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fd9366b70d0>]"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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26irqduGPY1r//79ceDAAeTk5EivmJgYjBgxQvr35jYmAHDPPfdcNb3AkSNHEBoaCgBo3749AgMDbfo1GAzYuXOnzbiUlZUhOztbqtmwYQOsVivi4uKkmi1btsBsNks16enp6Ny5M1q0aCHV3Gjs7qSqqioolba/Zp2cnGC1WgE033GpY0/7X59e7qS6gHP06FGsX78evr6+Nuub67g0mNxXPjuaZcuWCbVaLVJTU8WhQ4fE888/L3x8fGzupGkqxo8fL7y9vcWmTZvEuXPnpFdVVZVUM27cOBESEiI2bNggdu/eLbRardBqtdL6utulBwwYIHJycsTatWtFq1atrnm79JQpU0ReXp6YP3/+NW+XttdxvfLuKiGa55hkZWUJZ2dn8fbbb4ujR4+KpUuXCnd3d7FkyRKpZvbs2cLHx0f89NNPYv/+/eKxxx675q3CvXr1Ejt37hRbt24VHTt2tLkltqysTAQEBIhRo0aJ3NxcsWzZMuHu7n7VLbHOzs7i/fffF3l5eWLmzJmy3UKelJQk2rRpI91C/v333ws/Pz8xdepUqcbRx6W8vFzs3btX7N27VwAQH374odi7d690l5A97X99erkT42IymcSjjz4q2rZtK3Jycmx+/155p5QjjktjY8i5DT799FMREhIiVCqViI2NFTt27JC7pZsC4JqvRYsWSTXV1dXixRdfFC1atBDu7u7i8ccfF+fOnbPZzsmTJ8XAgQOFm5ub8PPzE6+88oowm802NRs3bhQ9e/YUKpVKdOjQweY76tjruP4+5DTXMVm1apXo1q2bUKvVIjw8XHzxxRc2661Wq3j99ddFQECAUKvVon///iI/P9+m5uLFi2L48OHC09NTaDQaMXr0aFFeXm5Ts2/fPtG3b1+hVqtFmzZtxOzZs6/qZcWKFaJTp05CpVKJrl27itWrVzf+DteDwWAQEydOFCEhIcLV1VV06NBB/P3vf7c5UDn6uGzcuPGav0eSkpKEEPa1//XppbHcaFwKCgqu+/t348aNDj0ujU0hxBVTbxIRERE5CF6TQ0RERA6JIYeIiIgcEkMOEREROSSGHCIiInJIDDlERETkkBhyiIiIyCEx5BAREZFDYsghIiIih8SQQ0RERA6JIYeIiIgcEkMOEREROSSGHCIiInJI/wc327Uoo92xXgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(sum_util)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}