Provides a decorator for measuring the time and number of database queries
- Install package
pip install capture-db-queries
capture_queries
decorator it can call the body of the decorated function the specified number of times for multiple measurements, it can validate the total number of queries.
- Optional parameters:
assert_q_count
: The expected number of database requests is otherwise "AssertionError: N not less than or equal to N queries"number_runs
: The number of runs of the test function_
verbose
: Displaying the final results of the test measurementsadvanced_verb
: Displaying the result of each test measurementqueries
: Displaying raw SQL queries to the database
ExtCaptureQueriesContext
- Optional parameters:
assert_q_count
: The expected number of database requests is otherwise "AssertionError: N not less than or equal to N queries"verbose
: Displaying the final results of the test measurementsqueries
: Displaying raw SQL queries to the database
from capture_db_queries.decorators import capture_queries
@capture_queries(number_runs=2, advanced_verb=True)
def _():
response = self.client.get(url)
>>> Test №1 | Queries count: 10 | Execution time: 0.04s
>>> Test №2 | Queries count: 10 | Execution time: 0.04s
>>> Tests count: 2 | Total queries count: 20 | Total execution time: 0.08s | Median time one test is: 0.041s
from capture_db_queries.decorators import ExtCaptureQueriesContext
with ExtCaptureQueriesContext():
response = self.client.get(url)
>>> Queries count: 164 | Execution time: 0.923s