Skip to content

Commit

Permalink
rgw: add bucket request payment feature usage statistics integration
Browse files Browse the repository at this point in the history
Add usage statistics support for the bucket request payment feature.

Fixes: #13834

Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
  • Loading branch information
jmunhoz committed Feb 10, 2016
1 parent 2c79a5e commit 3848926
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
7 changes: 6 additions & 1 deletion src/rgw/rgw_log.cc
Expand Up @@ -195,7 +195,12 @@ static void log_usage(struct req_state *s, const string& op_name)
if (!s->err.is_err())
data.successful_ops = 1;

entry.add(op_name, data);
string op_name_with_payer = op_name;

if (s->bucket_info.requester_pays)
op_name_with_payer.append("_payer_" + s->user.user_id.to_str());

entry.add(op_name_with_payer, data);

utime_t ts = ceph_clock_now(s->cct);

Expand Down
11 changes: 10 additions & 1 deletion src/rgw/rgw_usage.cc
Expand Up @@ -20,7 +20,16 @@ static void dump_usage_categories_info(Formatter *formatter, const rgw_usage_log
continue;
const rgw_usage_data& usage = uiter->second;
formatter->open_object_section("entry");
formatter->dump_string("category", uiter->first);
string name = uiter->first;
std::size_t pos = name.find("_payer_");
if (string::npos != pos) {
formatter->dump_string("category", name.substr(0, pos));
pos += 7;
string payer = name.substr(pos, name.length());
formatter->dump_string("payer", payer);
} else {
formatter->dump_string("category", name);
}
formatter->dump_int("bytes_sent", usage.bytes_sent);
formatter->dump_int("bytes_received", usage.bytes_received);
formatter->dump_int("ops", usage.ops);
Expand Down

0 comments on commit 3848926

Please sign in to comment.