Skip to content

Commit 681395f

Browse files
committed
Added a column to the debug view of sql queries which indicate whether a query originated in view code or template rendering.
- Legacy-Id: 12217
1 parent 5c6f0c7 commit 681395f

4 files changed

Lines changed: 15 additions & 0 deletions

File tree

ietf/context_processors.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,13 @@ def rfcdiff_base_url(request):
1111

1212
def revision_info(request):
1313
return {'revision_time': __date__[7:32], 'revision_date': __date__[7:17], 'revision_num': __rev__[6:-2], "revision_id": __id__[5:-2], "version_num": __version__+__patch__ }
14+
15+
def debug_mark_queries_from_view(request):
16+
"Marks the queries which has occurred so far as coming from a view."
17+
context_extras = {}
18+
if settings.DEBUG and request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS:
19+
from django.db import connection
20+
for query in connection.queries:
21+
query['where'] = 'V' # V is for 'view'
22+
return context_extras
23+

ietf/settings.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,7 @@ def skip_unreadable_post(record):
253253
'django.core.context_processors.media',
254254
'django.contrib.messages.context_processors.messages',
255255
'ietf.context_processors.server_mode',
256+
'ietf.context_processors.debug_mark_queries_from_view',
256257
'ietf.context_processors.revision_info',
257258
'ietf.secr.context_processors.secr_revision_info',
258259
'ietf.context_processors.rfcdiff_base_url',

ietf/templates/debug.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
<th data-header="sequence">#</th>
2020
<th data-header="query">SQL</th>
2121
<th data-header="count">Count</th>
22+
<th data-header="where">Where</th>
2223
<th data-header="time">Time</th>
2324
<th data-header="acc">Acc.</th>
2425
</tr>
@@ -30,6 +31,7 @@
3031
<td>{{ forloop.counter }}</td>
3132
<td>{{ query.sql|expand_comma|escape }}</td>
3233
<td>{{ query.count }}</td>
34+
<td>{{ query.where }}</td>
3335
<td>{{ query.time }}</td>
3436
<td>{{ query.time_accum }}</td>
3537
</tr>

ietf/utils/templatetags/debug_filters.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ def annotate_sql_queries(queries):
3333
timeacc[sql] = 0.0;
3434
timeacc[sql] += float(q['time'])
3535
for q in queries:
36+
if q.get('where', None) == None:
37+
q['where'] = 'T' # template
3638
sql = q['sql']
3739
q['count'] = str(counts[sql])
3840
q['time_accum'] = "%4.3f" % timeacc[sql]

0 commit comments

Comments
 (0)