diff options
author | David Zafman <david.zafman@inktank.com> | 2013-04-26 18:07:10 -0700 |
---|---|---|
committer | David Zafman <david.zafman@inktank.com> | 2013-04-29 17:46:15 -0700 |
commit | 1c15636b223f0137ad72f3029750759314384a05 (patch) | |
tree | 0ba8de352a289ec3f9b9d25db81fed486c41d785 | |
parent | adb7c8a0608659e339836b3f769d96a19841b6fb (diff) | |
download | ceph-1c15636b223f0137ad72f3029750759314384a05.tar.gz |
Set num_rd, num_wr_kb and num_wr in various places that needed it
Signed-off-by: David Zafman <david.zafman@inktank.com>
-rw-r--r-- | src/osd/ReplicatedPG.cc | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 531fa5d91fa..708e4153ca8 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -2197,9 +2197,10 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops) if (r >= 0) { op.xattr.value_len = r; result = 0; + ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(r, 10); + ctx->delta_stats.num_rd++; } else result = r; - ctx->delta_stats.num_rd++; } break; @@ -2217,6 +2218,8 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops) bufferlist bl; ::encode(newattrs, bl); + ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(bl.length(), 10); + ctx->delta_stats.num_rd++; osd_op.outdata.claim_append(bl); } break; @@ -2237,6 +2240,9 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops) if (result < 0 && result != -EEXIST && result != -ENODATA) break; + ctx->delta_stats.num_rd++; + ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(xattr.length(), 10); + switch (op.xattr.cmp_mode) { case CEPH_OSD_CMPXATTR_MODE_STRING: { @@ -2281,7 +2287,6 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops) } dout(10) << "comparison returned true" << dendl; - ctx->delta_stats.num_rd++; } break; @@ -2848,6 +2853,8 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops) out_set.insert(iter->first); } ::encode(out_set, osd_op.outdata); + ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10); + ctx->delta_stats.num_rd++; break; } dout(10) << "failed, reading from omap" << dendl; @@ -2867,6 +2874,8 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops) } } ::encode(out_set, osd_op.outdata); + ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10); + ctx->delta_stats.num_rd++; } break; case CEPH_OSD_OP_OMAPGETVALS: @@ -2901,6 +2910,8 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops) out_set.insert(*iter); } ::encode(out_set, osd_op.outdata); + ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10); + ctx->delta_stats.num_rd++; break; } // No valid tmap, use omap @@ -2923,6 +2934,8 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops) } } ::encode(out_set, osd_op.outdata); + ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10); + ctx->delta_stats.num_rd++; } break; case CEPH_OSD_OP_OMAPGETHEADER: @@ -2941,6 +2954,8 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops) dout(10) << "failed, reading from omap" << dendl; } osd->store->omap_get_header(coll, soid, &osd_op.outdata); + ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10); + ctx->delta_stats.num_rd++; } break; case CEPH_OSD_OP_OMAPGETVALSBYKEYS: @@ -2969,6 +2984,8 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops) } } ::encode(out, osd_op.outdata); + ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10); + ctx->delta_stats.num_rd++; break; } // No valid tmap, use omap @@ -2976,6 +2993,8 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops) } osd->store->omap_get_values(coll, soid, keys_to_get, &out); ::encode(out, osd_op.outdata); + ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10); + ctx->delta_stats.num_rd++; } break; case CEPH_OSD_OP_OMAP_CMP: @@ -3004,6 +3023,8 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops) result = r; break; } + //Should set num_rd_kb based on encode length of map + ctx->delta_stats.num_rd++; r = 0; bufferlist empty; @@ -3066,6 +3087,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops) dout(20) << "\t" << i->first << dendl; } t.omap_setkeys(coll, soid, to_set); + ctx->delta_stats.num_wr++; } break; case CEPH_OSD_OP_OMAPSETHEADER: @@ -3079,6 +3101,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops) } t.touch(coll, soid); t.omap_setheader(coll, soid, osd_op.indata); + ctx->delta_stats.num_wr++; } break; case CEPH_OSD_OP_OMAPCLEAR: @@ -3092,6 +3115,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops) } t.touch(coll, soid); t.omap_clear(coll, soid); + ctx->delta_stats.num_wr++; } break; case CEPH_OSD_OP_OMAPRMKEYS: @@ -3113,6 +3137,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops) goto fail; } t.omap_rmkeys(coll, soid, to_rm); + ctx->delta_stats.num_wr++; } break; default: |