From 6dee12dffb78a7c5a03146843b95f50851d9d2d0 Mon Sep 17 00:00:00 2001
From: Mario Raciti <mario.raciti@inaf.it>
Date: Thu, 15 Apr 2021 17:34:58 +0200
Subject: [PATCH] TMSS-691: Update durations visualisation; cleanup

---
 .../notebooks/project_report_poc.ipynb        | 483 +++++++++---------
 1 file changed, 255 insertions(+), 228 deletions(-)

diff --git a/SAS/TMSS/scripts/notebooks/project_report_poc.ipynb b/SAS/TMSS/scripts/notebooks/project_report_poc.ipynb
index 74901b8a6d1..09d0a809ff2 100644
--- a/SAS/TMSS/scripts/notebooks/project_report_poc.ipynb
+++ b/SAS/TMSS/scripts/notebooks/project_report_poc.ipynb
@@ -88,7 +88,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 147,
+   "execution_count": 3,
    "id": "62acf8a9",
    "metadata": {},
    "outputs": [
@@ -99,17 +99,16 @@
        " 'quota': [{'id': 1,\n",
        "   'resource_type_id': 'LTA Storage',\n",
        "   'value': 1000000000000.0}],\n",
-       " 'durations': {'total': 12000.0,\n",
+       " 'SUBs': {'finished': [], 'failed': []},\n",
+       " 'durations': {'total': 12120.0,\n",
        "  'total_succeeded': 0.0,\n",
-       "  'total_not_cancelled': 12000.0,\n",
-       "  'total_failed': 0.0,\n",
-       "  'scheduling_unit_blueprints_finished': [],\n",
-       "  'scheduling_unit_blueprints_failed': []},\n",
+       "  'total_not_cancelled': 12120.0,\n",
+       "  'total_failed': 0.0},\n",
        " 'LTA dataproducts': {'size__sum': None},\n",
        " 'SAPs': [{'sap_name': 'placeholder', 'total_exposure': 0}]}"
       ]
      },
-     "execution_count": 147,
+     "execution_count": 3,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -125,7 +124,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 4,
    "id": "3276ce6d",
    "metadata": {},
    "outputs": [],
@@ -150,12 +149,8 @@
     "      \"value\": 2400.0\n",
     "    }\n",
     "  ],\n",
-    "  \"durations\":{\n",
-    "    \"total\": 4000.000018,\n",
-    "    \"total_succeeded\": 2000.000009,\n",
-    "    \"total_not_cancelled\": 3250.000009,\n",
-    "    \"total_failed\": 1150.000009,\n",
-    "    \"scheduling_unit_blueprints_finished\": [\n",
+    "  \"SUBs\": {\n",
+    "    \"finished\": [\n",
     "      {\n",
     "        \"id\": 3,\n",
     "        \"name\": \"amazing_sub\",\n",
@@ -163,7 +158,7 @@
     "      },\n",
     "      {\n",
     "        \"id\": 8,\n",
-    "        \"name\": \"amazing_sub\",\n",
+    "        \"name\": \"another_amazing_sub\",\n",
     "        \"duration\": 600.000003\n",
     "      },\n",
     "      {\n",
@@ -172,7 +167,7 @@
     "        \"duration\": 800.000003\n",
     "      }\n",
     "    ],\n",
-    "    \"scheduling_unit_blueprints_failed\": [\n",
+    "    \"failed\": [\n",
     "      {\n",
     "        \"id\": 12,\n",
     "        \"name\": \"horrible_sub\",\n",
@@ -190,6 +185,12 @@
     "      }\n",
     "    ]\n",
     "  },\n",
+    "  \"durations\": {\n",
+    "    \"total\": 4000.000018,\n",
+    "    \"total_succeeded\": 2000.000009,\n",
+    "    \"total_not_cancelled\": 3250.000009,\n",
+    "    \"total_failed\": 1150.000009\n",
+    "  },\n",
     "  \"LTA dataproducts\": {\n",
     "    \"size__sum\": 246\n",
     "  },\n",
@@ -230,16 +231,16 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 5,
    "id": "d1b58c3a",
    "metadata": {},
    "outputs": [],
    "source": [
     "project_id = result['project']  # Project id\n",
     "quota = result['quota'] # Allocated resources\n",
-    "durations = dict(list(result['durations'].items())[:4]) # Durations are the first 4 elements in the JSON object.\n",
-    "subs_finished = result['durations']['scheduling_unit_blueprints_finished']   # SUBs succeeded\n",
-    "subs_failed = result['durations']['scheduling_unit_blueprints_failed']   # SUBs failed\n",
+    "durations = result['durations'] # Durations\n",
+    "subs_finished = result['SUBs']['finished']   # SUBs succeeded\n",
+    "subs_failed = result['SUBs']['failed']   # SUBs failed\n",
     "lta_dataproducts = result['LTA dataproducts']  # LTA Dataproducts sizes\n",
     "saps = result['SAPs']  # SAPs"
    ]
