diff options
author | Tor Egge <tegge@oath.com> | 2017-08-16 13:29:54 +0000 |
---|---|---|
committer | Tor Egge <tegge@oath.com> | 2017-08-16 13:29:54 +0000 |
commit | f79ea2c1c5ae660227231143634690cffe42274e (patch) | |
tree | 2ce7b67fadf3ff50c0fc0654b12d0e041652128c /searchlib | |
parent | acd1b850cd206474cef8de6231de6782f6e02120 (diff) |
Account for memory usage in reference mappings and generation holder.
Diffstat (limited to 'searchlib')
3 files changed, 13 insertions, 0 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp b/searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp index 147c656ccfd..7e17ba3a808 100644 --- a/searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp +++ b/searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp @@ -179,7 +179,9 @@ ReferenceAttribute::onUpdateStat() { MemoryUsage total = _store.getMemoryUsage(); _cachedUniqueStoreMemoryUsage = total; + total.mergeGenerationHeldBytes(getGenerationHolder().getHeldBytes()); total.merge(_indices.getMemoryUsage()); + total.merge(_referenceMappings.getMemoryUsage()); updateStatistics(getTotalValueCount(), getUniqueValueCount(), total.allocatedBytes(), total.usedBytes(), total.deadBytes(), total.allocatedBytesOnHold()); diff --git a/searchlib/src/vespa/searchlib/attribute/reference_mappings.cpp b/searchlib/src/vespa/searchlib/attribute/reference_mappings.cpp index 175dc05396d..881c0745582 100644 --- a/searchlib/src/vespa/searchlib/attribute/reference_mappings.cpp +++ b/searchlib/src/vespa/searchlib/attribute/reference_mappings.cpp @@ -127,4 +127,13 @@ ReferenceMappings::shrink(uint32_t docIdLimit) _referencedLids.shrink(docIdLimit); } +MemoryUsage +ReferenceMappings::getMemoryUsage() +{ + MemoryUsage usage = _reverseMapping.getMemoryUsage(); + usage.merge(_reverseMappingIndices.getMemoryUsage()); + usage.merge(_referencedLids.getMemoryUsage()); + return usage; +} + } diff --git a/searchlib/src/vespa/searchlib/attribute/reference_mappings.h b/searchlib/src/vespa/searchlib/attribute/reference_mappings.h index 9880bf44efc..631a610f773 100644 --- a/searchlib/src/vespa/searchlib/attribute/reference_mappings.h +++ b/searchlib/src/vespa/searchlib/attribute/reference_mappings.h @@ -67,6 +67,8 @@ public: // Setup mapping after load void buildReverseMapping(const Reference &entry, const std::vector<ReverseMapping::KeyDataType> &adds); + MemoryUsage getMemoryUsage(); + // Reader API, reader must hold generation guard template <typename FunctionType> void |