Detailed storage stats#1120
Conversation
a30623a to
78b3775
Compare
|
Ready for review 👀 |
|
Also addresses #1054 (RCS-107) |
|
I'd rather prefer non-two-char-acronym like this:
With all of them having suffix |
|
Nice naming! I will change only one item |
There was a problem hiding this comment.
Let's use latest year for new files.
In non-detailed storage calculation, MP contributes to "Objects" as - the number of parts when writing and - 1 when active. For backward compatibility, extend it as - the number of parts when writing and - 1 when active, pending_delete and scheduled_delete
There was a problem hiding this comment.
Just for code readability, I'd also prefer not using two-chars-acronym. Maybe codes get ugly?
Fmm, accidentally I've found this is not documented... |
|
Where to write it? ceph_test README? |
|
Please give me your environment information and install command for the dep. |
|
I think riak_test/README.md is suitable. |
|
For mine, |
|
Mine was |
|
I hope this became ready for review again. |
There was a problem hiding this comment.
So, user = active + writing_multipart ? Or MP is just for number of parts?
There was a problem hiding this comment.
So, user = active + writing_multipart ?
Yes
|
pushed |
|
Looks nice. Will run r_t and eventually +1. |
Detailed storage stats Reviewed-by: kuenishi
|
@borshop merge |
|
Even it's after merge, I tested, data stored in storage bucket has some strange form: |
There was a problem hiding this comment.
Maybe this might be simpler?
bucket_summary_fold(Sums) ->
lists:foldl(fun(Sum, Acc) -> orddict:merge(fun(K, V1, V2) -> V1+V2 end, Sum, Acc) end,
orddict:new(), Sums).|
Make clean and stage again made it working. Something was wrong... |
This PR adds several classes for storage calculation.
user: user accessible, this is the sum ofActiveandWritingMultipart.Active: active manifestsActiveInvisible: active but not user accessibleWritingMultipart: writing MultipartWritingNew: writing non-MP, within leeway (maybe actively uploading)WritingOld: writing non-MP, out of leeway (probably orphan)PendingDeleteNew: pending_delete, within leeway (maybe being moved to GC bucket right now)PendingDeleteOld: pending_delete, out of leeway (probably failed to be moved)ScheduledDeleteNew: scheduled_delete, within leeway (normal, just staying as is)ScheduledDeleteOld: scheduled_delete, out of leeway (GC can collect but not catches up)Each cass has three counters for object count (
Objects),bytes (
Bytes) and blocks (Blocks). One exception is foruser,no prefix and only
Objects,BytesandBlocks.The key in JSON/XML usage response looks like
WritingMultipartBytes.Sample JSON output: https://gist.github.com/shino/1be474a0f5b949f47c91
Future tasks: