django_sorcery.db.profiler module

sqlalchemy profiling things.

class django_sorcery.db.profiler.Query(timestamp, statement, parameters, duration)

Bases: tuple

duration

Alias for field number 3

parameters

Alias for field number 2

statement

Alias for field number 1

timestamp

Alias for field number 0

class django_sorcery.db.profiler.SQLAlchemyProfiler(exclude=None, record_queries=True)[source]

Bases: object

A sqlalchemy profiler that hooks into sqlalchemy engine and pool events and generate stats.

Can also capture executed sql statements. Useful for profiling or testing sql statements.

clear()[source]

Clears collected stats.

counts

Returns a dict of counts per sqlalchemy event operation like executed statements, commits, rollbacks, etc..

duration

Return total statement execution duration.

queries

Returns executed statements.

start()[source]

Starts profiling by wiring up sqlalchemy events.

stats

Returns profiling stats.

stop()[source]

Stops profiling by detaching wired up sqlalchemy events.

class django_sorcery.db.profiler.SQLAlchemyProfilingMiddleware(get_response=None)[source]

Bases: object

Django middleware that provides sqlalchemy statistics.

header_results

Determines if stats should be returned as headers or not.

log(**kwargs)[source]

Log sqlalchemy stats for current request.

log_results

Determines if stats should be logged or not.

logger = <Logger django_sorcery.db.profiler (WARNING)>
process_request(request)[source]

Starts profiling and resets stats doe the request.

process_response(request, response)[source]

Logs current request stats and also returns stats as headers.

start()[source]

Starts profiling and disables restarts.