diff options
Diffstat (limited to 'searchlib/src')
-rw-r--r-- | searchlib/src/tests/util/searchable_stats/searchable_stats_test.cpp | 10 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/util/searchable_stats.h | 14 |
2 files changed, 13 insertions, 11 deletions
diff --git a/searchlib/src/tests/util/searchable_stats/searchable_stats_test.cpp b/searchlib/src/tests/util/searchable_stats/searchable_stats_test.cpp index 83aba794824..d5c77fb28e4 100644 --- a/searchlib/src/tests/util/searchable_stats/searchable_stats_test.cpp +++ b/searchlib/src/tests/util/searchable_stats/searchable_stats_test.cpp @@ -18,21 +18,21 @@ Test::Main() TEST_INIT("searchable_stats_test"); { SearchableStats stats; - EXPECT_EQUAL(0u, stats.memoryUsage()); + EXPECT_EQUAL(0u, stats.memoryUsage().allocatedBytes()); EXPECT_EQUAL(0u, stats.docsInMemory()); EXPECT_EQUAL(0u, stats.sizeOnDisk()); { SearchableStats rhs; - EXPECT_EQUAL(&rhs.memoryUsage(100), &rhs); + EXPECT_EQUAL(&rhs.memoryUsage(MemoryUsage(100,0,0,0)), &rhs); EXPECT_EQUAL(&rhs.docsInMemory(10), &rhs); EXPECT_EQUAL(&rhs.sizeOnDisk(1000), &rhs); EXPECT_EQUAL(&stats.add(rhs), &stats); } - EXPECT_EQUAL(100u, stats.memoryUsage()); + EXPECT_EQUAL(100u, stats.memoryUsage().allocatedBytes()); EXPECT_EQUAL(10u, stats.docsInMemory()); EXPECT_EQUAL(1000u, stats.sizeOnDisk()); - EXPECT_EQUAL(&stats.add(SearchableStats().memoryUsage(100).docsInMemory(10).sizeOnDisk(1000)), &stats); - EXPECT_EQUAL(200u, stats.memoryUsage()); + EXPECT_EQUAL(&stats.add(SearchableStats().memoryUsage(MemoryUsage(100,0,0,0)).docsInMemory(10).sizeOnDisk(1000)), &stats); + EXPECT_EQUAL(200u, stats.memoryUsage().allocatedBytes()); EXPECT_EQUAL(20u, stats.docsInMemory()); EXPECT_EQUAL(2000u, stats.sizeOnDisk()); } diff --git a/searchlib/src/vespa/searchlib/util/searchable_stats.h b/searchlib/src/vespa/searchlib/util/searchable_stats.h index a7d5764de7c..a87c15990f0 100644 --- a/searchlib/src/vespa/searchlib/util/searchable_stats.h +++ b/searchlib/src/vespa/searchlib/util/searchable_stats.h @@ -1,6 +1,8 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once +#include "memoryusage.h" + namespace search { /** @@ -11,17 +13,17 @@ namespace search { class SearchableStats { private: - size_t _memoryUsage; + MemoryUsage _memoryUsage; size_t _docsInMemory; size_t _sizeOnDisk; public: - SearchableStats() : _memoryUsage(0), _docsInMemory(0), _sizeOnDisk(0) {} - SearchableStats &memoryUsage(size_t value) { - _memoryUsage = value; + SearchableStats() : _memoryUsage(), _docsInMemory(0), _sizeOnDisk(0) {} + SearchableStats &memoryUsage(const MemoryUsage &usage) { + _memoryUsage = usage; return *this; } - size_t memoryUsage() const { return _memoryUsage; } + const MemoryUsage &memoryUsage() const { return _memoryUsage; } SearchableStats &docsInMemory(size_t value) { _docsInMemory = value; return *this; @@ -33,7 +35,7 @@ public: } size_t sizeOnDisk() const { return _sizeOnDisk; } SearchableStats &add(const SearchableStats &rhs) { - _memoryUsage += rhs._memoryUsage; + _memoryUsage.merge(rhs._memoryUsage); _docsInMemory += rhs._docsInMemory; _sizeOnDisk += rhs._sizeOnDisk; return *this; |