From 6041b0da8317b3c8df2d1551f8282a9e59c336c3 Mon Sep 17 00:00:00 2001 From: David Wolfe Date: Sat, 8 Feb 2014 18:37:43 -0400 Subject: Color-code SQL query "Timeline" stripes according to stacktrace --- debug_toolbar/panels/sql/panel.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'debug_toolbar/panels/sql/panel.py') diff --git a/debug_toolbar/panels/sql/panel.py b/debug_toolbar/panels/sql/panel.py index 2534849..cae5214 100644 --- a/debug_toolbar/panels/sql/panel.py +++ b/debug_toolbar/panels/sql/panel.py @@ -10,7 +10,7 @@ from django.utils.translation import ugettext_lazy as _, ungettext_lazy as __ from debug_toolbar.panels import Panel from debug_toolbar.panels.sql.forms import SQLSelectForm from debug_toolbar.utils import render_stacktrace -from debug_toolbar.panels.sql.utils import reformat_sql +from debug_toolbar.panels.sql.utils import reformat_sql, contrasting_color_generator from debug_toolbar.panels.sql.tracking import wrap_cursor, unwrap_cursor @@ -136,6 +136,8 @@ class SQLPanel(Panel): unwrap_cursor(connection) def process_response(self, request, response): + colors = contrasting_color_generator() + trace_colors = {} if self._queries: width_ratio_tally = 0 factor = int(256.0 / (len(self._databases) * 2.5)) @@ -196,6 +198,11 @@ class SQLPanel(Panel): query['stacktrace'] = render_stacktrace(query['stacktrace']) i += 1 + if not trace_colors.get(query['stacktrace']): + c = colors.next() + trace_colors[query['stacktrace']] = c + query['trace_color'] = trace_colors[query['stacktrace']] + if trans_id: self._queries[(i - 1)][1]['ends_trans'] = True -- cgit v1.2.3 From eb7793807863a088cf7c67c34df7f31ad03cbc29 Mon Sep 17 00:00:00 2001 From: David Wolfe Date: Mon, 10 Feb 2014 09:36:40 -0400 Subject: Color-code SQL: minor code style changes --- debug_toolbar/panels/sql/panel.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'debug_toolbar/panels/sql/panel.py') diff --git a/debug_toolbar/panels/sql/panel.py b/debug_toolbar/panels/sql/panel.py index cae5214..b7a9e4c 100644 --- a/debug_toolbar/panels/sql/panel.py +++ b/debug_toolbar/panels/sql/panel.py @@ -198,9 +198,8 @@ class SQLPanel(Panel): query['stacktrace'] = render_stacktrace(query['stacktrace']) i += 1 - if not trace_colors.get(query['stacktrace']): - c = colors.next() - trace_colors[query['stacktrace']] = c + if query['stacktrace'] not in trace_colors: + trace_colors[query['stacktrace']] = colors.next() query['trace_color'] = trace_colors[query['stacktrace']] if trans_id: -- cgit v1.2.3 From 8d68d307af04166e7aa4fde915b95a41560b8f19 Mon Sep 17 00:00:00 2001 From: David Wolfe Date: Tue, 11 Feb 2014 19:16:10 -0400 Subject: Color-code SQL: code review changes; fallback to black after 2**24 colors --- debug_toolbar/panels/sql/panel.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'debug_toolbar/panels/sql/panel.py') diff --git a/debug_toolbar/panels/sql/panel.py b/debug_toolbar/panels/sql/panel.py index b7a9e4c..f6ce954 100644 --- a/debug_toolbar/panels/sql/panel.py +++ b/debug_toolbar/panels/sql/panel.py @@ -2,6 +2,7 @@ from __future__ import absolute_import, unicode_literals import uuid from copy import copy +from collections import defaultdict from django.conf.urls import patterns, url from django.db import connections @@ -137,7 +138,7 @@ class SQLPanel(Panel): def process_response(self, request, response): colors = contrasting_color_generator() - trace_colors = {} + trace_colors = defaultdict(lambda: next(colors)) if self._queries: width_ratio_tally = 0 factor = int(256.0 / (len(self._databases) * 2.5)) @@ -198,8 +199,6 @@ class SQLPanel(Panel): query['stacktrace'] = render_stacktrace(query['stacktrace']) i += 1 - if query['stacktrace'] not in trace_colors: - trace_colors[query['stacktrace']] = colors.next() query['trace_color'] = trace_colors[query['stacktrace']] if trans_id: -- cgit v1.2.3