From: Javier M. Mellid Date: Wed, 2 Mar 2016 17:20:29 +0000 (+0100) Subject: rgw: add virtual error bucket per user in usage logs X-Git-Tag: v10.1.0~169^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c0074935d1741a043c068a6d301b0f5842034633;p=ceph.git rgw: add virtual error bucket per user in usage logs Log under the virtual error bucket '-' when bucket not found Signed-off-by: Javier M. Mellid --- diff --git a/src/rgw/rgw_log.cc b/src/rgw/rgw_log.cc index eecb990e8b33..f3206b9fbeee 100644 --- a/src/rgw/rgw_log.cc +++ b/src/rgw/rgw_log.cc @@ -188,19 +188,27 @@ static void log_usage(struct req_state *s, const string& op_name) rgw_user user; rgw_user payer; + string bucket_name; - if (!s->bucket_name.empty()) { + bucket_name = s->bucket_name; + + if (!bucket_name.empty()) { user = s->bucket_owner.get_id(); if (s->bucket_info.requester_pays) { payer = s->user->user_id; } } else { - user = s->user->user_id; + user = s->user->user_id; + } + + bool error = s->err.is_err(); + if (error && s->err.http_ret == 404) { + bucket_name = "-"; /* bucket not found, use the invalid '-' as bucket name */ } string u = user.to_str(); string p = payer.to_str(); - rgw_usage_log_entry entry(u, p, s->bucket.name); + rgw_usage_log_entry entry(u, p, bucket_name); uint64_t bytes_sent = s->cio->get_bytes_sent(); uint64_t bytes_received = s->cio->get_bytes_received(); @@ -208,7 +216,7 @@ static void log_usage(struct req_state *s, const string& op_name) rgw_usage_data data(bytes_sent, bytes_received); data.ops = 1; - if (!s->err.is_err()) + if (!error) data.successful_ops = 1; entry.add(op_name, data);