Adding query logging for redis pubsub.

This commit is contained in:
Samuel Clay 2021-08-03 17:19:45 -04:00
parent 3cc5fbe184
commit 2a45cd0df7
3 changed files with 11 additions and 1 deletions

View file

@ -156,6 +156,8 @@ class SQLLogToConsoleMiddleware:
query['sql'] = "~FC%s" % (query['redis_story']['query'])
elif query.get('redis_session'):
query['sql'] = "~FC%s" % (query['redis_session']['query'])
elif query.get('redis_pubsub'):
query['sql'] = "~FC%s" % (query['redis_pubsub']['query'])
elif 'sql' not in query:
logging.debug(" ***> Query log missing: %s" % query)
else:
@ -177,12 +179,14 @@ class SQLLogToConsoleMiddleware:
not q.get('redis_user') and
not q.get('redis_story') and
not q.get('redis_session') and
not q.get('redis_pubsub') and
not q.get('db_redis')]),
'mongo': sum([float(q['time']) for q in queries if q.get('mongo')]),
'db_redis': sum([float(q['time']) for q in queries if q.get('db_redis')]),
'redis_user': sum([float(q['time']) for q in queries if q.get('redis_user')]),
'redis_story': sum([float(q['time']) for q in queries if q.get('redis_story')]),
'redis_session': sum([float(q['time']) for q in queries if q.get('redis_session')]),
'redis_pubsub': sum([float(q['time']) for q in queries if q.get('redis_pubsub')]),
}
setattr(request, 'sql_times_elapsed', times_elapsed)
else:

View file

@ -69,6 +69,8 @@ class RedisDumpMiddleware(object):
redis_server_name = 'redis_session'
elif 'db-redis-story' in redis_server_name:
redis_server_name = 'redis_story'
elif 'db-redis-pubsub' in redis_server_name:
redis_server_name = 'redis_pubsub'
continue
if len(str(arg)) > 100:
arg = "[%s bytes]" % len(str(arg))

View file

@ -22,13 +22,15 @@ class DumpRequestMiddleware:
def process_response(self, request, response):
if hasattr(request, 'sql_times_elapsed'):
if request.sql_times_elapsed.get('redis_user'):
redis_log = "user:%s%.6f~SNs story:%s%.6f~SNs session:%s%.6f~SNs" % (
redis_log = "user:%s%.6f~SNs story:%s%.6f~SNs session:%s%.6f~SNs pubsub:%s%.6f~SNs" % (
self.color_db(request.sql_times_elapsed['redis_user'], '~FC'),
request.sql_times_elapsed['redis_user'],
self.color_db(request.sql_times_elapsed['redis_story'], '~FC'),
request.sql_times_elapsed['redis_story'],
self.color_db(request.sql_times_elapsed['redis_session'], '~FC'),
request.sql_times_elapsed['redis_session'],
self.color_db(request.sql_times_elapsed['redis_pubsub'], '~FC'),
request.sql_times_elapsed['redis_pubsub'],
)
else:
redis_log = "%s%.6f~SNs" % (
@ -67,6 +69,8 @@ class DumpRequestMiddleware:
color = '~SB~FR'
elif seconds > .1:
color = '~FW'
elif seconds == 0:
color = '~FK'
return color
def __init__(self, get_response=None):