From: tridao Date: Mon, 3 Jul 2023 22:28:46 +0000 (-0300) Subject: Tweaking per-obj fragmentation score X-Git-Tag: v19.0.0~773^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d83c5a73eb2dc6bb1f82770bc8ebd595737150d0;p=ceph.git Tweaking per-obj fragmentation score Signed-off-by: Tri Dao --- diff --git a/src/test/objectstore/ObjectStoreImitator.cc b/src/test/objectstore/ObjectStoreImitator.cc index f409229c1ec4..e366a7b7dc23 100644 --- a/src/test/objectstore/ObjectStoreImitator.cc +++ b/src/test/objectstore/ObjectStoreImitator.cc @@ -121,12 +121,12 @@ void ObjectStoreImitator::Object::append(PExtentVector &ext, uint64_t offset) { } void ObjectStoreImitator::Object::verify_extents() { - std::cout << "Verifying extents:\n"; + // std::cout << "Verifying extents:\n"; uint64_t prev{0}; for (auto &[l_off, ext] : extent_map) { - std::cout << "logical offset: " << l_off - << ", extent offset: " << ext.offset - << ", extent length: " << ext.length << std::endl; + // std::cout << "logical offset: " << l_off + // << ", extent offset: " << ext.offset + // << ", extent length: " << ext.length << std::endl; ceph_assert(ext.is_valid()); ceph_assert(ext.length > 0); @@ -176,7 +176,7 @@ void ObjectStoreImitator::print_per_object_fragmentation() { double coll_total{0}; for (auto &[id, obj] : coll_ref->objects) { double frag_score{1}; - unsigned i{2}; + unsigned i{1}; uint64_t ext_size = 0; PExtentVector extents; diff --git a/src/test/objectstore/ObjectStoreImitator.h b/src/test/objectstore/ObjectStoreImitator.h index a98f5cc1c4eb..a92f07e7a8e5 100644 --- a/src/test/objectstore/ObjectStoreImitator.h +++ b/src/test/objectstore/ObjectStoreImitator.h @@ -221,7 +221,7 @@ public: // Generate metrics for per-object fragmentation (how fragmented are each // object's extents), defined by: frag_score = 1 - sum((size proportion of // each extents / object size) ^ index of each extent in a vector sorted by - // descending length + 1). This should only be called after the generators + // descending length). This should only be called after the generators // are finished as it will attempt to change an object's extents. void print_per_object_fragmentation();