diff options
author | Tor Egge <Tor.Egge@oath.com> | 2017-09-19 13:31:58 +0000 |
---|---|---|
committer | Tor Egge <Tor.Egge@oath.com> | 2017-09-19 13:31:58 +0000 |
commit | 1d1263c544d49c2816b6ab54ee1c2a5b989004e7 (patch) | |
tree | 0aa1f44eec2a68cf30c697fd27b29fb79643f597 /searchlib | |
parent | d825bb328c94e138ea87301282c85cc4edb5e585 (diff) |
Expose posting list memory usage in attribute vector explorer.
Diffstat (limited to 'searchlib')
9 files changed, 22 insertions, 2 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/attributevector.cpp b/searchlib/src/vespa/searchlib/attribute/attributevector.cpp index b21f0e0dfff..184475fd70c 100644 --- a/searchlib/src/vespa/searchlib/attribute/attributevector.cpp +++ b/searchlib/src/vespa/searchlib/attribute/attributevector.cpp @@ -696,6 +696,7 @@ AttributeVector::enableEnumeratedSave(bool enable) { } attribute::IPostingListAttributeBase *AttributeVector::getIPostingListAttributeBase() { return nullptr; } +const attribute::IPostingListAttributeBase *AttributeVector::getIPostingListAttributeBase() const { return nullptr; } const IDocumentWeightAttribute * AttributeVector::asDocumentWeightAttribute() const { return nullptr; } bool AttributeVector::hasPostings() { return getIPostingListAttributeBase() != nullptr; } uint64_t AttributeVector::getUniqueValueCount() const { return getTotalValueCount(); } diff --git a/searchlib/src/vespa/searchlib/attribute/attributevector.h b/searchlib/src/vespa/searchlib/attribute/attributevector.h index d9426822603..13ba3f801b7 100644 --- a/searchlib/src/vespa/searchlib/attribute/attributevector.h +++ b/searchlib/src/vespa/searchlib/attribute/attributevector.h @@ -661,6 +661,7 @@ public: bool getEnumeratedSave() const { return _hasEnum && _enableEnumeratedSave; } virtual attribute::IPostingListAttributeBase * getIPostingListAttributeBase(); + virtual const attribute::IPostingListAttributeBase * getIPostingListAttributeBase() const; bool hasPostings(); virtual uint64_t getUniqueValueCount() const; virtual uint64_t getTotalValueCount() const; diff --git a/searchlib/src/vespa/searchlib/attribute/ipostinglistattributebase.h b/searchlib/src/vespa/searchlib/attribute/ipostinglistattributebase.h index 91f2a63976b..8d44c022062 100644 --- a/searchlib/src/vespa/searchlib/attribute/ipostinglistattributebase.h +++ b/searchlib/src/vespa/searchlib/attribute/ipostinglistattributebase.h @@ -22,8 +22,8 @@ public: uint32_t fromLid, uint32_t toLid) = 0; - virtual void - forwardedShrinkLidSpace(uint32_t newSize) = 0; + virtual void forwardedShrinkLidSpace(uint32_t newSize) = 0; + virtual MemoryUsage getMemoryUsage() const = 0; }; diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.h b/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.h index ac525da419f..68aa8d6673c 100644 --- a/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.h +++ b/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.h @@ -104,6 +104,10 @@ public: return this; } + const attribute::IPostingListAttributeBase *getIPostingListAttributeBase() const override { + return this; + } + void fillPostingsFixupEnum(const LoadedEnumAttributeVector &loaded) override { fillPostingsFixupEnumBase(loaded); } diff --git a/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.h b/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.h index 348bef44bf8..04f26d232d5 100644 --- a/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.h +++ b/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.h @@ -105,6 +105,8 @@ public: attribute::IPostingListAttributeBase * getIPostingListAttributeBase() override { return this; } + const attribute::IPostingListAttributeBase * getIPostingListAttributeBase() const override { return this; } + void fillPostingsFixupEnum(const LoadedEnumAttributeVector &loaded) override { fillPostingsFixupEnumBase(loaded); } diff --git a/searchlib/src/vespa/searchlib/attribute/postinglistattribute.cpp b/searchlib/src/vespa/searchlib/attribute/postinglistattribute.cpp index fa24221b888..7750758469b 100644 --- a/searchlib/src/vespa/searchlib/attribute/postinglistattribute.cpp +++ b/searchlib/src/vespa/searchlib/attribute/postinglistattribute.cpp @@ -202,6 +202,12 @@ PostingListAttributeBase<P>::forwardedShrinkLidSpace(uint32_t newSize) (void) _postingList.resizeBitVectors(newSize, newSize); } +template <typename P> +MemoryUsage +PostingListAttributeBase<P>::getMemoryUsage() const +{ + return _postingList.getMemoryUsage(); +} template <typename P, typename LoadedVector, typename LoadedValueType, typename EnumStoreType> diff --git a/searchlib/src/vespa/searchlib/attribute/postinglistattribute.h b/searchlib/src/vespa/searchlib/attribute/postinglistattribute.h index 695c7872255..a8563ef6027 100644 --- a/searchlib/src/vespa/searchlib/attribute/postinglistattribute.h +++ b/searchlib/src/vespa/searchlib/attribute/postinglistattribute.h @@ -65,6 +65,7 @@ protected: uint32_t toLid, EnumStoreComparator &cmp); void forwardedShrinkLidSpace(uint32_t newSize) override; + virtual MemoryUsage getMemoryUsage() const override; public: const PostingList & getPostingList() const { return _postingList; } diff --git a/searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.h b/searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.h index 9235611fd09..b50944492a8 100644 --- a/searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.h +++ b/searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.h @@ -95,6 +95,7 @@ public: void fillPostings(LoadedVector & loaded) override { handleFillPostings(loaded); } attribute::IPostingListAttributeBase *getIPostingListAttributeBase() override { return this; } + const attribute::IPostingListAttributeBase *getIPostingListAttributeBase() const override { return this; } void fillPostingsFixupEnum(const LoadedEnumAttributeVector &loaded) override { fillPostingsFixupEnumBase(loaded); } }; diff --git a/searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.h b/searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.h index 506269733ba..de8baf4473f 100644 --- a/searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.h +++ b/searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.h @@ -110,6 +110,10 @@ public: return this; } + const attribute::IPostingListAttributeBase * getIPostingListAttributeBase() const override { + return this; + } + void fillPostingsFixupEnum(const LoadedEnumAttributeVector &loaded) override { fillPostingsFixupEnumBase(loaded); } |