diff options
| author | Russell Bryant <rbryant@redhat.com> | 2012-03-26 09:47:26 -0400 |
|---|---|---|
| committer | Russell Bryant <rbryant@redhat.com> | 2012-03-26 09:47:26 -0400 |
| commit | 2b3e3685ff45ad0662c1bffc8896261eaa6cfbcc (patch) | |
| tree | 97f122a49fdc77c162805ffcf4991d053a56b2b8 | |
| parent | 129150c853c635b28238b2ac6bd3193c453b08a7 (diff) | |
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
| -rw-r--r-- | nova/rpc/common.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/nova/rpc/common.py b/nova/rpc/common.py index 03fe14e17..95c245810 100644 --- a/nova/rpc/common.py +++ b/nova/rpc/common.py @@ -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] |
