import logging
 import os
 import random
+import time
 from datetime import datetime, timezone
 from logging.handlers import RotatingFileHandler
 from pathlib import Path
 
 @app.route("/")
 def index():
+    start = time.perf_counter()
     all_users = db.query("select * from users order by username asc")
     all_users = [dict(row) for row in all_users]
     for user in all_users:
         user["has_pfp"] = users.user_has_pfp(user["userid"])
         for key, value in users.get_user_colors(user).items():
             user[key] = value
+    app.logger.info(f"Homepage users in {time.perf_counter() - start} seconds")
 
     titles = [
             ("Little Song Place", 2.0),
     titles, weights = zip(*titles)
     title = random.choices(titles, weights)[0]
 
+    start = time.perf_counter()
     rows = db.query(
             """
             SELECT * FROM jams
     for j in all_jams:
         all_events.extend(j.events)
     ongoing_events, upcoming_events, _, _ = jams._sort_events(all_events)
+    app.logger.info(f"Homepage jams in {time.perf_counter() - start} seconds")
 
     # Group songs by userid
+    start = time.perf_counter()
     page_songs = songs.get_latest(100)
     songs_by_user = []
     prev_song_user = None
                 songs_by_user.append([])
                 prev_song_user = song.userid
             songs_by_user[-1].append(song)
+    app.logger.info(f"Homepage songs in {time.perf_counter() - start} seconds")
 
-    return render_template(
+    start = time.perf_counter()
+    page = render_template(
             "index.html",
             users=all_users,
             songs_by_user=songs_by_user,
             page_title=title,
             ongoing_events=ongoing_events,
             upcoming_events=upcoming_events)
+    app.logger.info(f"Homepage render in {time.perf_counter() - start} seconds")
+
+    return page
 
 @app.get("/site-news")
 def site_news():