Skip to content

Instantly share code, notes, and snippets.

@goutomroy
Last active August 14, 2023 14:52
Show Gist options
  • Star 17 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save goutomroy/d61fc8a8445954c71b5585af042e5cf4 to your computer and use it in GitHub Desktop.
Save goutomroy/d61fc8a8445954c71b5585af042e5cf4 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