@@ -259,22 +260,46 @@
    "id": "c9765847",
    "metadata": {},
    "source": [
-    "## Create tables\n"
+    "## Create tables\n",
+    "\n",
+    "Pandas mainly provides two *data structures*:\n",
+    "- **Series**: a one-dimensional data structure that comprises of a key-value pair. It is similar to a python dictionary, except it provides more freedom to manipulate and edit the data.\n",
+    "- **DataFrame**: a two-dimensional data-structure that can be thought of as a spreadsheet. A dataframe can also be thought of as a combination of two or more series."
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "c9b7d51e",
+   "id": "43dbc054",
+   "metadata": {},
+   "source": [
+    "#### Caveat\n",
+    "\n",
+    "All of the durations retrieved from the APIs are expressed in seconds. In order to better visualise them, you can adopt a custom format to convert *seconds* into *timedeltas*. This will not touch the values contained by the DataFrames, but will only affect their on-the-fly visualisation. In this case, we are specifying the following conversion when displaying any DataFrame."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "id": "9647e60b",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "to_timedelta = lambda x: '{}'.format(pd.to_timedelta(x, unit='s').round('1s'))"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "af79759e",
    "metadata": {},
    "source": [
     "### Summary Table\n",
     "\n",
-    "You can create a unique table within all the data related to a project. It might be convenient to create a different `DataFrame` for each variable of the previous step, as they could be used for subsequent analysis later."
+    "You can create a unique table within all the data related to a project. It might be convenient to create a different DataFrame for each variable of the previous step, as they could be used for subsequent analysis later."
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 7,
    "id": "8a0a7ed9",
    "metadata": {
     "scrolled": true
@@ -284,22 +309,22 @@
      "data": {
       "text/html": [
        "<style  type=\"text/css\" >\n",
-       "</style><table id=\"T_8b9be160_9d3e_11eb_8bbc_000c299c9be6\" ><caption>Summary Table - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >total</th>        <th class=\"col_heading level0 col1\" >total_succeeded</th>        <th class=\"col_heading level0 col2\" >total_not_cancelled</th>        <th class=\"col_heading level0 col3\" >total_failed</th>        <th class=\"col_heading level0 col4\" >size__sum</th>    </tr></thead><tbody>\n",
+       "</style><table id=\"T_d3546088_9dff_11eb_84e4_000c299c9be6\" ><caption>Summary Table - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >total</th>        <th class=\"col_heading level0 col1\" >total_succeeded</th>        <th class=\"col_heading level0 col2\" >total_not_cancelled</th>        <th class=\"col_heading level0 col3\" >total_failed</th>        <th class=\"col_heading level0 col4\" >size__sum</th>    </tr></thead><tbody>\n",
        "                <tr>\n",
-       "                        <th id=\"T_8b9be160_9d3e_11eb_8bbc_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >high</th>\n",
-       "                        <td id=\"T_8b9be160_9d3e_11eb_8bbc_000c299c9be6row0_col0\" class=\"data row0 col0\" >4000.000018</td>\n",
-       "                        <td id=\"T_8b9be160_9d3e_11eb_8bbc_000c299c9be6row0_col1\" class=\"data row0 col1\" >2000.000009</td>\n",
-       "                        <td id=\"T_8b9be160_9d3e_11eb_8bbc_000c299c9be6row0_col2\" class=\"data row0 col2\" >3250.000009</td>\n",
-       "                        <td id=\"T_8b9be160_9d3e_11eb_8bbc_000c299c9be6row0_col3\" class=\"data row0 col3\" >1150.000009</td>\n",
-       "                        <td id=\"T_8b9be160_9d3e_11eb_8bbc_000c299c9be6row0_col4\" class=\"data row0 col4\" >246</td>\n",
+       "                        <th id=\"T_d3546088_9dff_11eb_84e4_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >high</th>\n",
+       "                        <td id=\"T_d3546088_9dff_11eb_84e4_000c299c9be6row0_col0\" class=\"data row0 col0\" >0 days 01:06:40</td>\n",
+       "                        <td id=\"T_d3546088_9dff_11eb_84e4_000c299c9be6row0_col1\" class=\"data row0 col1\" >0 days 00:33:20</td>\n",
+       "                        <td id=\"T_d3546088_9dff_11eb_84e4_000c299c9be6row0_col2\" class=\"data row0 col2\" >0 days 00:54:10</td>\n",
+       "                        <td id=\"T_d3546088_9dff_11eb_84e4_000c299c9be6row0_col3\" class=\"data row0 col3\" >0 days 00:19:10</td>\n",
+       "                        <td id=\"T_d3546088_9dff_11eb_84e4_000c299c9be6row0_col4\" class=\"data row0 col4\" >246</td>\n",
        "            </tr>\n",
        "    </tbody></table>"
       ],
       "text/plain": [
-       "<pandas.io.formats.style.Styler at 0x7f29b35611d0>"
+       "<pandas.io.formats.style.Styler at 0x7f1d6f3f5128>"
       ]
      },
-     "execution_count": 5,
+     "execution_count": 7,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -311,7 +336,7 @@
     "\n",
     "# Create a general DataFrame as a summary table\n",
     "df = pd.concat([df_durations, df_lta_dataproducts], axis=1)\n",
-    "df.style.set_caption(f'Summary Table - {project_id}')"
+    "df.style.format({'total': to_timedelta, 'total_succeeded': to_timedelta, 'total_not_cancelled': to_timedelta, 'total_failed': to_timedelta}).set_caption(f'Summary Table - {project_id}')"
    ]
   },
   {
@@ -332,7 +357,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 8,
    "id": "0d86e8a4",
    "metadata": {},
    "outputs": [
@@ -340,29 +365,29 @@
      "data": {
       "text/html": [
        "<style  type=\"text/css\" >\n",
-       "</style><table id=\"T_8c573e1a_9d3e_11eb_8bbc_000c299c9be6\" ><caption>Quota - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >resource_type_id</th>        <th class=\"col_heading level0 col1\" >value</th>    </tr>    <tr>        <th class=\"index_name level0\" >id</th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
+       "</style><table id=\"T_d3576666_9dff_11eb_84e4_000c299c9be6\" ><caption>Quota - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >resource_type_id</th>        <th class=\"col_heading level0 col1\" >value</th>    </tr>    <tr>        <th class=\"index_name level0\" >id</th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
        "                <tr>\n",
-       "                        <th id=\"T_8c573e1a_9d3e_11eb_8bbc_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >2</th>\n",
-       "                        <td id=\"T_8c573e1a_9d3e_11eb_8bbc_000c299c9be6row0_col0\" class=\"data row0 col0\" >LTA Storage</td>\n",
-       "                        <td id=\"T_8c573e1a_9d3e_11eb_8bbc_000c299c9be6row0_col1\" class=\"data row0 col1\" >1300.000000</td>\n",
+       "                        <th id=\"T_d3576666_9dff_11eb_84e4_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >2</th>\n",
+       "                        <td id=\"T_d3576666_9dff_11eb_84e4_000c299c9be6row0_col0\" class=\"data row0 col0\" >LTA Storage</td>\n",
+       "                        <td id=\"T_d3576666_9dff_11eb_84e4_000c299c9be6row0_col1\" class=\"data row0 col1\" >1300.00</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_8c573e1a_9d3e_11eb_8bbc_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >4</th>\n",
-       "                        <td id=\"T_8c573e1a_9d3e_11eb_8bbc_000c299c9be6row1_col0\" class=\"data row1 col0\" >LTA Storage</td>\n",
-       "                        <td id=\"T_8c573e1a_9d3e_11eb_8bbc_000c299c9be6row1_col1\" class=\"data row1 col1\" >1000.000000</td>\n",
+       "                        <th id=\"T_d3576666_9dff_11eb_84e4_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >4</th>\n",
+       "                        <td id=\"T_d3576666_9dff_11eb_84e4_000c299c9be6row1_col0\" class=\"data row1 col0\" >LTA Storage</td>\n",
+       "                        <td id=\"T_d3576666_9dff_11eb_84e4_000c299c9be6row1_col1\" class=\"data row1 col1\" >1000.00</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_8c573e1a_9d3e_11eb_8bbc_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >11</th>\n",
-       "                        <td id=\"T_8c573e1a_9d3e_11eb_8bbc_000c299c9be6row2_col0\" class=\"data row2 col0\" >LTA Storage</td>\n",
-       "                        <td id=\"T_8c573e1a_9d3e_11eb_8bbc_000c299c9be6row2_col1\" class=\"data row2 col1\" >2400.000000</td>\n",
+       "                        <th id=\"T_d3576666_9dff_11eb_84e4_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >11</th>\n",
+       "                        <td id=\"T_d3576666_9dff_11eb_84e4_000c299c9be6row2_col0\" class=\"data row2 col0\" >LTA Storage</td>\n",
+       "                        <td id=\"T_d3576666_9dff_11eb_84e4_000c299c9be6row2_col1\" class=\"data row2 col1\" >2400.00</td>\n",
        "            </tr>\n",
        "    </tbody></table>"
       ],
       "text/plain": [
-       "<pandas.io.formats.style.Styler at 0x7f29b694b710>"
+       "<pandas.io.formats.style.Styler at 0x7f1d6f667400>"
       ]
      },
-     "execution_count": 6,
+     "execution_count": 8,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -370,7 +395,7 @@
    "source": [
     "# Create a DataFrame for quota\n",
     "df_quota = pd.DataFrame(quota).set_index('id')\n",
-    "df_quota.style.set_caption(f'Quota - {project_id}')"
+    "df_quota.style.format({'value': '{:.2f}'}).set_caption(f'Quota - {project_id}')"
    ]
   },
   {
@@ -391,7 +416,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 9,
    "id": "a8588756",
    "metadata": {},
    "outputs": [
@@ -399,29 +424,29 @@
      "data": {
       "text/html": [
        "<style  type=\"text/css\" >\n",
-       "</style><table id=\"T_8d5506d0_9d3e_11eb_8bbc_000c299c9be6\" ><caption>Finished SUBs - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >name</th>        <th class=\"col_heading level0 col1\" >duration</th>    </tr>    <tr>        <th class=\"index_name level0\" >id</th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
+       "</style><table id=\"T_d3593702_9dff_11eb_84e4_000c299c9be6\" ><caption>Finished SUBs - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >name</th>        <th class=\"col_heading level0 col1\" >duration</th>    </tr>    <tr>        <th class=\"index_name level0\" >id</th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
        "                <tr>\n",
-       "                        <th id=\"T_8d5506d0_9d3e_11eb_8bbc_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >3</th>\n",
-       "                        <td id=\"T_8d5506d0_9d3e_11eb_8bbc_000c299c9be6row0_col0\" class=\"data row0 col0\" >amazing_sub</td>\n",
-       "                        <td id=\"T_8d5506d0_9d3e_11eb_8bbc_000c299c9be6row0_col1\" class=\"data row0 col1\" >600.000003</td>\n",
+       "                        <th id=\"T_d3593702_9dff_11eb_84e4_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >3</th>\n",
+       "                        <td id=\"T_d3593702_9dff_11eb_84e4_000c299c9be6row0_col0\" class=\"data row0 col0\" >amazing_sub</td>\n",
+       "                        <td id=\"T_d3593702_9dff_11eb_84e4_000c299c9be6row0_col1\" class=\"data row0 col1\" >0 days 00:10:00</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_8d5506d0_9d3e_11eb_8bbc_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >8</th>\n",
-       "                        <td id=\"T_8d5506d0_9d3e_11eb_8bbc_000c299c9be6row1_col0\" class=\"data row1 col0\" >amazing_sub</td>\n",
-       "                        <td id=\"T_8d5506d0_9d3e_11eb_8bbc_000c299c9be6row1_col1\" class=\"data row1 col1\" >600.000003</td>\n",
+       "                        <th id=\"T_d3593702_9dff_11eb_84e4_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >8</th>\n",
+       "                        <td id=\"T_d3593702_9dff_11eb_84e4_000c299c9be6row1_col0\" class=\"data row1 col0\" >another_amazing_sub</td>\n",
+       "                        <td id=\"T_d3593702_9dff_11eb_84e4_000c299c9be6row1_col1\" class=\"data row1 col1\" >0 days 00:10:00</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_8d5506d0_9d3e_11eb_8bbc_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >21</th>\n",
-       "                        <td id=\"T_8d5506d0_9d3e_11eb_8bbc_000c299c9be6row2_col0\" class=\"data row2 col0\" >another_amazing_sub</td>\n",
-       "                        <td id=\"T_8d5506d0_9d3e_11eb_8bbc_000c299c9be6row2_col1\" class=\"data row2 col1\" >800.000003</td>\n",
+       "                        <th id=\"T_d3593702_9dff_11eb_84e4_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >21</th>\n",
+       "                        <td id=\"T_d3593702_9dff_11eb_84e4_000c299c9be6row2_col0\" class=\"data row2 col0\" >another_amazing_sub</td>\n",
+       "                        <td id=\"T_d3593702_9dff_11eb_84e4_000c299c9be6row2_col1\" class=\"data row2 col1\" >0 days 00:13:20</td>\n",
        "            </tr>\n",
        "    </tbody></table>"
       ],
       "text/plain": [
-       "<pandas.io.formats.style.Styler at 0x7f29e6146940>"
+       "<pandas.io.formats.style.Styler at 0x7f1d6f6673c8>"
       ]
      },
-     "execution_count": 7,
+     "execution_count": 9,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -429,7 +454,7 @@
    "source": [
     "# Create a DataFrame for finished SUBs\n",
     "df_subs_finished = pd.DataFrame(subs_finished).set_index('id')\n",
-    "df_subs_finished.style.set_caption(f'Finished SUBs - {project_id}')"
+    "df_subs_finished.style.format({'duration': to_timedelta}).set_caption(f'Finished SUBs - {project_id}')"
    ]
   },
   {
@@ -442,7 +467,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 10,
    "id": "b0e3224a",
    "metadata": {},
    "outputs": [
@@ -450,29 +475,29 @@
      "data": {
       "text/html": [
        "<style  type=\"text/css\" >\n",
-       "</style><table id=\"T_8dfeecae_9d3e_11eb_8bbc_000c299c9be6\" ><caption>Failed SUBs - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >name</th>        <th class=\"col_heading level0 col1\" >duration</th>    </tr>    <tr>        <th class=\"index_name level0\" >id</th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
+       "</style><table id=\"T_d35ac8e2_9dff_11eb_84e4_000c299c9be6\" ><caption>Failed SUBs - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >name</th>        <th class=\"col_heading level0 col1\" >duration</th>    </tr>    <tr>        <th class=\"index_name level0\" >id</th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
        "                <tr>\n",
-       "                        <th id=\"T_8dfeecae_9d3e_11eb_8bbc_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >12</th>\n",
-       "                        <td id=\"T_8dfeecae_9d3e_11eb_8bbc_000c299c9be6row0_col0\" class=\"data row0 col0\" >horrible_sub</td>\n",
-       "                        <td id=\"T_8dfeecae_9d3e_11eb_8bbc_000c299c9be6row0_col1\" class=\"data row0 col1\" >600.000003</td>\n",
+       "                        <th id=\"T_d35ac8e2_9dff_11eb_84e4_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >12</th>\n",
+       "                        <td id=\"T_d35ac8e2_9dff_11eb_84e4_000c299c9be6row0_col0\" class=\"data row0 col0\" >horrible_sub</td>\n",
+       "                        <td id=\"T_d35ac8e2_9dff_11eb_84e4_000c299c9be6row0_col1\" class=\"data row0 col1\" >0 days 00:10:00</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_8dfeecae_9d3e_11eb_8bbc_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >36</th>\n",
-       "                        <td id=\"T_8dfeecae_9d3e_11eb_8bbc_000c299c9be6row1_col0\" class=\"data row1 col0\" >another_horrible_sub</td>\n",
-       "                        <td id=\"T_8dfeecae_9d3e_11eb_8bbc_000c299c9be6row1_col1\" class=\"data row1 col1\" >200.000003</td>\n",
+       "                        <th id=\"T_d35ac8e2_9dff_11eb_84e4_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >36</th>\n",
+       "                        <td id=\"T_d35ac8e2_9dff_11eb_84e4_000c299c9be6row1_col0\" class=\"data row1 col0\" >another_horrible_sub</td>\n",
+       "                        <td id=\"T_d35ac8e2_9dff_11eb_84e4_000c299c9be6row1_col1\" class=\"data row1 col1\" >0 days 00:03:20</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_8dfeecae_9d3e_11eb_8bbc_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >43</th>\n",
-       "                        <td id=\"T_8dfeecae_9d3e_11eb_8bbc_000c299c9be6row2_col0\" class=\"data row2 col0\" >yet_another_horrible_sub</td>\n",
-       "                        <td id=\"T_8dfeecae_9d3e_11eb_8bbc_000c299c9be6row2_col1\" class=\"data row2 col1\" >350.000003</td>\n",
+       "                        <th id=\"T_d35ac8e2_9dff_11eb_84e4_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >43</th>\n",
+       "                        <td id=\"T_d35ac8e2_9dff_11eb_84e4_000c299c9be6row2_col0\" class=\"data row2 col0\" >yet_another_horrible_sub</td>\n",
+       "                        <td id=\"T_d35ac8e2_9dff_11eb_84e4_000c299c9be6row2_col1\" class=\"data row2 col1\" >0 days 00:05:50</td>\n",
        "            </tr>\n",
        "    </tbody></table>"
       ],
       "text/plain": [
-       "<pandas.io.formats.style.Styler at 0x7f29e6146a20>"
+       "<pandas.io.formats.style.Styler at 0x7f1d6f667a20>"
       ]
      },
-     "execution_count": 8,
+     "execution_count": 10,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -480,7 +505,7 @@
    "source": [
     "# Create a DataFrame for failed SUBs\n",
     "df_subs_failed = pd.DataFrame(subs_failed).set_index('id')\n",
-    "df_subs_failed.style.set_caption(f'Failed SUBs - {project_id}')"
+    "df_subs_failed.style.format({'duration': to_timedelta}).set_caption(f'Failed SUBs - {project_id}')"
    ]
   },
   {
@@ -493,7 +518,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": 11,
    "id": "e8907f52",
    "metadata": {},
    "outputs": [
@@ -501,34 +526,34 @@
      "data": {
       "text/html": [
        "<style  type=\"text/css\" >\n",
-       "</style><table id=\"T_8ec242a8_9d3e_11eb_8bbc_000c299c9be6\" ><caption>SAPs - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >total_exposure</th>    </tr>    <tr>        <th class=\"index_name level0\" >sap_name</th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
+       "</style><table id=\"T_d35c8b46_9dff_11eb_84e4_000c299c9be6\" ><caption>SAPs - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >total_exposure</th>    </tr>    <tr>        <th class=\"index_name level0\" >sap_name</th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
        "                <tr>\n",
-       "                        <th id=\"T_8ec242a8_9d3e_11eb_8bbc_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >sap_1</th>\n",
-       "                        <td id=\"T_8ec242a8_9d3e_11eb_8bbc_000c299c9be6row0_col0\" class=\"data row0 col0\" >340.000000</td>\n",
+       "                        <th id=\"T_d35c8b46_9dff_11eb_84e4_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >sap_1</th>\n",
+       "                        <td id=\"T_d35c8b46_9dff_11eb_84e4_000c299c9be6row0_col0\" class=\"data row0 col0\" >0 days 00:05:40</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_8ec242a8_9d3e_11eb_8bbc_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >sap_2</th>\n",
-       "                        <td id=\"T_8ec242a8_9d3e_11eb_8bbc_000c299c9be6row1_col0\" class=\"data row1 col0\" >195.000000</td>\n",
+       "                        <th id=\"T_d35c8b46_9dff_11eb_84e4_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >sap_2</th>\n",
+       "                        <td id=\"T_d35c8b46_9dff_11eb_84e4_000c299c9be6row1_col0\" class=\"data row1 col0\" >0 days 00:03:15</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_8ec242a8_9d3e_11eb_8bbc_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >sap_3</th>\n",
-       "                        <td id=\"T_8ec242a8_9d3e_11eb_8bbc_000c299c9be6row2_col0\" class=\"data row2 col0\" >235.000000</td>\n",
+       "                        <th id=\"T_d35c8b46_9dff_11eb_84e4_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >sap_3</th>\n",
+       "                        <td id=\"T_d35c8b46_9dff_11eb_84e4_000c299c9be6row2_col0\" class=\"data row2 col0\" >0 days 00:03:55</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_8ec242a8_9d3e_11eb_8bbc_000c299c9be6level0_row3\" class=\"row_heading level0 row3\" >sap_4</th>\n",
-       "                        <td id=\"T_8ec242a8_9d3e_11eb_8bbc_000c299c9be6row3_col0\" class=\"data row3 col0\" >345.000000</td>\n",
+       "                        <th id=\"T_d35c8b46_9dff_11eb_84e4_000c299c9be6level0_row3\" class=\"row_heading level0 row3\" >sap_4</th>\n",
+       "                        <td id=\"T_d35c8b46_9dff_11eb_84e4_000c299c9be6row3_col0\" class=\"data row3 col0\" >0 days 00:05:45</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_8ec242a8_9d3e_11eb_8bbc_000c299c9be6level0_row4\" class=\"row_heading level0 row4\" >sap_5</th>\n",
-       "                        <td id=\"T_8ec242a8_9d3e_11eb_8bbc_000c299c9be6row4_col0\" class=\"data row4 col0\" >137.000000</td>\n",
+       "                        <th id=\"T_d35c8b46_9dff_11eb_84e4_000c299c9be6level0_row4\" class=\"row_heading level0 row4\" >sap_5</th>\n",
+       "                        <td id=\"T_d35c8b46_9dff_11eb_84e4_000c299c9be6row4_col0\" class=\"data row4 col0\" >0 days 00:02:17</td>\n",
        "            </tr>\n",
        "    </tbody></table>"
       ],
       "text/plain": [
-       "<pandas.io.formats.style.Styler at 0x7f29e6146d68>"
+       "<pandas.io.formats.style.Styler at 0x7f1d6f6677b8>"
       ]
      },
-     "execution_count": 9,
+     "execution_count": 11,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -536,7 +561,7 @@
    "source": [
     "# Create a DataFrame for SAPs\n",
     "df_saps = pd.DataFrame(saps).set_index('sap_name')\n",
-    "df_saps.style.set_caption(f'SAPs - {project_id}')"
+    "df_saps.style.format({'total_exposure': to_timedelta}).set_caption(f'SAPs - {project_id}')"
    ]
   },
   {
@@ -567,13 +592,13 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 12,
    "id": "18b5ce1d",
    "metadata": {},
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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\n",
       "text/plain": [
        "<Figure size 432x288 with 1 Axes>"
       ]
@@ -584,7 +609,7 @@
    ],
    "source": [
     "# Plot a pie graph\n",
-    "ax_quota = df_quota.plot.pie(title=f'Quota - {project_id}', y='value')"
+    "ax_quota = df_quota.plot.pie(title=f'Quota - {project_id}', y='value', autopct='%.2f%%')"
    ]
   },
   {
@@ -597,9 +622,11 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 11,
+   "execution_count": 13,
    "id": "da3340db",
-   "metadata": {},
+   "metadata": {
+    "scrolled": false
+   },
    "outputs": [
     {
      "data": {
@@ -641,7 +668,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": 14,
    "id": "0869ef70",
    "metadata": {},
    "outputs": [
@@ -673,7 +700,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": 15,
    "id": "ac375a19",
    "metadata": {},
    "outputs": [
@@ -707,7 +734,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": 16,
    "id": "9755ccd4",
    "metadata": {},
    "outputs": [
@@ -715,50 +742,50 @@
      "data": {
       "text/html": [
        "<style  type=\"text/css\" >\n",
-       "</style><table id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6\" ><caption>SUBs Summary - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >name</th>        <th class=\"col_heading level0 col1\" >duration</th>        <th class=\"col_heading level0 col2\" >status</th>    </tr>    <tr>        <th class=\"index_name level0\" >id</th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
+       "</style><table id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6\" ><caption>SUBs Summary - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >name</th>        <th class=\"col_heading level0 col1\" >duration</th>        <th class=\"col_heading level0 col2\" >status</th>    </tr>    <tr>        <th class=\"index_name level0\" >id</th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
        "                <tr>\n",
-       "                        <th id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >3</th>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row0_col0\" class=\"data row0 col0\" >amazing_sub</td>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row0_col1\" class=\"data row0 col1\" >600.000003</td>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row0_col2\" class=\"data row0 col2\" >finished</td>\n",
+       "                        <th id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >3</th>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row0_col0\" class=\"data row0 col0\" >amazing_sub</td>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row0_col1\" class=\"data row0 col1\" >0 days 00:10:00</td>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row0_col2\" class=\"data row0 col2\" >finished</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >8</th>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row1_col0\" class=\"data row1 col0\" >amazing_sub</td>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row1_col1\" class=\"data row1 col1\" >600.000003</td>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row1_col2\" class=\"data row1 col2\" >finished</td>\n",
+       "                        <th id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >8</th>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row1_col0\" class=\"data row1 col0\" >another_amazing_sub</td>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row1_col1\" class=\"data row1 col1\" >0 days 00:10:00</td>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row1_col2\" class=\"data row1 col2\" >finished</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >12</th>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row2_col0\" class=\"data row2 col0\" >horrible_sub</td>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row2_col1\" class=\"data row2 col1\" >600.000003</td>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row2_col2\" class=\"data row2 col2\" >failed</td>\n",
+       "                        <th id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >12</th>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row2_col0\" class=\"data row2 col0\" >horrible_sub</td>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row2_col1\" class=\"data row2 col1\" >0 days 00:10:00</td>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row2_col2\" class=\"data row2 col2\" >failed</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6level0_row3\" class=\"row_heading level0 row3\" >21</th>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row3_col0\" class=\"data row3 col0\" >another_amazing_sub</td>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row3_col1\" class=\"data row3 col1\" >800.000003</td>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row3_col2\" class=\"data row3 col2\" >finished</td>\n",
+       "                        <th id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6level0_row3\" class=\"row_heading level0 row3\" >21</th>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row3_col0\" class=\"data row3 col0\" >another_amazing_sub</td>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row3_col1\" class=\"data row3 col1\" >0 days 00:13:20</td>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row3_col2\" class=\"data row3 col2\" >finished</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6level0_row4\" class=\"row_heading level0 row4\" >36</th>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row4_col0\" class=\"data row4 col0\" >another_horrible_sub</td>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row4_col1\" class=\"data row4 col1\" >200.000003</td>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row4_col2\" class=\"data row4 col2\" >failed</td>\n",
+       "                        <th id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6level0_row4\" class=\"row_heading level0 row4\" >36</th>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row4_col0\" class=\"data row4 col0\" >another_horrible_sub</td>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row4_col1\" class=\"data row4 col1\" >0 days 00:03:20</td>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row4_col2\" class=\"data row4 col2\" >failed</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6level0_row5\" class=\"row_heading level0 row5\" >43</th>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row5_col0\" class=\"data row5 col0\" >yet_another_horrible_sub</td>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row5_col1\" class=\"data row5 col1\" >350.000003</td>\n",
-       "                        <td id=\"T_94764294_9d3e_11eb_8bbc_000c299c9be6row5_col2\" class=\"data row5 col2\" >failed</td>\n",
+       "                        <th id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6level0_row5\" class=\"row_heading level0 row5\" >43</th>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row5_col0\" class=\"data row5 col0\" >yet_another_horrible_sub</td>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row5_col1\" class=\"data row5 col1\" >0 days 00:05:50</td>\n",
+       "                        <td id=\"T_d3bf2de6_9dff_11eb_84e4_000c299c9be6row5_col2\" class=\"data row5 col2\" >failed</td>\n",
        "            </tr>\n",
        "    </tbody></table>"
       ],
       "text/plain": [
-       "<pandas.io.formats.style.Styler at 0x7f29ad8fdf60>"
+       "<pandas.io.formats.style.Styler at 0x7f1d69ab3978>"
       ]
      },
-     "execution_count": 14,
+     "execution_count": 16,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -769,7 +796,7 @@
     "df_subs_failed['status'] = 'failed'\n",
     "# Create a new DataFrame, within index sorting, as a concatenation of finished and failed SUBs.\n",
     "df_subs = pd.concat([df_subs_finished, df_subs_failed]).sort_index()\n",
-    "df_subs.style.set_caption(f'SUBs Summary - {project_id}')"
+    "df_subs.style.format({'duration': to_timedelta}).set_caption(f'SUBs Summary - {project_id}')"
    ]
   },
   {
@@ -782,7 +809,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 15,
+   "execution_count": 17,
    "id": "9cbe3a9f",
    "metadata": {},
    "outputs": [
@@ -816,7 +843,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 16,
+   "execution_count": 18,
    "id": "b323083e",
    "metadata": {},
    "outputs": [
@@ -858,7 +885,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
+   "execution_count": 19,
    "id": "336df2b9",
    "metadata": {},
    "outputs": [
@@ -866,19 +893,19 @@
      "data": {
       "text/html": [
        "<style  type=\"text/css\" >\n",
-       "</style><table id=\"T_99edf1ea_9d3e_11eb_8bbc_000c299c9be6\" ><caption>Summary Table - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >total</th>        <th class=\"col_heading level0 col1\" >total_succeeded</th>        <th class=\"col_heading level0 col2\" >total_not_cancelled</th>        <th class=\"col_heading level0 col3\" >total_failed</th>        <th class=\"col_heading level0 col4\" >size__sum</th>    </tr></thead><tbody>\n",
+       "</style><table id=\"T_d3f6afaa_9dff_11eb_84e4_000c299c9be6\" ><caption>Summary Table - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >total</th>        <th class=\"col_heading level0 col1\" >total_succeeded</th>        <th class=\"col_heading level0 col2\" >total_not_cancelled</th>        <th class=\"col_heading level0 col3\" >total_failed</th>        <th class=\"col_heading level0 col4\" >size__sum</th>    </tr></thead><tbody>\n",
        "                <tr>\n",
-       "                        <th id=\"T_99edf1ea_9d3e_11eb_8bbc_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >high</th>\n",
-       "                        <td id=\"T_99edf1ea_9d3e_11eb_8bbc_000c299c9be6row0_col0\" class=\"data row0 col0\" >4000.000018</td>\n",
-       "                        <td id=\"T_99edf1ea_9d3e_11eb_8bbc_000c299c9be6row0_col1\" class=\"data row0 col1\" >2000.000009</td>\n",
-       "                        <td id=\"T_99edf1ea_9d3e_11eb_8bbc_000c299c9be6row0_col2\" class=\"data row0 col2\" >3250.000009</td>\n",
-       "                        <td id=\"T_99edf1ea_9d3e_11eb_8bbc_000c299c9be6row0_col3\" class=\"data row0 col3\" >1150.000009</td>\n",
-       "                        <td id=\"T_99edf1ea_9d3e_11eb_8bbc_000c299c9be6row0_col4\" class=\"data row0 col4\" >246</td>\n",
+       "                        <th id=\"T_d3f6afaa_9dff_11eb_84e4_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >high</th>\n",
+       "                        <td id=\"T_d3f6afaa_9dff_11eb_84e4_000c299c9be6row0_col0\" class=\"data row0 col0\" >0 days 01:06:40</td>\n",
+       "                        <td id=\"T_d3f6afaa_9dff_11eb_84e4_000c299c9be6row0_col1\" class=\"data row0 col1\" >0 days 00:33:20</td>\n",
+       "                        <td id=\"T_d3f6afaa_9dff_11eb_84e4_000c299c9be6row0_col2\" class=\"data row0 col2\" >0 days 00:54:10</td>\n",
+       "                        <td id=\"T_d3f6afaa_9dff_11eb_84e4_000c299c9be6row0_col3\" class=\"data row0 col3\" >0 days 00:19:10</td>\n",
+       "                        <td id=\"T_d3f6afaa_9dff_11eb_84e4_000c299c9be6row0_col4\" class=\"data row0 col4\" >246</td>\n",
        "            </tr>\n",
        "    </tbody></table>"
       ],
       "text/plain": [
-       "<pandas.io.formats.style.Styler at 0x7f29ad7f91d0>"
+       "<pandas.io.formats.style.Styler at 0x7f1d699a9eb8>"
       ]
      },
      "metadata": {},
@@ -898,7 +925,7 @@
     }
    ],
    "source": [
-    "df_table = df.style.set_caption(f'Summary Table - {project_id}')\n",
+    "df_table = df.style.format({'total': to_timedelta, 'total_succeeded': to_timedelta, 'total_not_cancelled': to_timedelta, 'total_failed': to_timedelta}).set_caption(f'Summary Table - {project_id}')\n",
     "colors = {'total': '#58a5f0', 'total_not_cancelled': '#ffd95a', 'total_succeeded': '#60ad5e', 'total_failed': '#ff5f52'}\n",
     "ax_durations = df_durations.plot.barh(title=f'Durations - {project_id}', color=colors, figsize=(7,5))\n",
     "display(df_table)"
@@ -906,7 +933,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 18,
+   "execution_count": 20,
    "id": "42ec4db1",
    "metadata": {},
    "outputs": [
@@ -914,26 +941,26 @@
      "data": {
       "text/html": [
        "<style  type=\"text/css\" >\n",
-       "</style><table id=\"T_9df751aa_9d3e_11eb_8bbc_000c299c9be6\" ><caption>Quota - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >resource_type_id</th>        <th class=\"col_heading level0 col1\" >value</th>    </tr>    <tr>        <th class=\"index_name level0\" >id</th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
+       "</style><table id=\"T_d417480a_9dff_11eb_84e4_000c299c9be6\" ><caption>Quota - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >resource_type_id</th>        <th class=\"col_heading level0 col1\" >value</th>    </tr>    <tr>        <th class=\"index_name level0\" >id</th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
        "                <tr>\n",
-       "                        <th id=\"T_9df751aa_9d3e_11eb_8bbc_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >2</th>\n",
-       "                        <td id=\"T_9df751aa_9d3e_11eb_8bbc_000c299c9be6row0_col0\" class=\"data row0 col0\" >LTA Storage</td>\n",
-       "                        <td id=\"T_9df751aa_9d3e_11eb_8bbc_000c299c9be6row0_col1\" class=\"data row0 col1\" >1300.000000</td>\n",
+       "                        <th id=\"T_d417480a_9dff_11eb_84e4_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >2</th>\n",
+       "                        <td id=\"T_d417480a_9dff_11eb_84e4_000c299c9be6row0_col0\" class=\"data row0 col0\" >LTA Storage</td>\n",
+       "                        <td id=\"T_d417480a_9dff_11eb_84e4_000c299c9be6row0_col1\" class=\"data row0 col1\" >1300.00</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_9df751aa_9d3e_11eb_8bbc_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >4</th>\n",
-       "                        <td id=\"T_9df751aa_9d3e_11eb_8bbc_000c299c9be6row1_col0\" class=\"data row1 col0\" >LTA Storage</td>\n",
-       "                        <td id=\"T_9df751aa_9d3e_11eb_8bbc_000c299c9be6row1_col1\" class=\"data row1 col1\" >1000.000000</td>\n",
+       "                        <th id=\"T_d417480a_9dff_11eb_84e4_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >4</th>\n",
+       "                        <td id=\"T_d417480a_9dff_11eb_84e4_000c299c9be6row1_col0\" class=\"data row1 col0\" >LTA Storage</td>\n",
+       "                        <td id=\"T_d417480a_9dff_11eb_84e4_000c299c9be6row1_col1\" class=\"data row1 col1\" >1000.00</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_9df751aa_9d3e_11eb_8bbc_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >11</th>\n",
-       "                        <td id=\"T_9df751aa_9d3e_11eb_8bbc_000c299c9be6row2_col0\" class=\"data row2 col0\" >LTA Storage</td>\n",
-       "                        <td id=\"T_9df751aa_9d3e_11eb_8bbc_000c299c9be6row2_col1\" class=\"data row2 col1\" >2400.000000</td>\n",
+       "                        <th id=\"T_d417480a_9dff_11eb_84e4_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >11</th>\n",
+       "                        <td id=\"T_d417480a_9dff_11eb_84e4_000c299c9be6row2_col0\" class=\"data row2 col0\" >LTA Storage</td>\n",
+       "                        <td id=\"T_d417480a_9dff_11eb_84e4_000c299c9be6row2_col1\" class=\"data row2 col1\" >2400.00</td>\n",
        "            </tr>\n",
        "    </tbody></table>"
       ],
       "text/plain": [
-       "<pandas.io.formats.style.Styler at 0x7f29ad779550>"
+       "<pandas.io.formats.style.Styler at 0x7f1d69929630>"
       ]
      },
      "metadata": {},
@@ -941,7 +968,7 @@
     },
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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\n",
       "text/plain": [
        "<Figure size 360x360 with 1 Axes>"
       ]
@@ -951,14 +978,14 @@
     }
    ],
    "source": [
-    "df_quota_table = df_quota.style.set_caption(f'Quota - {project_id}')\n",
-    "ax_quota = df_quota.plot.pie(title=f'Quota - {project_id}', y='value', figsize=(5,5))\n",
+    "df_quota_table = df_quota.style.format({'value': '{:.2f}'}).set_caption(f'Quota - {project_id}')\n",
+    "ax_quota = df_quota.plot.pie(title=f'Quota - {project_id}', y='value', autopct='%.2f%%', figsize=(5,5))\n",
     "display(df_quota_table)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 19,
+   "execution_count": 21,
    "id": "0ff27ce1",
    "metadata": {},
    "outputs": [
@@ -966,29 +993,29 @@
      "data": {
       "text/html": [
        "<style  type=\"text/css\" >\n",
-       "</style><table id=\"T_9ea056ec_9d3e_11eb_8bbc_000c299c9be6\" ><caption>Finished SUBs - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >name</th>        <th class=\"col_heading level0 col1\" >duration</th>        <th class=\"col_heading level0 col2\" >status</th>    </tr>    <tr>        <th class=\"index_name level0\" >id</th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
+       "</style><table id=\"T_d439f346_9dff_11eb_84e4_000c299c9be6\" ><caption>Finished SUBs - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >name</th>        <th class=\"col_heading level0 col1\" >duration</th>        <th class=\"col_heading level0 col2\" >status</th>    </tr>    <tr>        <th class=\"index_name level0\" >id</th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
        "                <tr>\n",
-       "                        <th id=\"T_9ea056ec_9d3e_11eb_8bbc_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >3</th>\n",
-       "                        <td id=\"T_9ea056ec_9d3e_11eb_8bbc_000c299c9be6row0_col0\" class=\"data row0 col0\" >amazing_sub</td>\n",
-       "                        <td id=\"T_9ea056ec_9d3e_11eb_8bbc_000c299c9be6row0_col1\" class=\"data row0 col1\" >600.000003</td>\n",
-       "                        <td id=\"T_9ea056ec_9d3e_11eb_8bbc_000c299c9be6row0_col2\" class=\"data row0 col2\" >finished</td>\n",
+       "                        <th id=\"T_d439f346_9dff_11eb_84e4_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >3</th>\n",
+       "                        <td id=\"T_d439f346_9dff_11eb_84e4_000c299c9be6row0_col0\" class=\"data row0 col0\" >amazing_sub</td>\n",
+       "                        <td id=\"T_d439f346_9dff_11eb_84e4_000c299c9be6row0_col1\" class=\"data row0 col1\" >0 days 00:10:00</td>\n",
+       "                        <td id=\"T_d439f346_9dff_11eb_84e4_000c299c9be6row0_col2\" class=\"data row0 col2\" >finished</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_9ea056ec_9d3e_11eb_8bbc_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >8</th>\n",
-       "                        <td id=\"T_9ea056ec_9d3e_11eb_8bbc_000c299c9be6row1_col0\" class=\"data row1 col0\" >amazing_sub</td>\n",
-       "                        <td id=\"T_9ea056ec_9d3e_11eb_8bbc_000c299c9be6row1_col1\" class=\"data row1 col1\" >600.000003</td>\n",
-       "                        <td id=\"T_9ea056ec_9d3e_11eb_8bbc_000c299c9be6row1_col2\" class=\"data row1 col2\" >finished</td>\n",
+       "                        <th id=\"T_d439f346_9dff_11eb_84e4_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >8</th>\n",
+       "                        <td id=\"T_d439f346_9dff_11eb_84e4_000c299c9be6row1_col0\" class=\"data row1 col0\" >another_amazing_sub</td>\n",
+       "                        <td id=\"T_d439f346_9dff_11eb_84e4_000c299c9be6row1_col1\" class=\"data row1 col1\" >0 days 00:10:00</td>\n",
+       "                        <td id=\"T_d439f346_9dff_11eb_84e4_000c299c9be6row1_col2\" class=\"data row1 col2\" >finished</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_9ea056ec_9d3e_11eb_8bbc_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >21</th>\n",
-       "                        <td id=\"T_9ea056ec_9d3e_11eb_8bbc_000c299c9be6row2_col0\" class=\"data row2 col0\" >another_amazing_sub</td>\n",
-       "                        <td id=\"T_9ea056ec_9d3e_11eb_8bbc_000c299c9be6row2_col1\" class=\"data row2 col1\" >800.000003</td>\n",
-       "                        <td id=\"T_9ea056ec_9d3e_11eb_8bbc_000c299c9be6row2_col2\" class=\"data row2 col2\" >finished</td>\n",
+       "                        <th id=\"T_d439f346_9dff_11eb_84e4_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >21</th>\n",
+       "                        <td id=\"T_d439f346_9dff_11eb_84e4_000c299c9be6row2_col0\" class=\"data row2 col0\" >another_amazing_sub</td>\n",
+       "                        <td id=\"T_d439f346_9dff_11eb_84e4_000c299c9be6row2_col1\" class=\"data row2 col1\" >0 days 00:13:20</td>\n",
+       "                        <td id=\"T_d439f346_9dff_11eb_84e4_000c299c9be6row2_col2\" class=\"data row2 col2\" >finished</td>\n",
        "            </tr>\n",
        "    </tbody></table>"
       ],
       "text/plain": [
-       "<pandas.io.formats.style.Styler at 0x7f29ad6cea58>"
+       "<pandas.io.formats.style.Styler at 0x7f1d69888278>"
       ]
      },
      "metadata": {},
@@ -1008,14 +1035,14 @@
     }
    ],
    "source": [
-    "df_subs_finished_table = df_subs_finished.style.set_caption(f'Finished SUBs - {project_id}')\n",
+    "df_subs_finished_table = df_subs_finished.style.format({'duration': to_timedelta}).set_caption(f'Finished SUBs - {project_id}')\n",
     "df_subs_finished.plot.bar(title=f'Finished SUBs - {project_id}', color='#60ad5e', figsize=(5,5))\n",
     "display(df_subs_finished_table)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
+   "execution_count": 22,
    "id": "f2256a8e",
    "metadata": {},
    "outputs": [
@@ -1023,29 +1050,29 @@
      "data": {
       "text/html": [
        "<style  type=\"text/css\" >\n",
-       "</style><table id=\"T_9f394c08_9d3e_11eb_8bbc_000c299c9be6\" ><caption>Failed SUBs - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >name</th>        <th class=\"col_heading level0 col1\" >duration</th>        <th class=\"col_heading level0 col2\" >status</th>    </tr>    <tr>        <th class=\"index_name level0\" >id</th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
+       "</style><table id=\"T_d458f7be_9dff_11eb_84e4_000c299c9be6\" ><caption>Failed SUBs - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >name</th>        <th class=\"col_heading level0 col1\" >duration</th>        <th class=\"col_heading level0 col2\" >status</th>    </tr>    <tr>        <th class=\"index_name level0\" >id</th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
        "                <tr>\n",
-       "                        <th id=\"T_9f394c08_9d3e_11eb_8bbc_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >12</th>\n",
-       "                        <td id=\"T_9f394c08_9d3e_11eb_8bbc_000c299c9be6row0_col0\" class=\"data row0 col0\" >horrible_sub</td>\n",
-       "                        <td id=\"T_9f394c08_9d3e_11eb_8bbc_000c299c9be6row0_col1\" class=\"data row0 col1\" >600.000003</td>\n",
-       "                        <td id=\"T_9f394c08_9d3e_11eb_8bbc_000c299c9be6row0_col2\" class=\"data row0 col2\" >failed</td>\n",
+       "                        <th id=\"T_d458f7be_9dff_11eb_84e4_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >12</th>\n",
+       "                        <td id=\"T_d458f7be_9dff_11eb_84e4_000c299c9be6row0_col0\" class=\"data row0 col0\" >horrible_sub</td>\n",
+       "                        <td id=\"T_d458f7be_9dff_11eb_84e4_000c299c9be6row0_col1\" class=\"data row0 col1\" >0 days 00:10:00</td>\n",
+       "                        <td id=\"T_d458f7be_9dff_11eb_84e4_000c299c9be6row0_col2\" class=\"data row0 col2\" >failed</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_9f394c08_9d3e_11eb_8bbc_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >36</th>\n",
-       "                        <td id=\"T_9f394c08_9d3e_11eb_8bbc_000c299c9be6row1_col0\" class=\"data row1 col0\" >another_horrible_sub</td>\n",
-       "                        <td id=\"T_9f394c08_9d3e_11eb_8bbc_000c299c9be6row1_col1\" class=\"data row1 col1\" >200.000003</td>\n",
-       "                        <td id=\"T_9f394c08_9d3e_11eb_8bbc_000c299c9be6row1_col2\" class=\"data row1 col2\" >failed</td>\n",
+       "                        <th id=\"T_d458f7be_9dff_11eb_84e4_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >36</th>\n",
+       "                        <td id=\"T_d458f7be_9dff_11eb_84e4_000c299c9be6row1_col0\" class=\"data row1 col0\" >another_horrible_sub</td>\n",
+       "                        <td id=\"T_d458f7be_9dff_11eb_84e4_000c299c9be6row1_col1\" class=\"data row1 col1\" >0 days 00:03:20</td>\n",
+       "                        <td id=\"T_d458f7be_9dff_11eb_84e4_000c299c9be6row1_col2\" class=\"data row1 col2\" >failed</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_9f394c08_9d3e_11eb_8bbc_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >43</th>\n",
-       "                        <td id=\"T_9f394c08_9d3e_11eb_8bbc_000c299c9be6row2_col0\" class=\"data row2 col0\" >yet_another_horrible_sub</td>\n",
-       "                        <td id=\"T_9f394c08_9d3e_11eb_8bbc_000c299c9be6row2_col1\" class=\"data row2 col1\" >350.000003</td>\n",
-       "                        <td id=\"T_9f394c08_9d3e_11eb_8bbc_000c299c9be6row2_col2\" class=\"data row2 col2\" >failed</td>\n",
+       "                        <th id=\"T_d458f7be_9dff_11eb_84e4_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >43</th>\n",
+       "                        <td id=\"T_d458f7be_9dff_11eb_84e4_000c299c9be6row2_col0\" class=\"data row2 col0\" >yet_another_horrible_sub</td>\n",
+       "                        <td id=\"T_d458f7be_9dff_11eb_84e4_000c299c9be6row2_col1\" class=\"data row2 col1\" >0 days 00:05:50</td>\n",
+       "                        <td id=\"T_d458f7be_9dff_11eb_84e4_000c299c9be6row2_col2\" class=\"data row2 col2\" >failed</td>\n",
        "            </tr>\n",
        "    </tbody></table>"
       ],
       "text/plain": [
-       "<pandas.io.formats.style.Styler at 0x7f29ad828eb8>"
+       "<pandas.io.formats.style.Styler at 0x7f1d697fc128>"
       ]
      },
      "metadata": {},
@@ -1065,14 +1092,14 @@
     }
    ],
    "source": [
+    "df_subs_failed_table = df_subs_failed.style.format({'duration': to_timedelta}).set_caption(f'Failed SUBs - {project_id}')\n",
     "ax_subs_failed = df_subs_failed.plot.bar(title=f'Failed SUBs - {project_id}', color='#ff5f52', figsize=(5,5))\n",
-    "df_subs_failed_table = df_subs_failed.style.set_caption(f'Failed SUBs - {project_id}')\n",
     "display(df_subs_failed_table)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 21,
+   "execution_count": 23,
    "id": "9cc39543",
    "metadata": {},
    "outputs": [
@@ -1080,47 +1107,47 @@
      "data": {
       "text/html": [
        "<style  type=\"text/css\" >\n",
-       "</style><table id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6\" ><caption>SUBs Summary - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >name</th>        <th class=\"col_heading level0 col1\" >duration</th>        <th class=\"col_heading level0 col2\" >status</th>    </tr>    <tr>        <th class=\"index_name level0\" >id</th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
+       "</style><table id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6\" ><caption>SUBs Summary - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >name</th>        <th class=\"col_heading level0 col1\" >duration</th>        <th class=\"col_heading level0 col2\" >status</th>    </tr>    <tr>        <th class=\"index_name level0\" >id</th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
        "                <tr>\n",
-       "                        <th id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >3</th>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row0_col0\" class=\"data row0 col0\" >amazing_sub</td>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row0_col1\" class=\"data row0 col1\" >600.000003</td>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row0_col2\" class=\"data row0 col2\" >finished</td>\n",
+       "                        <th id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >3</th>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row0_col0\" class=\"data row0 col0\" >amazing_sub</td>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row0_col1\" class=\"data row0 col1\" >0 days 00:10:00</td>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row0_col2\" class=\"data row0 col2\" >finished</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >8</th>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row1_col0\" class=\"data row1 col0\" >amazing_sub</td>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row1_col1\" class=\"data row1 col1\" >600.000003</td>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row1_col2\" class=\"data row1 col2\" >finished</td>\n",
+       "                        <th id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >8</th>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row1_col0\" class=\"data row1 col0\" >another_amazing_sub</td>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row1_col1\" class=\"data row1 col1\" >0 days 00:10:00</td>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row1_col2\" class=\"data row1 col2\" >finished</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >12</th>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row2_col0\" class=\"data row2 col0\" >horrible_sub</td>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row2_col1\" class=\"data row2 col1\" >600.000003</td>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row2_col2\" class=\"data row2 col2\" >failed</td>\n",
+       "                        <th id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >12</th>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row2_col0\" class=\"data row2 col0\" >horrible_sub</td>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row2_col1\" class=\"data row2 col1\" >0 days 00:10:00</td>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row2_col2\" class=\"data row2 col2\" >failed</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6level0_row3\" class=\"row_heading level0 row3\" >21</th>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row3_col0\" class=\"data row3 col0\" >another_amazing_sub</td>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row3_col1\" class=\"data row3 col1\" >800.000003</td>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row3_col2\" class=\"data row3 col2\" >finished</td>\n",
+       "                        <th id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6level0_row3\" class=\"row_heading level0 row3\" >21</th>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row3_col0\" class=\"data row3 col0\" >another_amazing_sub</td>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row3_col1\" class=\"data row3 col1\" >0 days 00:13:20</td>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row3_col2\" class=\"data row3 col2\" >finished</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6level0_row4\" class=\"row_heading level0 row4\" >36</th>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row4_col0\" class=\"data row4 col0\" >another_horrible_sub</td>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row4_col1\" class=\"data row4 col1\" >200.000003</td>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row4_col2\" class=\"data row4 col2\" >failed</td>\n",
+       "                        <th id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6level0_row4\" class=\"row_heading level0 row4\" >36</th>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row4_col0\" class=\"data row4 col0\" >another_horrible_sub</td>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row4_col1\" class=\"data row4 col1\" >0 days 00:03:20</td>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row4_col2\" class=\"data row4 col2\" >failed</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6level0_row5\" class=\"row_heading level0 row5\" >43</th>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row5_col0\" class=\"data row5 col0\" >yet_another_horrible_sub</td>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row5_col1\" class=\"data row5 col1\" >350.000003</td>\n",
-       "                        <td id=\"T_9fb751ac_9d3e_11eb_8bbc_000c299c9be6row5_col2\" class=\"data row5 col2\" >failed</td>\n",
+       "                        <th id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6level0_row5\" class=\"row_heading level0 row5\" >43</th>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row5_col0\" class=\"data row5 col0\" >yet_another_horrible_sub</td>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row5_col1\" class=\"data row5 col1\" >0 days 00:05:50</td>\n",
+       "                        <td id=\"T_d46ef3ca_9dff_11eb_84e4_000c299c9be6row5_col2\" class=\"data row5 col2\" >failed</td>\n",
        "            </tr>\n",
        "    </tbody></table>"
       ],
       "text/plain": [
-       "<pandas.io.formats.style.Styler at 0x7f29ad649c88>"
+       "<pandas.io.formats.style.Styler at 0x7f1d69808438>"
       ]
      },
      "metadata": {},
@@ -1140,7 +1167,7 @@
     }
    ],
    "source": [
-    "df_subs_table = df_subs.style.set_caption(f'SUBs Summary - {project_id}')\n",
+    "df_subs_table = df_subs.style.format({'duration': to_timedelta}).set_caption(f'SUBs Summary - {project_id}')\n",
     "colors = {'finished': '#60ad5e', 'failed': '#ff5f52'}\n",
     "ax_subs = df_subs.plot.bar(title=f'SUBs Summary - {project_id}', y='duration', legend=False, figsize=(7,5), color=list(df_subs['status'].map(colors)))\n",
     "display(df_subs_table)"
@@ -1148,7 +1175,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 22,
+   "execution_count": 24,
    "id": "ebb46f8e",
    "metadata": {
     "scrolled": false
@@ -1158,31 +1185,31 @@
      "data": {
       "text/html": [
        "<style  type=\"text/css\" >\n",
-       "</style><table id=\"T_a0639502_9d3e_11eb_8bbc_000c299c9be6\" ><caption>SAPs - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >total_exposure</th>    </tr>    <tr>        <th class=\"index_name level0\" >sap_name</th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
+       "</style><table id=\"T_d48650ba_9dff_11eb_84e4_000c299c9be6\" ><caption>SAPs - high</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >total_exposure</th>    </tr>    <tr>        <th class=\"index_name level0\" >sap_name</th>        <th class=\"blank\" ></th>    </tr></thead><tbody>\n",
        "                <tr>\n",
-       "                        <th id=\"T_a0639502_9d3e_11eb_8bbc_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >sap_1</th>\n",
-       "                        <td id=\"T_a0639502_9d3e_11eb_8bbc_000c299c9be6row0_col0\" class=\"data row0 col0\" >340.000000</td>\n",
+       "                        <th id=\"T_d48650ba_9dff_11eb_84e4_000c299c9be6level0_row0\" class=\"row_heading level0 row0\" >sap_1</th>\n",
+       "                        <td id=\"T_d48650ba_9dff_11eb_84e4_000c299c9be6row0_col0\" class=\"data row0 col0\" >0 days 00:05:40</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_a0639502_9d3e_11eb_8bbc_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >sap_2</th>\n",
-       "                        <td id=\"T_a0639502_9d3e_11eb_8bbc_000c299c9be6row1_col0\" class=\"data row1 col0\" >195.000000</td>\n",
+       "                        <th id=\"T_d48650ba_9dff_11eb_84e4_000c299c9be6level0_row1\" class=\"row_heading level0 row1\" >sap_2</th>\n",
+       "                        <td id=\"T_d48650ba_9dff_11eb_84e4_000c299c9be6row1_col0\" class=\"data row1 col0\" >0 days 00:03:15</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_a0639502_9d3e_11eb_8bbc_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >sap_3</th>\n",
-       "                        <td id=\"T_a0639502_9d3e_11eb_8bbc_000c299c9be6row2_col0\" class=\"data row2 col0\" >235.000000</td>\n",
+       "                        <th id=\"T_d48650ba_9dff_11eb_84e4_000c299c9be6level0_row2\" class=\"row_heading level0 row2\" >sap_3</th>\n",
+       "                        <td id=\"T_d48650ba_9dff_11eb_84e4_000c299c9be6row2_col0\" class=\"data row2 col0\" >0 days 00:03:55</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_a0639502_9d3e_11eb_8bbc_000c299c9be6level0_row3\" class=\"row_heading level0 row3\" >sap_4</th>\n",
-       "                        <td id=\"T_a0639502_9d3e_11eb_8bbc_000c299c9be6row3_col0\" class=\"data row3 col0\" >345.000000</td>\n",
+       "                        <th id=\"T_d48650ba_9dff_11eb_84e4_000c299c9be6level0_row3\" class=\"row_heading level0 row3\" >sap_4</th>\n",
+       "                        <td id=\"T_d48650ba_9dff_11eb_84e4_000c299c9be6row3_col0\" class=\"data row3 col0\" >0 days 00:05:45</td>\n",
        "            </tr>\n",
        "            <tr>\n",
-       "                        <th id=\"T_a0639502_9d3e_11eb_8bbc_000c299c9be6level0_row4\" class=\"row_heading level0 row4\" >sap_5</th>\n",
-       "                        <td id=\"T_a0639502_9d3e_11eb_8bbc_000c299c9be6row4_col0\" class=\"data row4 col0\" >137.000000</td>\n",
+       "                        <th id=\"T_d48650ba_9dff_11eb_84e4_000c299c9be6level0_row4\" class=\"row_heading level0 row4\" >sap_5</th>\n",
+       "                        <td id=\"T_d48650ba_9dff_11eb_84e4_000c299c9be6row4_col0\" class=\"data row4 col0\" >0 days 00:02:17</td>\n",
        "            </tr>\n",
        "    </tbody></table>"
       ],
       "text/plain": [
-       "<pandas.io.formats.style.Styler at 0x7f29ad6a8908>"
+       "<pandas.io.formats.style.Styler at 0x7f1d697fc208>"
       ]
      },
      "metadata": {},
@@ -1202,7 +1229,7 @@
     }
    ],
    "source": [
-    "df_saps_table = df_saps.style.set_caption(f'SAPs - {project_id}')\n",
+    "df_saps_table = df_saps.style.format({'total_exposure': to_timedelta}).set_caption(f'SAPs - {project_id}')\n",
     "ax_saps = df_saps.plot.bar(title=f'SAPs - {project_id}', color=['#ffd95a'], figsize=(7,5))\n",
     "display(df_saps_table)"
    ]
-- 
GitLab