aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2016-12-15 14:36:58 +0100
committerGitHub <noreply@github.com>2016-12-15 14:36:58 +0100
commit72cf874511ed1d18295dcecfc59d151dd35db12c (patch)
treef824262986588a328e44f1327596d9af7f072dd3 /searchcore
parentd9b45214d28207564329991afe70afc358fe6d12 (diff)
parentfe66f1be411e51a3f767d3db30eebfde458aeb94 (diff)
Merge pull request #1335 from yahoo/geirst/document-store-memory-usage-metrics
Geirst/document store memory usage metrics
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/attribute/attribute_vector_explorer.cpp10
-rw-r--r--searchcore/src/vespa/searchcore/proton/docsummary/document_store_explorer.cpp15
-rw-r--r--searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.cpp3
-rw-r--r--searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/documentdb.cpp1
-rw-r--r--searchcore/src/vespa/searchcore/proton/test/dummy_document_store.h1
6 files changed, 26 insertions, 6 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attribute_vector_explorer.cpp b/searchcore/src/vespa/searchcore/proton/attribute/attribute_vector_explorer.cpp
index 768523c7f64..6cc94abdd10 100644
--- a/searchcore/src/vespa/searchcore/proton/attribute/attribute_vector_explorer.cpp
+++ b/searchcore/src/vespa/searchcore/proton/attribute/attribute_vector_explorer.cpp
@@ -34,11 +34,11 @@ convertStatusToSlime(const Status &status, Cursor &object)
object.setLong("bitVectors", status.getBitVectors());
{
Cursor &memory = object.setObject("memoryUsage");
- memory.setLong("allocated", status.getAllocated());
- memory.setLong("used", status.getUsed());
- memory.setLong("dead", status.getDead());
- memory.setLong("onHold", status.getOnHold());
- memory.setLong("onHoldMax", status.getOnHoldMax());
+ memory.setLong("allocatedBytes", status.getAllocated());
+ memory.setLong("usedBytes", status.getUsed());
+ memory.setLong("deadBytes", status.getDead());
+ memory.setLong("onHoldBytes", status.getOnHold());
+ memory.setLong("onHoldBytesMax", status.getOnHoldMax());
}
}
diff --git a/searchcore/src/vespa/searchcore/proton/docsummary/document_store_explorer.cpp b/searchcore/src/vespa/searchcore/proton/docsummary/document_store_explorer.cpp
index ddc885a2b0b..1efda376848 100644
--- a/searchcore/src/vespa/searchcore/proton/docsummary/document_store_explorer.cpp
+++ b/searchcore/src/vespa/searchcore/proton/docsummary/document_store_explorer.cpp
@@ -17,6 +17,20 @@ DocumentStoreExplorer::DocumentStoreExplorer(ISummaryManager::SP mgr)
{
}
+namespace {
+
+void
+setMemoryUsage(Cursor &object, const search::MemoryUsage &usage)
+{
+ Cursor &memory = object.setObject("memoryUsage");
+ memory.setLong("allocatedBytes", usage.allocatedBytes());
+ memory.setLong("usedBytes", usage.usedBytes());
+ memory.setLong("deadBytes", usage.deadBytes());
+ memory.setLong("onHoldBytes", usage.allocatedBytesOnHold());
+}
+
+}
+
void
DocumentStoreExplorer::get_state(const Inserter &inserter, bool full) const
{
@@ -28,6 +42,7 @@ DocumentStoreExplorer::get_state(const Inserter &inserter, bool full) const
object.setDouble("maxBucketSpread", storageStats.maxBucketSpread());
object.setLong("lastFlushedSerialNum", storageStats.lastFlushedSerialNum());
object.setLong("lastSerialNum", storageStats.lastSerialNum());
+ setMemoryUsage(object, store.getMemoryUsage());
if (full) {
const vespalib::string &baseDir = store.getBaseDir();
std::vector<DataStoreFileChunkStats> chunks;
diff --git a/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.cpp b/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.cpp
index 4d84dea704b..68580d90974 100644
--- a/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.cpp
+++ b/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.cpp
@@ -55,7 +55,8 @@ DocumentDBTaggedMetrics::SubDBMetrics::DocumentStoreMetrics::DocumentStoreMetric
: MetricSet("document_store", "", "document store metrics for this document sub DB", parent),
diskUsage("disk_usage", "", "Disk space usage in bytes", this),
diskBloat("disk_bloat", "", "Disk space bloat in bytes", this),
- maxBucketSpread("max_bucket_spread", "", "Max bucket spread in underlying files (sum(unique buckets in each chunk)/unique buckets in file)", this)
+ maxBucketSpread("max_bucket_spread", "", "Max bucket spread in underlying files (sum(unique buckets in each chunk)/unique buckets in file)", this),
+ memoryUsage(this)
{
}
diff --git a/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.h b/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.h
index 68b5be03998..39f4733f66c 100644
--- a/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.h
+++ b/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.h
@@ -2,6 +2,7 @@
#pragma once
#include "attribute_metrics.h"
+#include "memory_usage_metrics.h"
#include <vespa/metrics/metricset.h>
#include <vespa/metrics/valuemetric.h>
@@ -47,6 +48,7 @@ struct DocumentDBTaggedMetrics : metrics::MetricSet
metrics::LongValueMetric diskUsage;
metrics::LongValueMetric diskBloat;
metrics::DoubleValueMetric maxBucketSpread;
+ MemoryUsageMetrics memoryUsage;
DocumentStoreMetrics(metrics::MetricSet *parent);
};
diff --git a/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp b/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp
index 07745e62976..b21d6c1eba8 100644
--- a/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp
@@ -1433,6 +1433,7 @@ updateDocumentStoreMetrics(DocumentDBTaggedMetrics::SubDBMetrics::
metrics.diskUsage.set(storageStats.diskUsage());
metrics.diskBloat.set(storageStats.diskBloat());
metrics.maxBucketSpread.set(storageStats.maxBucketSpread());
+ metrics.memoryUsage.update(backingStore.getMemoryUsage());
}
template <typename MetricSetType>
diff --git a/searchcore/src/vespa/searchcore/proton/test/dummy_document_store.h b/searchcore/src/vespa/searchcore/proton/test/dummy_document_store.h
index 6b165649f1a..2b43546be86 100644
--- a/searchcore/src/vespa/searchcore/proton/test/dummy_document_store.h
+++ b/searchcore/src/vespa/searchcore/proton/test/dummy_document_store.h
@@ -54,6 +54,7 @@ struct DummyDocumentStore : public search::IDocumentStore
virtual search::DataStoreStorageStats getStorageStats() const override {
return search::DataStoreStorageStats(0, 0, 0.0, 0, 0);
}
+ virtual search::MemoryUsage getMemoryUsage() const override { return search::MemoryUsage(); }
virtual std::vector<search::DataStoreFileChunkStats>
getFileChunkStats() const override {
std::vector<search::DataStoreFileChunkStats> result;