Skip to content

Instantly share code, notes, and snippets.

@truongluu
Forked from goutomroy/query_debugger.py
Created May 19, 2021 03:41
Show Gist options
  • Save truongluu/e24ee4d93217bf0ad82f96f7eba4a944 to your computer and use it in GitHub Desktop.
Save truongluu/e24ee4d93217bf0ad82f96f7eba4a944 to your computer and use it in GitHub Desktop.
from django.db import connection, reset_queries
import time
import functools
def query_debugger(func):
@functools.wraps(func)
def inner_func(*args, **kwargs):
reset_queries()
start_queries = len(connection.queries)
start = time.perf_counter()
result = func(*args, **kwargs)
end = time.perf_counter()
end_queries = len(connection.queries)
print(f"Function : {func.__name__}")
print(f"Number of Queries : {end_queries - start_queries}")
print(f"Finished in : {(end - start):.2f}s")
return result
return inner_func
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment