Improve performance of safe_log().
This patch addresses a minor performance regression in a recent change to this function. This change ensures that the deep copy is only done if we really need to. Previously, the deep copy was being done for all messages that included a 'method', not just messages with a method that contain an argument to be sanitized. Change-Id: I190c5963ecaf70b0aea4e12a2fdc19deb5c1fea2
This commit is contained in:
committed by
Vishvananda Ishaya
parent
785518d181
commit
ada63db6be
@@ -127,7 +127,12 @@ class Connection(object):
|
||||
|
||||
def _safe_log(log_func, msg, msg_data):
|
||||
"""Sanitizes the msg_data field before logging."""
|
||||
has_method = 'method' in msg_data
|
||||
SANITIZE = {
|
||||
'set_admin_password': ('new_pass',),
|
||||
'run_instance': ('admin_password',),
|
||||
}
|
||||
|
||||
has_method = 'method' in msg_data and msg_data['method'] in SANITIZE
|
||||
has_context_token = '_context_auth_token' in msg_data
|
||||
has_token = 'auth_token' in msg_data
|
||||
|
||||
@@ -137,10 +142,6 @@ def _safe_log(log_func, msg, msg_data):
|
||||
msg_data = copy.deepcopy(msg_data)
|
||||
|
||||
if has_method:
|
||||
SANITIZE = {
|
||||
'set_admin_password': ('new_pass',),
|
||||
'run_instance': ('admin_password',),
|
||||
}
|
||||
method = msg_data['method']
|
||||
if method in SANITIZE:
|
||||
args_to_sanitize = SANITIZE[method]
|
||||
|
||||
Reference in New Issue
Block a user