From 15c5053e444671b1a000c5ca5b240f1bcac49580 Mon Sep 17 00:00:00 2001
From: Edward Betts <edward@4angle.com>
Date: Sun, 4 Aug 2024 12:01:54 +0800
Subject: [PATCH] Show page render time on events list

---
 templates/event_list.html | 1 +
 web_view.py               | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/templates/event_list.html b/templates/event_list.html
index f51b5d1..b9769b5 100644
--- a/templates/event_list.html
+++ b/templates/event_list.html
@@ -150,6 +150,7 @@
     {% for name, seconds in timings %}
     <li>{{ name }} took {{ "%.1f" | format(seconds) }} seconds</li>
     {% endfor %}
+    <li>Render time: {{ "%.1f" | format(render_time) }} seconds</li>
 
     </ul>
   </div>
diff --git a/web_view.py b/web_view.py
index 4e95567..3f9db56 100755
--- a/web_view.py
+++ b/web_view.py
@@ -7,6 +7,7 @@ import inspect
 import operator
 import os.path
 import sys
+import time
 import traceback
 from collections import defaultdict
 from datetime import date, datetime, timedelta
@@ -70,6 +71,7 @@ def exception_handler(e: werkzeug.exceptions.InternalServerError) -> tuple[str,
 @app.route("/")
 async def index() -> str:
     """Index page."""
+    t0 = time.time()
     now = datetime.now()
     data = await agenda.data.get_data(now, app.config)
 
@@ -88,6 +90,7 @@ async def index() -> str:
         fullcalendar_events=calendar.build_events(events),
         start_event_list=date.today() - timedelta(days=1),
         end_event_list=date.today() + timedelta(days=365 * 2),
+        render_time=(time.time() - t0),
         **data,
     )