From 76d6bcc7879a69c770ed04493787c00d4beb9117 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jur=C4=8Da?= Date: Sun, 5 May 2024 22:21:55 +0200 Subject: [PATCH] Update Result class to include file extent count --- include/filestorm/result.h | 22 ++++++++++------------ source/scenarios/aging.cpp | 3 +++ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/include/filestorm/result.h b/include/filestorm/result.h index 3f5cd28..7f0bf54 100644 --- a/include/filestorm/result.h +++ b/include/filestorm/result.h @@ -22,12 +22,12 @@ class Result { std::string _path; DataSize _size; std::chrono::nanoseconds _duration; - int64_t _extents_count; - std::vector _extents; + int64_t _total_extents_count; + int64_t _file_extent_count; public: - Result(int iteration, Action action, Operation operation, std::string path, DataSize size, std::chrono::nanoseconds duration, int64_t extents_count) - : _iteration(iteration), _action(action), _operation(operation), _path(path), _size(size), _duration(duration), _extents_count(extents_count) {} + Result(int iteration, Action action, Operation operation, std::string path, DataSize size, std::chrono::nanoseconds duration, int64_t extents_count, int64_t file_extent_count) + : _iteration(iteration), _action(action), _operation(operation), _path(path), _size(size), _duration(duration), _total_extents_count(extents_count), _file_extent_count(file_extent_count) {} Result() = default; int getIteration() const { return _iteration; } @@ -36,7 +36,8 @@ class Result { std::string getPath() const { return _path; } DataSize getSize() const { return _size; } std::chrono::nanoseconds getDuration() const { return _duration; } - int64_t getExtentsCount() const { return _extents_count; } + int64_t getExtentsCount() const { return _total_extents_count; } + int64_t getFileExtentCount() const { return _file_extent_count; } // setters void setIteration(int iteration) { _iteration = iteration; } @@ -45,12 +46,8 @@ class Result { void setPath(std::string path) { _path = path; } void setSize(DataSize size) { _size = size; } void setDuration(std::chrono::nanoseconds duration) { _duration = duration; } - void setExtentsCount(int64_t extents_count) { _extents_count = extents_count; } - void setExtents(std::vector extents) { - for (auto& extent : extents) { - _extents.push_back(extent); - } - } + void setExtentsCount(int64_t extents_count) { _total_extents_count = extents_count; } + void setFileExtentCount(int64_t file_extent_count) { _file_extent_count = file_extent_count; } void commit() { results.push_back(*this); } @@ -97,7 +94,8 @@ class Result { jsonResult["path"] = result.getPath(); jsonResult["size"] = result.getSize().get_value(); jsonResult["duration"] = result.getDuration().count(); - jsonResult["extents_count"] = result.getExtentsCount(); + jsonResult["_total_extents_count"] = result.getExtentsCount(); + jsonResult["_file_extent_count"] = result.getFileExtentCount(); jsonResults.push_back(jsonResult); } file << jsonResults.dump(2); diff --git a/source/scenarios/aging.cpp b/source/scenarios/aging.cpp index 4643ef4..14a6ecc 100644 --- a/source/scenarios/aging.cpp +++ b/source/scenarios/aging.cpp @@ -349,6 +349,9 @@ void AgingScenario::run() { if (!file->isPunchable(get_block_size().convert().get_value())) { tree.removeFromPunchableFiles(file); } + if (file->path(true) == result.getPath()) { + result.setFileExtentCount(updated_extents); + } } logger.debug("Total extents count: {}, File Count {}, F avail files {}, free space {} MB", tree.total_extents_count, tree.all_files.size(), tree.files_for_fallocate.size(), fs_utils::get_fs_status(getParameter("directory").get_string()).available / 1024 / 1024);