summaryrefslogtreecommitdiff
path: root/opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/.ipynb_checkpoints/OpenDCdemo-checkpoint.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/.ipynb_checkpoints/OpenDCdemo-checkpoint.ipynb')
-rw-r--r--opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/.ipynb_checkpoints/OpenDCdemo-checkpoint.ipynb918
1 files changed, 731 insertions, 187 deletions
diff --git a/opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/.ipynb_checkpoints/OpenDCdemo-checkpoint.ipynb b/opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/.ipynb_checkpoints/OpenDCdemo-checkpoint.ipynb
index 96a09cd5..792e5995 100644
--- a/opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/.ipynb_checkpoints/OpenDCdemo-checkpoint.ipynb
+++ b/opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/.ipynb_checkpoints/OpenDCdemo-checkpoint.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
- "execution_count": 12,
+ "execution_count": 1,
"id": "18170001",
"metadata": {},
"outputs": [],
@@ -26,7 +26,7 @@
},
{
"cell_type": "code",
- "execution_count": 13,
+ "execution_count": 2,
"id": "a2d05361",
"metadata": {},
"outputs": [
@@ -165,7 +165,7 @@
},
{
"cell_type": "code",
- "execution_count": 14,
+ "execution_count": 3,
"id": "fd17d88a",
"metadata": {},
"outputs": [
@@ -207,63 +207,297 @@
" <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",
+ " <th>24015</th>\n",
+ " <td>1129</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
" <td>300000</td>\n",
" <td>1</td>\n",
- " <td>11.703998</td>\n",
+ " <td>3.901332</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",
+ " <th>34039</th>\n",
+ " <td>1138</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",
+ " <td>20.799994</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",
+ " <th>41348</th>\n",
+ " <td>1147</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
" <td>300000</td>\n",
" <td>1</td>\n",
- " <td>11.703998</td>\n",
+ " <td>0.000000</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",
+ " <th>47515</th>\n",
+ " <td>1152</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>53661</th>\n",
+ " <td>116</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>4</td>\n",
+ " <td>158.003968</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>61559</th>\n",
+ " <td>141</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>2</td>\n",
+ " <td>56.569320</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>66380</th>\n",
+ " <td>190</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>8</td>\n",
+ " <td>14693.462756</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>73300</th>\n",
+ " <td>205</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>8</td>\n",
+ " <td>16185.864295</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>87698</th>\n",
+ " <td>244</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>8</td>\n",
+ " <td>95.333296</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>95284</th>\n",
+ " <td>272</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>8</td>\n",
+ " <td>164.666623</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>112192</th>\n",
+ " <td>323</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>2</td>\n",
+ " <td>152.533273</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>125958</th>\n",
+ " <td>378</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>2</td>\n",
+ " <td>76.266647</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>132745</th>\n",
+ " <td>379</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>2</td>\n",
+ " <td>109.199970</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>139492</th>\n",
+ " <td>449</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>4</td>\n",
+ " <td>154.266626</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>146840</th>\n",
+ " <td>463</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>4</td>\n",
+ " <td>131.733298</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>153699</th>\n",
+ " <td>466</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>4</td>\n",
+ " <td>131.733300</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>160537</th>\n",
+ " <td>467</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>4</td>\n",
+ " <td>185.466617</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>167694</th>\n",
+ " <td>501</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>4</td>\n",
+ " <td>157.733310</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>174746</th>\n",
+ " <td>506</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>4</td>\n",
+ " <td>183.733284</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>182064</th>\n",
+ " <td>550</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>1</td>\n",
+ " <td>1.733333</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>196282</th>\n",
+ " <td>607</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>1</td>\n",
+ " <td>247.866604</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>203796</th>\n",
+ " <td>626</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>4</td>\n",
+ " <td>10718.931688</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>206960</th>\n",
+ " <td>636</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>4</td>\n",
+ " <td>10781.331724</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>209842</th>\n",
+ " <td>677</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>2</td>\n",
+ " <td>181.999951</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>225939</th>\n",
+ " <td>740</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>32</td>\n",
+ " <td>2048.399624</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>234340</th>\n",
+ " <td>750</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>8</td>\n",
+ " <td>145.599961</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>252091</th>\n",
+ " <td>851</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>2</td>\n",
+ " <td>29.259993</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>256754</th>\n",
+ " <td>871</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>4</td>\n",
+ " <td>158.003974</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>265560</th>\n",
+ " <td>957</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>4</td>\n",
+ " <td>128.266613</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>268345</th>\n",
+ " <td>997</td>\n",
+ " <td>2013-08-12 13:40:46+00:00</td>\n",
+ " <td>300000</td>\n",
+ " <td>8</td>\n",
+ " <td>10235.198844</td>\n",
+ " </tr>\n",
" </tbody>\n",
"</table>\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"
+ " id timestamp duration cpu_count cpu_usage\n",
+ "0 1019 2013-08-12 13:40:46+00:00 300000 1 0.000000\n",
+ "24015 1129 2013-08-12 13:40:46+00:00 300000 1 3.901332\n",
+ "34039 1138 2013-08-12 13:40:46+00:00 300000 1 20.799994\n",
+ "41348 1147 2013-08-12 13:40:46+00:00 300000 1 0.000000\n",
+ "47515 1152 2013-08-12 13:40:46+00:00 300000 1 0.000000\n",
+ "53661 116 2013-08-12 13:40:46+00:00 300000 4 158.003968\n",
+ "61559 141 2013-08-12 13:40:46+00:00 300000 2 56.569320\n",
+ "66380 190 2013-08-12 13:40:46+00:00 300000 8 14693.462756\n",
+ "73300 205 2013-08-12 13:40:46+00:00 300000 8 16185.864295\n",
+ "87698 244 2013-08-12 13:40:46+00:00 300000 8 95.333296\n",
+ "95284 272 2013-08-12 13:40:46+00:00 300000 8 164.666623\n",
+ "112192 323 2013-08-12 13:40:46+00:00 300000 2 152.533273\n",
+ "125958 378 2013-08-12 13:40:46+00:00 300000 2 76.266647\n",
+ "132745 379 2013-08-12 13:40:46+00:00 300000 2 109.199970\n",
+ "139492 449 2013-08-12 13:40:46+00:00 300000 4 154.266626\n",
+ "146840 463 2013-08-12 13:40:46+00:00 300000 4 131.733298\n",
+ "153699 466 2013-08-12 13:40:46+00:00 300000 4 131.733300\n",
+ "160537 467 2013-08-12 13:40:46+00:00 300000 4 185.466617\n",
+ "167694 501 2013-08-12 13:40:46+00:00 300000 4 157.733310\n",
+ "174746 506 2013-08-12 13:40:46+00:00 300000 4 183.733284\n",
+ "182064 550 2013-08-12 13:40:46+00:00 300000 1 1.733333\n",
+ "196282 607 2013-08-12 13:40:46+00:00 300000 1 247.866604\n",
+ "203796 626 2013-08-12 13:40:46+00:00 300000 4 10718.931688\n",
+ "206960 636 2013-08-12 13:40:46+00:00 300000 4 10781.331724\n",
+ "209842 677 2013-08-12 13:40:46+00:00 300000 2 181.999951\n",
+ "225939 740 2013-08-12 13:40:46+00:00 300000 32 2048.399624\n",
+ "234340 750 2013-08-12 13:40:46+00:00 300000 8 145.599961\n",
+ "252091 851 2013-08-12 13:40:46+00:00 300000 2 29.259993\n",
+ "256754 871 2013-08-12 13:40:46+00:00 300000 4 158.003974\n",
+ "265560 957 2013-08-12 13:40:46+00:00 300000 4 128.266613\n",
+ "268345 997 2013-08-12 13:40:46+00:00 300000 8 10235.198844"
]
},
- "execution_count": 14,
+ "execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_trace = pd.read_parquet(f\"{base_folder}/resources/bitbrains-small/trace/trace.parquet\")\n",
- "df_trace.head()"
+ "df_trace[df_trace[\"timestamp\"] == df_trace[\"timestamp\"].min()]"
]
},
{
"cell_type": "code",
- "execution_count": 15,
+ "execution_count": 4,
"id": "346f097f",
"metadata": {
"scrolled": true
@@ -364,7 +598,7 @@
"4 2599.999649 179306 "
]
},
- "execution_count": 15,
+ "execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
@@ -392,7 +626,7 @@
},
{
"cell_type": "code",
- "execution_count": 16,
+ "execution_count": 89,
"id": "0d400ffd",
"metadata": {},
"outputs": [],
@@ -424,155 +658,151 @@
]
},
{
- "cell_type": "markdown",
- "id": "6d494d6e",
+ "cell_type": "code",
+ "execution_count": 90,
+ "id": "a9a61332",
"metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1080"
+ ]
+ },
+ "execution_count": 90,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "### Host"
+ "len(df_service_single)"
]
},
{
"cell_type": "code",
- "execution_count": 17,
- "id": "48a1e1a6",
+ "execution_count": 91,
+ "id": "e1d01f85",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "['timestamp',\n",
- " 'host_id',\n",
- " 'cpu_count',\n",
- " 'mem_capacity',\n",
- " 'guests_terminated',\n",
- " 'guests_running',\n",
- " 'guests_error',\n",
- " 'guests_invalid',\n",
- " 'cpu_limit',\n",
- " 'cpu_usage',\n",
- " 'cpu_demand',\n",
- " 'cpu_utilization',\n",
- " 'cpu_time_active',\n",
- " 'cpu_time_idle',\n",
- " 'cpu_time_steal',\n",
- " 'cpu_time_lost',\n",
- " 'power_total',\n",
- " 'uptime',\n",
- " 'downtime',\n",
- " 'boot_time']"
+ "1970-01-01 02:00:00+00:00 1\n",
+ "1970-03-02 12:00:00+00:00 1\n",
+ "1970-03-01 08:00:00+00:00 1\n",
+ "1970-03-01 10:00:00+00:00 1\n",
+ "1970-03-01 12:00:00+00:00 1\n",
+ " ..\n",
+ "1970-01-31 12:00:00+00:00 1\n",
+ "1970-01-31 14:00:00+00:00 1\n",
+ "1970-01-31 16:00:00+00:00 1\n",
+ "1970-01-31 18:00:00+00:00 1\n",
+ "1970-04-01 00:00:00+00:00 1\n",
+ "Name: timestamp, Length: 1080, dtype: int64"
]
},
+ "execution_count": 91,
"metadata": {},
- "output_type": "display_data"
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "number of measurements: 77769\n"
- ]
+ "output_type": "execute_result"
}
],
"source": [
- "display(list(df_host_multi.columns))\n",
- "print(f\"number of measurements: {len(df_host_multi)}\")"
+ "df_host_single.timestamp.value_counts()"
]
},
{
- "cell_type": "markdown",
- "id": "9eb9be2c",
+ "cell_type": "code",
+ "execution_count": 103,
+ "id": "5b36f79c",
"metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([50, 49, 47, 46, 45, 44, 34, 16, 14, 13, 12, 11, 10])"
+ ]
+ },
+ "execution_count": 103,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "### Server"
+ "df_server_single.timestamp.value_counts().unique()"
]
},
{
"cell_type": "code",
- "execution_count": 20,
- "id": "57a2b148",
+ "execution_count": 93,
+ "id": "699268f3",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "['timestamp',\n",
- " 'server_id',\n",
- " 'host_id',\n",
- " 'mem_capacity',\n",
- " 'cpu_count',\n",
- " 'cpu_limit',\n",
- " 'cpu_time_active',\n",
- " 'cpu_time_idle',\n",
- " 'cpu_time_steal',\n",
- " 'cpu_time_lost',\n",
- " 'uptime',\n",
- " 'downtime',\n",
- " 'provision_time',\n",
- " 'boot_time',\n",
- " 'absolute_timestamp']"
+ "1970-01-01 02:00:00+00:00 1\n",
+ "1970-03-02 12:00:00+00:00 1\n",
+ "1970-03-01 08:00:00+00:00 1\n",
+ "1970-03-01 10:00:00+00:00 1\n",
+ "1970-03-01 12:00:00+00:00 1\n",
+ " ..\n",
+ "1970-01-31 12:00:00+00:00 1\n",
+ "1970-01-31 14:00:00+00:00 1\n",
+ "1970-01-31 16:00:00+00:00 1\n",
+ "1970-01-31 18:00:00+00:00 1\n",
+ "1970-04-01 00:00:00+00:00 1\n",
+ "Name: timestamp, Length: 1080, dtype: int64"
]
},
+ "execution_count": 93,
"metadata": {},
- "output_type": "display_data"
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "number of measurements: 407990\n",
- "number of measurements: 408090\n"
- ]
+ "output_type": "execute_result"
}
],
"source": [
- "display(list(df_server_multi.columns))\n",
- "print(f\"number of measurements: {len(df_server_multi)}\")"
+ "df_service_single.timestamp.value_counts()"
]
},
{
- "cell_type": "markdown",
- "id": "fbe5f439",
+ "cell_type": "code",
+ "execution_count": 104,
+ "id": "a32f9d66",
"metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([44, 45, 46, 47, 49, 50, 34, 16, 14, 13, 12, 11, 10], dtype=int32)"
+ ]
+ },
+ "execution_count": 104,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "### Service"
+ "(df_service_single.servers_active + df_service_single.servers_pending).unique() "
]
},
{
"cell_type": "code",
- "execution_count": 19,
- "id": "9ef468ed",
- "metadata": {
- "scrolled": false
- },
+ "execution_count": 102,
+ "id": "fe5cc9c0",
+ "metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "['timestamp',\n",
- " 'hosts_up',\n",
- " 'hosts_down',\n",
- " 'servers_pending',\n",
- " 'servers_active',\n",
- " 'attempts_success',\n",
- " 'attempts_failure',\n",
- " 'attempts_error',\n",
- " 'absolute_timestamp']"
+ "True"
]
},
+ "execution_count": 102,
"metadata": {},
- "output_type": "display_data"
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "number of measurements: 8643\n"
- ]
+ "output_type": "execute_result"
}
],
"source": [
- "display(list(df_service_single.columns))\n",
- "print(f\"number of measurements: {len(df_host_single)}\")"
+ "set(d1) == set(d2)"
]
},
{
@@ -585,7 +815,7 @@
},
{
"cell_type": "code",
- "execution_count": 47,
+ "execution_count": 66,
"id": "82f0a24a",
"metadata": {},
"outputs": [
@@ -593,13 +823,13 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "single topology: 822692246.2425151\n",
- "multi topology: 5870271518.168591\n"
+ "single topology: 2227322672.880138\n",
+ "multi topology: 5865185988.6738405\n"
]
}
],
"source": [
- "print(f\"single topology: {df_host_single.power_total.sum()}\")\n",
+ "print(f\"single topology: {df_host_single.power_total.sum()}\")\n",
"print(f\"multi topology: {df_host_multi.power_total.sum()}\")"
]
},
@@ -613,7 +843,7 @@
},
{
"cell_type": "code",
- "execution_count": 48,
+ "execution_count": 67,
"id": "e94db3a6",
"metadata": {},
"outputs": [
@@ -621,13 +851,13 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "single topology: 0.7799672554077309\n",
- "multi topology: 0.3421434368579651\n"
+ "single topology: 0.575979511557793\n",
+ "multi topology: 0.34249306908883387\n"
]
}
],
"source": [
- "print(f\"single topology: {df_host_single.cpu_utilization.mean()}\")\n",
+ "print(f\"single topology: {df_host_single.cpu_utilization.mean()}\")\n",
"print(f\"multi topology: {df_host_multi.cpu_utilization.mean()}\")"
]
},
@@ -641,7 +871,7 @@
},
{
"cell_type": "code",
- "execution_count": 49,
+ "execution_count": 68,
"id": "8d7daa45",
"metadata": {},
"outputs": [
@@ -649,14 +879,14 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "multi topology: 0.3421434368579651\n",
- "single topology: 0.7799672554077309\n"
+ "single topology: 0.575979511557793\n",
+ "multi topology: 0.34249306908883387\n"
]
}
],
"source": [
- "print(f\"multi topology: {df_host_multi.cpu_utilization.mean()}\")\n",
- "print(f\"single topology: {df_host_single.cpu_utilization.mean()}\")"
+ "print(f\"single topology: {df_host_single.cpu_utilization.mean()}\")\n",
+ "print(f\"multi topology: {df_host_multi.cpu_utilization.mean()}\")"
]
},
{
@@ -669,13 +899,13 @@
},
{
"cell_type": "code",
- "execution_count": 33,
+ "execution_count": 69,
"id": "5df8f9aa",
"metadata": {},
"outputs": [
{
"data": {
- "image/png": "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CuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYSpcIN/n5+YqJiZG/v78SExO1bdu2c/ZdtWqVLBZLs83f39+D1QIAgK7M6+FmzZo1stvtys7O1o4dOzRq1CilpKTo2LFj59wnKChIFRUVzu3w4cMerBgAAHRlXg83ubm5yszMVEZGhkaMGKGCggIFBASosLDwnPtYLBZFREQ4t/DwcA9WDAAAujKvhpv6+npt375dycnJzjYfHx8lJyertLT0nPudOnVKl1xyiaKjozVp0iR98MEH5+xbV1enmpqaZhsAADAvr4ab48ePq7GxscXMS3h4uBwOR6v7DBs2TIWFhfrLX/6iP/7xj2pqatKYMWP0ySeftNo/JydHwcHBzi06Otrt1wEAALoOr9+Waq+kpCSlpaUpNjZW11xzjdatW6d+/frpt7/9bav9Z82aperqaud25MgRD1cMAAA8qYc3Tx4aGiqr1arKyspm7ZWVlYqIiGjTMXx9ffWtb31L+/fvb/V9Pz8/+fn5dbhWAADQPXh15sZmsykuLk7FxcXOtqamJhUXFyspKalNx2hsbNTu3bsVGRnZWWUCAIBuxKszN5Jkt9uVnp6u+Ph4JSQkKC8vT7W1tcrIyJAkpaWlKSoqSjk5OZKkefPm6dvf/rYGDx6sEydOaPHixTp8+LDuuusub14GAADoIrweblJTU1VVVaW5c+fK4XAoNjZWRUVFzkXG5eXl8vH5coLps88+U2ZmphwOh3r37q24uDht3bpVI0aM8NYlAACALsRiGIbh7SI8qaamRsHBwaqurlZQUJC3ywEAoGt6IdX1faescV8d/689n9/d7ttSAAAA50O4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAAptLD2wWYzbRV77i874qpo91YCQAAFyZmbgAAgKkQbgAAgKkQbgAAgKkQbgAAgKm4FG4OHjzo7joAAADcwqVwM3jwYF133XX64x//qM8//9zdNQEAALjMpXCzY8cOXXnllbLb7YqIiNA999yjbdu2ubs2AACAdnMp3MTGxurJJ5/U0aNHVVhYqIqKCl199dUaOXKkcnNzVVVV5e46AQAA2qRD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",
+ "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+oRgAAKCxItwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABT8XJ3AQAAoGbj03Y7ve2y+L4urKTpYOYGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYCuEGAACYitvDzZIlSxQeHi4fHx/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>"
]
@@ -687,12 +917,12 @@
"source": [
"data = df_host_multi.cpu_utilization\n",
"plt.hist(data, weights=np.ones_like(data) / len(data),\n",
- " alpha=0.7, label=\"big\", bins=30)\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=\"small\", bins=30)\n",
+ " alpha=0.7, label=\"single\", bins=30)\n",
"\n",
"plt.xlabel(\"CPU utilization\")\n",
"plt.ylabel(\"Frequency\")\n",
@@ -702,112 +932,426 @@
},
{
"cell_type": "code",
- "execution_count": 34,
- "id": "520e42a4",
+ "execution_count": 105,
+ "id": "42c0c638",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "1.000000 6146\n",
- "0.000009 9\n",
- "0.002294 2\n",
- "0.027410 2\n",
- "0.021973 2\n",
- " ... \n",
- "0.028164 1\n",
- "0.029120 1\n",
- "0.028367 1\n",
- "0.030243 1\n",
- "0.030289 1\n",
- "Name: cpu_utilization, Length: 2488, dtype: int64"
+ "<matplotlib.legend.Legend at 0x7f6fc2d09510>"
]
},
- "execution_count": 34,
+ "execution_count": 105,
"metadata": {},
"output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA/I0lEQVR4nO3deXRU9f3/8ddkTyALAZIQk2BYBNSgiIARRZRIAKUgaAVThRbxR0UtxgpSFQxKsfpFcQG0YMG2RK0IqKgghrKo7LKrURABla1qFoIJIXN/f4S5MLLNZCYzN5Pn45w5MHNv7n3PJWFe+WzXZhiGIQAAAB8J8ncBAACgfiF8AAAAnyJ8AAAAnyJ8AAAAnyJ8AAAAnyJ8AAAAnyJ8AAAAnyJ8AAAAnwrxdwG/Zrfb9cMPPyg6Olo2m83f5QAAABcYhqHS0lIlJycrKOjsbRuWCx8//PCDUlNT/V0GAACogb179yolJeWs+1gufERHR0uqLj4mJsbP1QAAAFeUlJQoNTXV/Bw/G8uFD0dXS0xMDOEDAIA6xpUhEww4BQAAPkX4AAAAPkX4AAAAPmW5MR8AgLOrqqpSZWWlv8tAPRQaGqrg4GCPj0P4AIA65PDhw/ruu+9kGIa/S0E9ZLPZlJKSooYNG3p0HMIHANQRVVVV+u677xQVFaWmTZuyECN8yjAMHTp0SN99951at27tUQsI4QMA6ojKykoZhqGmTZsqMjLS3+WgHmratKm+/fZbVVZWehQ+GHAKAHUMLR7wF2997xE+AACAT7kVPqZPn6727dubq49mZmbqgw8+MLd3795dNpvN6TFixAivFw0AQH23bNky2Ww2FRUVSZJmz56tuLg4v9bkKrfGfKSkpOjJJ59U69atZRiGXn31VfXr108bN27URRddJEkaPny4JkyYYH5NVFSUdysGAACnuPXWW9WnTx9/l+ESt8JH3759nZ5PnDhR06dP1+rVq83wERUVpaSkJO9VCADASSorKxUaGur14x49elRhYWFeP66vREZG1pmByDWe7VJVVaU333xTZWVlyszMNF+fM2eO/v3vfyspKUl9+/bVo48+etbWj4qKClVUVJjPS0pKaloS6on3tuzT+t0/+bsMJ9e2SVC3C5r6uwzAkubOnau8vDzt2LFDUVFR6tChg95++201aNBAkjRz5kxNnjxZu3bt0vnnn6/77rtPd999tyTp22+/VXp6ul5//XVNmzZNa9as0VNPPaUxY8Zo3rx56t27t3me+fPn64477tCBAwcUFRWlvXv36oEHHtCHH36ooKAgXX311Xruued0/vnnS5KGDh2qoqIiderUSVOnTlV4eLh27dqladOm6dlnn9XevXsVGxurq6++WnPnzj3te5s9e7ZGjRql2bNn68EHH9TevXt1zTXXaObMmUpNTTX3e/vtt5WXl6fPP/9cycnJGjJkiB5++GGFhFR/DNtsNs2YMUPvvfeeFi9erPPOO0+TJ0/Wb37zG/MY77//vkaNGqW9e/fqiiuu0JAhQ05bi6Mb5rHHHtOCBQv0wAMP6NFHH9XPP/+s3r17a8aMGeadZ0tLSzVixAgtWLBAMTExGj16tN5++21deumlmjJlSs3/0c/B7fCxdetWZWZmqry8XA0bNtT8+fN14YUXSpJuu+02NW/eXMnJydqyZYvGjBmjwsJCzZs374zHmzRpkvLy8mr+DlCvHK44pvte36gqu7UWWHp38w9a/8j1/i4D9YxhGPqlssov544MDXZp5sO+ffs0ePBgPfXUU7rppptUWlqqlStXmoukzZkzR+PGjdOLL76oDh06aOPGjRo+fLgaNGjg9OH60EMPafLkyerQoYMiIiK0cuVK5efnO4WPOXPmqH///oqKilJlZaWys7OVmZmplStXKiQkRE888YR69eqlLVu2mC0cBQUFiomJ0ZIlSyRJ69ev13333ad//etfuvLKK/XTTz9p5cqVZ32PR44c0cSJE/XPf/5TYWFhuvvuuzVo0CB98sknkqSVK1fqjjvu0PPPP6+rr75aO3fu1F133SVJGj9+vHmcvLw8PfXUU3r66af1wgsvKCcnR7t371Z8fLz27t2rAQMGaOTIkbrrrru0fv16PfDAA+e8/jt37tSCBQu0cOFC/fzzz/rtb3+rJ598UhMnTpQk5ebm6pNPPtE777yjxMREjRs3Tp999pkuvfTScx7bE26HjzZt2mjTpk0qLi7W3LlzNWTIEC1fvlwXXniheTElKSMjQ82aNVOPHj20c+dOtWzZ8rTHGzt2rHJzc83nJSUlTmkROFnJL5WqshsKDrJpxDUt/F2OSsuP6Z+rdquswj8fAKjffqms0oXjFvvl3J9PyFZU2Lk/Qvbt26djx45pwIABat68uaTqzweH8ePHa/LkyRowYIAkKT09XZ9//rlefvllp/AxatQocx9JysnJ0e23364jR44oKipKJSUleu+99zR//nxJ0htvvCG73a6ZM2eaIWnWrFmKi4vTsmXL1LNnT0lSgwYNNHPmTDOMzJs3Tw0aNNCNN96o6OhoNW/eXB06dDjre6ysrNSLL76oLl26SJJeffVVtWvXTmvXrlXnzp2Vl5enhx56yHw/LVq00OOPP67Ro0c7hY+hQ4dq8ODBkqS//vWvev7557V27Vr16tVL06dPV8uWLTV58mRJ1Z/FW7du1d/+9rez1ma32zV79myzpeP2229XQUGBJk6cqNLSUr366qvKz89Xjx49zGuUnJx81mN6g9vhIywsTK1atZIkdezYUevWrdNzzz2nl19++ZR9Hf8QO3bsOGP4CA8PV3h4uLtloJ46crT6Q75BWLAezG7r52qk734+on+u2i1D1mqJAazikksuUY8ePZSRkaHs7Gz17NlTN998sxo1aqSysjLt3LlTw4YN0/Dhw82vOXbsmGJjY52Oc/nllzs979Onj0JDQ/XOO+9o0KBBeuuttxQTE6OsrCxJ0ubNm7Vjxw7zQ9ehvLxcO3fuNJ9nZGQ4jfO4/vrr1bx5c7Vo0UK9evVSr169dNNNN511+EBISIg6depkPm/btq3i4uL0xRdfqHPnztq8ebM++eQTs7VBqh66UF5eboYnSWrfvr25vUGDBoqJidHBgwclSV988YX5mepw8pCHMzn//POdrkGzZs3MY37zzTeqrKxU586dze2xsbFq06bNOY/rKY9XOLXb7U5jNk62adMmSdVvFvCGX46HD1d+4/IlbrMBf4gMDdbnE7L9dm5XBAcHa8mSJfr000/14Ycf6oUXXtDDDz+sNWvWmB+6M2bMOOWD9derZzrGhziEhYXp5ptvVn5+vgYNGqT8/Hzdeuut5hiKw4cPq2PHjpozZ84pNTVtemJ81q+PGx0drc8++0zLli3Thx9+qHHjxumxxx7TunXrajyN9fDhw8rLy3NquXGIiIgw//7rQbQ2m012u71G56zNY3qDW/+Djx07Vr1791ZaWppKS0uVn5+vZcuWafHixdq5c6fy8/PVp08fNW7cWFu2bNH999+vbt26OaU5wBNHjh6TJEWFeX5XRW9gpUn4k81ms1wQPx2bzaauXbuqa9euGjdunJo3b6758+crNzdXycnJ+uabb5STk+P2cXNycnT99ddr+/btWrp0qZ544glz22WXXaY33nhDCQkJiomJceu4ISEhysrKUlZWlsaPH6+4uDgtXbr0tOFBqm6pWb9+vdmCUFhYqKKiIrVr186spbCw0Ow1qIl27drpnXfecXpt9erVNT6eVN39ExoaqnXr1iktLU2SVFxcrK+++krdunXz6Njn4tZ37cGDB3XHHXdo3759io2NVfv27bV48WJdf/312rt3rz766CNNmTJFZWVlSk1N1cCBA/XII4/UVu2oh44cH1wXaZXwcfxPGj6A01uzZo0KCgrUs2dPJSQkaM2aNTp06JD5wZyXl6f77rtPsbGx6tWrlyoqKrR+/Xr9/PPPTuMBT6dbt25KSkpSTk6O0tPTnVpPcnJy9PTTT6tfv36aMGGCUlJStHv3bs2bN0+jR49WSkrKaY+5cOFCffPNN+rWrZsaNWqk999/X3a7/axdEaGhobr33nv1/PPPKyQkRPfcc4+uuOIKM4yMGzdON954o9LS0nTzzTcrKChImzdv1rZt25wC09mMGDFCkydP1oMPPqg777xTGzZs0OzZs1362jOJjo7WkCFD9OCDDyo+Pl4JCQkaP368goKCav0XK7fCxyuvvHLGbampqVq+fLnHBQFnc6TCMebD+r/tAZBiYmK0YsUKTZkyRSUlJWrevLkmT55szlK58847FRUVpaeffloPPvigGjRooIyMDI0aNeqcx7bZbOZMmnHjxjlti4qK0ooVKzRmzBgNGDBApaWlOu+889SjR4+ztoTExcVp3rx5euyxx1ReXq7WrVvrtddeM9eyOp2oqCiNGTNGt912m77//ntdffXVTp+X2dnZWrhwoSZMmKC//e1vCg0NVdu2bXXnnXee8z06pKWl6a233tL999+vF154QZ07d9Zf//pX/eEPf3D5GKfzzDPPaMSIEbrxxhvNqbZ79+516g6qDTbDsFZvdUlJiWJjY1VcXOx2UxkC35vr9+rBuVt0zQVN9eofOp/7C2rZvuJflDlpqcKCg/TVxN7n/gLAA+Xl5dq1a5fS09Nr/cMBrvn12hp1XVlZmbnGyLBhw07ZfrbvQXc+v/n1EXWKY00Dq4z5cGC2C4C6aOPGjfryyy/VuXNnFRcXm7dH6devX62el/ABj0x493Plr93ts9kejsXFrDPmgwGnAOq2//u//1NhYaHCwsLUsWNHrVy5Uk2aNKnVcxI+4JF3Nn+v8krfT9u6LK2Rz895NtbqvATgK0OHDtXQoUP9XUaNdejQQRs2bPD5eQkf8MjRY9XBI//OLkpr7Js7GEeEBqtJQ2ssTMdMWwBwH+EDHjl2vBskpVGUUhr5JnxYCVNtAcB9Qf4uAHVbZVV1y0doCE0AAADXED5QY4ZhqLKq+nf+kKB6+q10PHNZbMY6AFhaPf3EgDccO+m29mHB9ftbiegBAK6r358Y8Iijy0WSQoLrZ7cLU20BwH2ED9SYo8tFkkLracuHzex28W8dAALL0KFD1b9/f3+XUWuY7YIaO7nlI7SetnwAgCe+/fZbpaena+PGjbr00kvN15977rmAHktG+ECNHTMHm9rq7a3l6+e7BvyrsrJSoaGhXj/u0aNHFRYW5vXj1kRsbKy/S6hV9bOtHF5hTrOtp10uvxbIv6UAnpg7d64yMjIUGRmpxo0bKysrS2VlZeb2mTNnql27doqIiFDbtm01bdo0c9u3334rm82mN954Q9dcc40iIiI0ffp0RUZG6oMPPnA6z/z58xUdHa0jR45Ikvbu3avf/va3iouLU3x8vPr166dvv/3W3N/RtTFx4kQlJyerTZs2kqRp06apdevWioiIUGJiom6++eYzvrcff/xRgwcP1nnnnaeoqChlZGTotddec9rHbrfrqaeeUqtWrRQeHq60tDRNnDhRkpSeni6peqVRm82m7t27O9UmSX//+9+VnJwsu915Nel+/fo53dX27bff1mWXXaaIiAi1aNFCeXl5Onbs2Blr9ydaPlBjJ8JH/f39v762+MAiDEOqPOKfc4dGubTE7759+8zb3t90000qLS3VypUrzbA+Z84cjRs3Ti+++KI6dOigjRs3avjw4WrQoIGGDBliHuehhx7S5MmT1aFDB0VERGjlypXKz89X794n7iY9Z84c9e/fX1FRUaqsrFR2drYyMzO1cuVKhYSE6IknnlCvXr20ZcsWs4WjoKBAMTExWrJkiSRp/fr1uu+++/Svf/1LV155pX766SetXLnyjO+vvLxcHTt21JgxYxQTE6P33ntPt99+u1q2bKnOnavvvD127FjNmDFDzz77rK666irt27dPX375pSRp7dq16ty5sz766CNddNFFp215ueWWW3Tvvffqv//9r3r06CFJ+umnn7Ro0SK9//77kqSV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",
+ "text/plain": [
+ "<Figure size 640x480 with 1 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
}
],
"source": [
- "df_host_single.cpu_utilization.value_counts()"
+ "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": 35,
- "id": "a8c35267",
+ "execution_count": 106,
+ "id": "1a688c2d",
"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)"
+ "<matplotlib.legend.Legend at 0x7f6fc2cc7ca0>"
]
},
- "execution_count": 35,
+ "execution_count": 106,
"metadata": {},
"output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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XNvXn9p48sknFRMTo969e0uSFixYoJ49eyowMFBRUVEaM2bMOft2/PhxjR8/XpdccomCg4OVnJys1157zW0bp9Op3//+9+rRo4cCAgIUFxenJ598UpJcv9579dVXy2az6frrr3erTZL++7//WzExMXI6nW7tZmRk6Be/+IXr+VtvvaV+/fopMDBQ3bt316xZs3Tq1Klz1u5JjHwAgLcyRqo96ZnX9guWbLYLblZUVKTx48fr97//vW699VZVVFRow4YNrlMKS5Ys0YwZM/TCCy/o6quv1rZt23TnnXeqY8eOmjhxoqudRx55RPPmzdPVV1+twMBAbdiwQTk5ORoxYoRrmyVLlmjkyJEKDg5WbW2t0tPTlZqaqg0bNsjX11dz5szR8OHDtXPnTtcIR25urux2uz788ENJ0pYtW3Tvvffqz3/+s37wgx/om2++0YYNG87Zv6qqKqWkpOjhhx+W3W7Xu+++qwkTJuiyyy7TgAEDJEnTp0/XwoULNX/+fF177bUqKirSvn37JEmffvqpBgwYoI8++khXXHHFWUdefvKTn2jq1Kn629/+pqFDh0qSvvnmG73//vtatWqVJGnDhg36+c9/rueee04//OEPdeDAAd11112SpJkzZ17wOFmN33YBAC9xxu9q1FRKv43xTDGPFkr+HS+42WeffaaUlBQdOnRI8fHxZ6zv0aOHfvOb32j8+PGuZXPmzNGqVav0ySefuOZEPPPMM7rvvvtc26xcuVITJkxQSUmJgoODVV5erqioKK1YsULDhw/Xq6++qjlz5ujzzz+X7Z8hqaamRmFhYVq5cqWGDRumSZMm6f3339fhw4ddX/rLly/X7bffrq+//lqhoaFNemtuvvlmJSYm6g9/+IMqKioUERGhF154QXfccccZ255rzsekSZNUWlqqlStXSpJGjhypzp0765VXXpFUNxoya9YsHTlyRD4+PkpLS9PQoUM1ffp0VxuvvvqqHnroIRUWFjapH2fDb7sAAFq9vn37aujQoUpOTtZPfvITLVy4UN9++60kqbKyUgcOHNDkyZMVEhLiesyZM0cHDhxwa+eaa65xe37TTTfJz89Pf/3rXyVJy5Ytk91uV1pamiRpx44d2r9/v0JDQ13thoeHq6qqyq3t5ORkt9GGG2+8UfHx8erevbsmTJigJUuWuE7jnM3p06f1m9/8RsnJyQoPD1dISIg++OADHT58WJL0+eefq7q62jVi0VSZmZlatmyZqqurJdWN8owbN04+Pj6u/s6ePdvtfbzzzjtVVFR03vo9hdMuAOCt/ILrRiA89doN0KFDB3344Yf65JNPtHr1aj3//PN67LHHtGnTJgUH17WxcOFCDRw48Iz9/l3Hju6jLP7+/hozZoxycnI0btw45eTkaOzYsfL1rftaO3HihFJSUrRkyZIzaoqIiDhnu6Ghofrss8+0du1arV69WjNmzNATTzyhzZs3Kyws7Iy2nnrqKT377LN65plnlJycrI4dO2ratGmqqamRJAUFBTXofbqQW265RcYYvfvuu+rfv782bNig+fPnu9afOHFCs2bN0qhRo87YtzX+AjLhAwC8lc3WoFMfnmaz2TR48GANHjxYM2bMUHx8vFasWKGsrCzFxMTo4MGDyszMbHS7mZmZuvHGG7Vnzx6tWbNGc+bMca3r16+fli5dqsjIyEafwvf19VVaWprS0tI0c+ZMhYWFac2aNWf9Yv/73/+ujIwM/exnP5NUN7n0iy++0OWXXy5J6tmzp4KCgpSbm3vW0y71oy6nT58+b02BgYEaNWqUlixZov3796t3797q16+fW3/z8/PVo0ePRvXVUwgfAIAWs2nTJuXm5mrYsGGKjIzUpk2bdOzYMSUlJUmSZs2apXvvvVcOh0PDhw9XdXW1tmzZom+//VZZWVnnbXvIkCGKjo5WZmamEhIS3EZPMjMz9dRTTykjI0OzZ89Wt27d9NVXX2n58uV66KGH1K1bt7O2+c477+jgwYMaMmSIOnXqpFWrVsnpdLquhPm+nj176s0339Qnn3yiTp066emnn1ZJSYkrfAQGBurhhx/WQw89JH9/fw0ePFjHjh3Tnj17NHnyZEVGRiooKEjvv/++unXrpsDAwHNeZpuZmambb75Ze/bscYWdejNmzNDNN9+suLg4jRkzRj4+PtqxY4d2797tFspaC+Z8AABajN1u1/r163XTTTepV69eevzxxzVv3jzXVSp33HGHFi1apMWLFys5OVnXXXedsrOzXZegno/NZtP48eO1Y8eOM0ZOgoODtX79esXFxWnUqFFKSkrS5MmTVVVVdd6RkLCwMC1fvlw33HCDkpKS9PLLL+u1117TFVdccdbtH3/8cfXr10/p6em6/vrrFR0dfcadSX/961/rgQce0IwZM5SUlKSxY8fq6NGjkupGWZ577jn98Y9/VExMjDIyMs5Z2w033KDw8HDl5+frtttuc1uXnp6ud955R6tXr1b//v01aNAgzZ8//6yTfFsDrnYBAC9xvisNACtwtQsAAPBKhA8AAGApwgcAALAU4QMAAFiK8AEAACxF+AAAL9PKLlJEO9Jcnz3CBwB4ifpbjtffuhuwWv1n7/u3v28s7nAKAF7C19dXwcHBOnbsmPz8/Fw/KgZYwel06tixYwoODnb9hk5TET4AwEvYbDZ17dpVBQUF+uqrrzxdDtohHx8fxcXFyWazXVQ7hA8A8CL+/v7q2bMnp17gEf7+/s0y4kb4AAAv4+Pjw+3V4dU4YQgAACxF+AAAAJYifAAAAEs1KnzMnTtX/fv3V2hoqCIjIzVy5Ejl5+e7bVNVVaUpU6aoc+fOCgkJ0ejRo1VSUtKsRQMAAO/VqPCxbt06TZkyRRs3btSHH36o2tpaDRs2TJWVla5t7r//fr399tt64403tG7dOhUWFmrUqFHNXjgAAPBONnMR90o9duyYIiMjtW7dOg0ZMkRlZWWKiIhQTk6OxowZI0nat2+fkpKSlJeXp0GDBl2wzfLycjkcDpWVlclutze1NAAAYKHGfH9f1JyPsrIySVJ4eLgkaevWraqtrVVaWpprm8TERMXFxSkvL++sbVRXV6u8vNztAQAA2q4mhw+n06lp06Zp8ODBuvLKKyVJxcXF8vf3V1hYmNu2UVFRKi4uPms7c+fOlcPhcD1iY2ObWhIAAPACTQ4fU6ZM0e7du/X6669fVAHTp09XWVmZ63HkyJGLag8AALRuTbrD6T333KN33nlH69evV7du3VzLo6OjVVNTo9LSUrfRj5KSEkVHR5+1rYCAAAUEBDSlDAAA4IUaNfJhjNE999yjFStWaM2aNUpISHBbn5KSIj8/P+Xm5rqW5efn6/Dhw0pNTW2eigEAgFdr1MjHlClTlJOTo7feekuhoaGueRwOh0NBQUFyOByaPHmysrKyFB4eLrvdrqlTpyo1NbVBV7oAAIC2r1GX2p7rJ3QXL16sSZMmSaq7ydgDDzyg1157TdXV1UpPT9eCBQvOedrl+7jUFgAA79OY7++Lus9HSyB8AADgfSy7zwcAAEBjET4AAIClCB8AAMBShA8AAGApwgcAALAU4QMAAFiK8AEAACxF+AAAAJYifAAAAEsRPgAAgKUIHwAAwFKEDwAAYCnCBwAAsBThAwAAWIrwAQAALEX4AAAAliJ8AAAASxE+AACApQgfAADAUoQPAABgKcIHAACwFOEDAABYivABAAAsRfgAAACWInwAAABLET4AAIClCB8AAMBShA8AAGApwgcAALAU4QMAAFiK8AEAACxF+AAAAJYifAAAAEsRPgAAgKUIHwAAwFKEDwAAYCnCBwAAsBThAwAAWIrwAQAALEX4AAAAliJ8AAAASxE+AACApQgfAADAUoQPAABgKcIHAACwFOEDAABYivABAAAsRfgAAACWInwAAABLET4AAIClCB8AAMBShA8AAGApwgcAALAU4QMAAFiK8AEAACxF+AAAAJZqdPhYv369brnlFsXExMhms2nlypVu640xmjFjhrp27aqgoCClpaXpyy+/bK56AQCAl2t0+KisrFTfvn314osvnnX973//ez333HN6+eWXtWnTJnXs2FHp6emqqqq66GIBAID3823sDiNGjNCIESPOus4Yo2eeeUaPP/64MjIyJEn/+7//q6ioKK1cuVLjxo27uGoBAIDXa9Y5HwUFBSouLlZaWpprmcPh0MCBA5WXl3fWfaqrq1VeXu72AAAAbVezho/i4mJJUlRUlNvyqKgo17rvmzt3rhwOh+sRGxvbnCUBAIBWxuNXu0yfPl1lZWWux5EjRzxdEgAAaEHNGj6io6MlSSUlJW7LS0pKXOu+LyAgQHa73e0BAADarmYNHwkJCYqOjlZubq5rWXl5uTZt2qTU1NTmfCkAAOClGn21y4kTJ7R//37X84KCAm3fvl3h4eGKi4vTtGnTNGfOHPXs2VMJCQn69a9/rZiYGI0cObI56wYAAF6q0eFjy5Yt+tGPfuR6npWVJUmaOHGisrOz9dBDD6myslJ33XWXSktLde211+r9999XYGBg81UNAAC8ls0YYzxdxL8rLy+Xw+FQWVkZ8z8AAPASjfn+9vjVLgAAoH0hfAAAAEsRPgAAgKUIHwAAwFKEDwAAYCnCBwAAsBThAwAAWIrwAQAALEX4AAAAliJ8AAAASxE+AACApQgfAADAUoQPAABgKcIHAACwFOEDAABYivABAAAsRfgAAACWInwAAABLET4AAIClCB8AAMBShA8AAGApwgcAALAU4QMAAFiK8AEAACxF+AAAAJYifAAAAEsRPgAAgKUIHwAAwFKEDwAAYCnCBwAAsBThAwAAWIrwAQAALEX4AAAAliJ8AAAASxE+AACApQgfAADAUoQPAABgKcIHAACwFOEDAABYivABAAAsRfgAAACWInwAAABLET4AAIClCB8AAMBShA8AAGApwgcAALAU4QMAAFiK8AEAACxF+AAAAJYifAAAAEsRPgAAgKUIHwAAwFKEDwAAYCnCBwAAsBThAwAAWIrwAQAALNVi4ePFF1/UpZdeqsDAQA0cOFCffvppS70UAADwIi0SPpYuXaqsrCzNnDlTn332mfr27av09HQdPXq0JV4OAAB4EZsxxjR3owMHDlT//v31wgsvSJKcTqdiY2M1depUPfLII+fdt7y8XA6HQ2VlZbLb7c1WkzFG39Webrb2AADwZkF+HWSz2ZqtvcZ8f/s226v+U01NjbZu3arp06e7lvn4+CgtLU15eXlnbF9dXa3q6mrX8/Ly8uYuSZL0Xe1pXT7jgxZpGwAAb7N3drqC/Zs9BjRIs592+cc//qHTp08rKirKbXlUVJSKi4vP2H7u3LlyOByuR2xsbHOXBAAAWhHPRJ5/M336dGVlZbmel5eXt0gACfLroL2z05u9XQAAvFGQXwePvXazh48uXbqoQ4cOKikpcVteUlKi6OjoM7YPCAhQQEBAc5dxBpvN5rHhJQAA8C/NftrF399fKSkpys3NdS1zOp3Kzc1Vampqc78cAADwMi0yFJCVlaWJEyfqmmuu0YABA/TMM8+osrJSt99+e0u8HAAA8CItEj7Gjh2rY8eOacaMGSouLtZVV12l999//4xJqAAAoP1pkft8XIyWus8HAABoOY35/ua3XQAAgKUIHwAAwFKEDwAAYCnCBwAAsBThAwAAWIrwAQAALEX4AAAAliJ8AAAASxE+AACApVrdz7zW33C1vLzcw5UAAICGqv/ebsiN01td+KioqJAkxcbGergSAADQWBUVFXI4HOfdptX9tovT6VRhYaFCQ0Nls9mate3y8nLFxsbqyJEj7e53Y9pr39trvyX6Tt/pe3vRWvptjFFFRYViYmLk43P+WR2tbuTDx8dH3bp1a9HXsNvt7eqD+e/aa9/ba78l+k7f25/22vfW0O8LjXjUY8IpAACwFOEDAABYql2Fj4CAAM2cOVMBAQGeLsVy7bXv7bXfEn2n7/S9vfDGfre6CacAAKBta1cjHwAAwPMIHwAAwFKEDwAAYCnCBwAAsFS7CR8vvviiLr30UgUGBmrgwIH69NNPPV1Ss3viiSdks9ncHomJia71VVVVmjJlijp37qyQkBCNHj1aJSUlHqy46davX69bbrlFMTExstlsWrlypdt6Y4xmzJihrl27KigoSGlpafryyy/dtvnmm2+UmZkpu92usLAwTZ48WSdOnLCwF01zob5PmjTpjM/B8OHD3bbxxr7PnTtX/fv3V2hoqCIjIzVy5Ejl5+e7bdOQz/jhw4f14x//WMHBwYqMjNSDDz6oU6dOWdmVRmtI36+//vozjvvdd9/tto039v2ll15Snz59XDfQSk1N1Xvvveda31aP+YX67fXH27QDr7/+uvH39zf/8z//Y/bs2WPuvPNOExYWZkpKSjxdWrOaOXOmueKKK0xRUZHrcezYMdf6u+++28TGxprc3FyzZcsWM2jQIPODH/zAgxU33apVq8xjjz1mli9fbiSZFStWuK3/3e9+ZxwOh1m5cqXZsWOH+Y//+A+TkJBgvvvuO9c2w4cPN3379jUbN240GzZsMD169DDjx4+3uCeNd6G+T5w40QwfPtztc/DNN9+4beONfU9PTzeLFy82u3fvNtu3bzc33XSTiYuLMydOnHBtc6HP+KlTp8yVV15p0tLSzLZt28yqVatMly5dzPTp0z3RpQZrSN+vu+46c+edd7od97KyMtd6b+37X//6V/Puu++aL774wuTn55tHH33U+Pn5md27dxtj2u4xv1C/vf14t4vwMWDAADNlyhTX89OnT5uYmBgzd+5cD1bV/GbOnGn69u171nWlpaXGz8/PvPHGG65ln3/+uZFk8vLyLKqwZXz/C9jpdJro6Gjz1FNPuZaVlpaagIAA89prrxljjNm7d6+RZDZv3uza5r333jM2m8383//9n2W1X6xzhY+MjIxz7tNW+n706FEjyaxbt84Y07DP+KpVq4yPj48pLi52bfPSSy8Zu91uqqurre3ARfh+342p+zK67777zrlPW+m7McZ06tTJLFq0qF0dc2P+1W9jvP94t/nTLjU1Ndq6davS0tJcy3x8fJSWlqa8vDwPVtYyvvzyS8XExKh79+7KzMzU4cOHJUlbt25VbW2t2/uQmJiouLi4Nvc+FBQUqLi42K2vDodDAwcOdPU1Ly9PYWFhuuaaa1zbpKWlycfHR5s2bbK85ua2du1aRUZGqnfv3vrlL3+p48ePu9a1lb6XlZVJksLDwyU17DOel5en5ORkRUVFubZJT09XeXm59uzZY2H1F+f7fa+3ZMkSdenSRVdeeaWmT5+ukydPuta1hb6fPn1ar7/+uiorK5Wamtpujvn3+13Pm493q/thueb2j3/8Q6dPn3Y7AJIUFRWlffv2eaiqljFw4EBlZ2erd+/eKioq0qxZs/TDH/5Qu3fvVnFxsfz9/RUWFua2T1RUlIqLiz1TcAup78/Zjnn9uuLiYkVGRrqt9/X1VXh4uNe/H8OHD9eoUaOUkJCgAwcO6NFHH9WIESOUl5enDh06tIm+O51OTZs2TYMHD9aVV14pSQ36jBcXF5/1c1G/zhucre+SdNtttyk+Pl4xMTHauXOnHn74YeXn52v58uWSvLvvu3btUmpqqqqqqhQSEqIVK1bo8ssv1/bt29v0MT9XvyXvP95tPny0JyNGjHD93adPHw0cOFDx8fH6y1/+oqCgIA9WBiuNGzfO9XdycrL69Omjyy67TGvXrtXQoUM9WFnzmTJlinbv3q2PP/7Y06VY7lx9v+uuu1x/Jycnq2vXrho6dKgOHDigyy67zOoym1Xv3r21fft2lZWV6c0339TEiRO1bt06T5fV4s7V78svv9zrj3ebP+3SpUsXdejQ4YzZzyUlJYqOjvZQVdYICwtTr169tH//fkVHR6umpkalpaVu27TF96G+P+c75tHR0Tp69Kjb+lOnTumbb75pc+9H9+7d1aVLF+3fv1+S9/f9nnvu0TvvvKO//e1v6tatm2t5Qz7j0dHRZ/1c1K9r7c7V97MZOHCgJLkdd2/tu7+/v3r06KGUlBTNnTtXffv21bPPPtvmj/m5+n023na823z48Pf3V0pKinJzc13LnE6ncnNz3c6dtUUnTpzQgQMH1LVrV6WkpMjPz8/tfcjPz9fhw4fb3PuQkJCg6Ohot76Wl5dr06ZNrr6mpqaqtLRUW7dudW2zZs0aOZ1O13/EbcXXX3+t48ePq2vXrpK8t+/GGN1zzz1asWKF1qxZo4SEBLf1DfmMp6amateuXW7h68MPP5TdbncNZ7dGF+r72Wzfvl2S3I67N/b9bJxOp6qrq9v0MT+b+n6fjdcdb0/PeLXC66+/bgICAkx2drbZu3evueuuu0xYWJjbLOC24IEHHjBr1641BQUF5u9//7tJS0szXbp0MUePHjXG1F2SFhcXZ9asWWO2bNliUlNTTWpqqoerbpqKigqzbds2s23bNiPJPP3002bbtm3mq6++MsbUXWobFhZm3nrrLbNz506TkZFx1kttr776arNp0ybz8ccfm549e7b6y02NOX/fKyoqzK9+9SuTl5dnCgoKzEcffWT69etnevbsaaqqqlxteGPff/nLXxqHw2HWrl3rdnnhyZMnXdtc6DNef/nhsGHDzPbt2837779vIiIiWs3lh+dyob7v37/fzJ4922zZssUUFBSYt956y3Tv3t0MGTLE1Ya39v2RRx4x69atMwUFBWbnzp3mkUceMTabzaxevdoY03aP+fn63RaOd7sIH8YY8/zzz5u4uDjj7+9vBgwYYDZu3Ojpkprd2LFjTdeuXY2/v7+55JJLzNixY83+/ftd67/77jvzn//5n6ZTp04mODjY3HrrraaoqMiDFTfd3/72NyPpjMfEiRONMXWX2/761782UVFRJiAgwAwdOtTk5+e7tXH8+HEzfvx4ExISYux2u7n99ttNRUWFB3rTOOfr+8mTJ82wYcNMRESE8fPzM/Hx8ebOO+88I2h7Y9/P1mdJZvHixa5tGvIZP3TokBkxYoQJCgoyXbp0MQ888ICpra21uDeNc6G+Hz582AwZMsSEh4ebgIAA06NHD/Pggw+63ffBGO/s+y9+8QsTHx9v/P39TUREhBk6dKgreBjTdo/5+frdFo63zRhjrBtnAQAA7V2bn/MBAABaF8IHAACwFOEDAABYivABAAAsRfgAAACWInwAAABLET4AAIClCB8AAMBShA8AAGApwgcAALAU4QMAAFiK8AEAACz1//FE1rsSXc9sAAAAAElFTkSuQmCC",
+ "text/plain": [
+ "<Figure size 640x480 with 1 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
}
],
"source": [
- "df_host_multi.host_id.unique()"
+ "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": 54,
- "id": "68546b09",
+ "execution_count": 117,
+ "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>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>0</th>\n",
+ " <td>1970-01-01 02:00: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>15</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>25600.0</td>\n",
+ " <td>9446.762695</td>\n",
+ " <td>...</td>\n",
+ " <td>0.369014</td>\n",
+ " <td>13838</td>\n",
+ " <td>43761</td>\n",
+ " <td>1008</td>\n",
+ " <td>0</td>\n",
+ " <td>1.699475e+06</td>\n",
+ " <td>7200000</td>\n",
+ " <td>0</td>\n",
+ " <td>1970-01-01 00:00:00+00:00</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 04:00: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>15</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>25600.0</td>\n",
+ " <td>25600.000000</td>\n",
+ " <td>...</td>\n",
+ " <td>1.000000</td>\n",
+ " <td>57592</td>\n",
+ " <td>8</td>\n",
+ " <td>73720</td>\n",
+ " <td>0</td>\n",
+ " <td>2.519850e+06</td>\n",
+ " <td>7200000</td>\n",
+ " <td>0</td>\n",
+ " <td>1970-01-01 00:00:00+00:00</td>\n",
+ " <td>2013-08-12 15:35:46+00:00</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>2</th>\n",
+ " <td>1970-01-01 06:00: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>15</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>25600.0</td>\n",
+ " <td>25600.000000</td>\n",
+ " <td>...</td>\n",
+ " <td>1.000000</td>\n",
+ " <td>57600</td>\n",
+ " <td>0</td>\n",
+ " <td>81518</td>\n",
+ " <td>0</td>\n",
+ " <td>2.520000e+06</td>\n",
+ " <td>7200000</td>\n",
+ " <td>0</td>\n",
+ " <td>1970-01-01 00:00:00+00:00</td>\n",
+ " <td>2013-08-12 17:35:46+00:00</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>3</th>\n",
+ " <td>1970-01-01 08:00: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>15</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>25600.0</td>\n",
+ " <td>25600.000000</td>\n",
+ " <td>...</td>\n",
+ " <td>1.000000</td>\n",
+ " <td>57592</td>\n",
+ " <td>8</td>\n",
+ " <td>73134</td>\n",
+ " <td>0</td>\n",
+ " <td>2.519850e+06</td>\n",
+ " <td>7200000</td>\n",
+ " <td>0</td>\n",
+ " <td>1970-01-01 00:00:00+00:00</td>\n",
+ " <td>2013-08-12 19:35:46+00:00</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>4</th>\n",
+ " <td>1970-01-01 10:00: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>15</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>25600.0</td>\n",
+ " <td>25600.000000</td>\n",
+ " <td>...</td>\n",
+ " <td>1.000000</td>\n",
+ " <td>57592</td>\n",
+ " <td>8</td>\n",
+ " <td>74832</td>\n",
+ " <td>0</td>\n",
+ " <td>2.519850e+06</td>\n",
+ " <td>7200000</td>\n",
+ " <td>0</td>\n",
+ " <td>1970-01-01 00:00:00+00:00</td>\n",
+ " <td>2013-08-12 21:35:46+00:00</td>\n",
+ " </tr>\n",
+ " </tbody>\n",
+ "</table>\n",
+ "<p>5 rows × 21 columns</p>\n",
+ "</div>"
+ ],
+ "text/plain": [
+ " timestamp \\\n",
+ "0 1970-01-01 02:00:00+00:00 \n",
+ "1 1970-01-01 04:00:00+00:00 \n",
+ "2 1970-01-01 06:00:00+00:00 \n",
+ "3 1970-01-01 08:00:00+00:00 \n",
+ "4 1970-01-01 10:00:00+00:00 \n",
+ "\n",
+ " host_id cpu_count mem_capacity \\\n",
+ "0 b'\\xe2 \\xa89{\\x1d\\xcd\\xaf\\x00\\x00\\x00\\x00\\x00\\... 8 128000 \n",
+ "1 b'\\xe2 \\xa89{\\x1d\\xcd\\xaf\\x00\\x00\\x00\\x00\\x00\\... 8 128000 \n",
+ "2 b'\\xe2 \\xa89{\\x1d\\xcd\\xaf\\x00\\x00\\x00\\x00\\x00\\... 8 128000 \n",
+ "3 b'\\xe2 \\xa89{\\x1d\\xcd\\xaf\\x00\\x00\\x00\\x00\\x00\\... 8 128000 \n",
+ "4 b'\\xe2 \\xa89{\\x1d\\xcd\\xaf\\x00\\x00\\x00\\x00\\x00\\... 8 128000 \n",
+ "\n",
+ " guests_terminated guests_running guests_error guests_invalid cpu_limit \\\n",
+ "0 0 15 0 0 25600.0 \n",
+ "1 0 15 0 0 25600.0 \n",
+ "2 0 15 0 0 25600.0 \n",
+ "3 0 15 0 0 25600.0 \n",
+ "4 0 15 0 0 25600.0 \n",
+ "\n",
+ " cpu_usage ... cpu_utilization cpu_time_active cpu_time_idle \\\n",
+ "0 9446.762695 ... 0.369014 13838 43761 \n",
+ "1 25600.000000 ... 1.000000 57592 8 \n",
+ "2 25600.000000 ... 1.000000 57600 0 \n",
+ "3 25600.000000 ... 1.000000 57592 8 \n",
+ "4 25600.000000 ... 1.000000 57592 8 \n",
+ "\n",
+ " cpu_time_steal cpu_time_lost power_total uptime downtime \\\n",
+ "0 1008 0 1.699475e+06 7200000 0 \n",
+ "1 73720 0 2.519850e+06 7200000 0 \n",
+ "2 81518 0 2.520000e+06 7200000 0 \n",
+ "3 73134 0 2.519850e+06 7200000 0 \n",
+ "4 74832 0 2.519850e+06 7200000 0 \n",
+ "\n",
+ " boot_time absolute_timestamp \n",
+ "0 1970-01-01 00:00:00+00:00 2013-08-12 13:35:46+00:00 \n",
+ "1 1970-01-01 00:00:00+00:00 2013-08-12 15:35:46+00:00 \n",
+ "2 1970-01-01 00:00:00+00:00 2013-08-12 17:35:46+00:00 \n",
+ "3 1970-01-01 00:00:00+00:00 2013-08-12 19:35:46+00:00 \n",
+ "4 1970-01-01 00:00:00+00:00 2013-08-12 21:35:46+00:00 \n",
+ "\n",
+ "[5 rows x 21 columns]"
+ ]
+ },
+ "execution_count": 117,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_host_single.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 120,
+ "id": "b0e6c7bf",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[]"
+ ]
+ },
+ "execution_count": 120,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "utilization = df_host_single.cpu_utilization.to_numpy()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 122,
+ "id": "aea7b79d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "1 141065\n",
- "4 118263\n",
- "8 77859\n",
- "2 62652\n",
- "32 8651\n",
- "Name: cpu_count, dtype: int64"
+ "[<matplotlib.lines.Line2D at 0x7f6f870ccfa0>]"
]
},
- "execution_count": 54,
+ "execution_count": 122,
"metadata": {},
"output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ "<Figure size 640x480 with 1 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
}
],
"source": [
- "df_server_single.cpu_count.value_counts()"
+ "window = 100\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": "575f824b",
+ "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": 56,
- "id": "326abd0c",
+ "execution_count": 49,
+ "id": "94d64f88",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "8 8651\n",
- "Name: cpu_count, dtype: int64"
+ "[<matplotlib.lines.Line2D at 0x7fd9366b70d0>]"
]
},
- "execution_count": 56,
+ "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": [
- "df_host_single.cpu_count.value_counts()"
+ "plt.plot(sum_util)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "7962b16f",
+ "metadata": {},
+ "outputs": [],
+ "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)"
]
}
],