diff options
author | Geir Storli <geirst@verizonmedia.com> | 2021-08-18 13:32:39 +0000 |
---|---|---|
committer | Geir Storli <geirst@verizonmedia.com> | 2021-08-20 11:03:58 +0000 |
commit | 30e1e7d2cf1c6af481aee791c32580c6cf662aa0 (patch) | |
tree | a7bf7aa0e79af06f16eb4ee3e877e5dbe9e33308 /searchcore | |
parent | 2153b7cc3353992550596141314e5edd3a6c0681 (diff) |
Add metric for the max address space used among components in all attribute vectors in a document db.
Diffstat (limited to 'searchcore')
3 files changed, 9 insertions, 4 deletions
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 713a03810b9..7bd07dba505 100644 --- a/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.cpp +++ b/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.cpp @@ -91,11 +91,13 @@ DocumentDBTaggedMetrics::AttributeMetrics::AttributeMetrics(MetricSet *parent) DocumentDBTaggedMetrics::AttributeMetrics::~AttributeMetrics() = default; DocumentDBTaggedMetrics::AttributeMetrics::ResourceUsageMetrics::ResourceUsageMetrics(MetricSet *parent) - : MetricSet("resource_usage", {}, "Usage metrics for various attribute vector resources", parent), + : MetricSet("resource_usage", {}, "Metrics for various attribute vector resources usage", parent), enumStore("enum_store", {}, "The highest relative amount of enum store address space used among " "all enumerated attribute vectors in this document db (value in the range [0, 1])", this), multiValue("multi_value", {}, "The highest relative amount of multi-value address space used among " "all multi-value attribute vectors in this document db (value in the range [0, 1])", this), + address_space("address_space", {}, "The max relative address space used among " + "components in all attribute vectors in this document db (value in the range [0, 1])", this), feedingBlocked("feeding_blocked", {}, "Whether feeding is blocked due to attribute resource limits being reached (value is either 0 or 1)", 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 7f2e095a39b..8d225115c37 100644 --- a/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.h +++ b/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.h @@ -88,6 +88,7 @@ struct DocumentDBTaggedMetrics : metrics::MetricSet { metrics::DoubleValueMetric enumStore; metrics::DoubleValueMetric multiValue; + metrics::DoubleValueMetric address_space; metrics::LongValueMetric feedingBlocked; ResourceUsageMetrics(metrics::MetricSet *parent); diff --git a/searchcore/src/vespa/searchcore/proton/server/documentdb_metrics_updater.cpp b/searchcore/src/vespa/searchcore/proton/server/documentdb_metrics_updater.cpp index 8b923c7a372..66ecf955736 100644 --- a/searchcore/src/vespa/searchcore/proton/server/documentdb_metrics_updater.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/documentdb_metrics_updater.cpp @@ -302,12 +302,14 @@ DocumentDBMetricsUpdater::updateMetrics(const metrics::MetricLockGuard & guard, void DocumentDBMetricsUpdater::updateAttributeResourceUsageMetrics(DocumentDBTaggedMetrics::AttributeMetrics &metrics) { - AttributeUsageStats attributeUsageStats = _writeFilter.getAttributeUsageStats(); + AttributeUsageStats stats = _writeFilter.getAttributeUsageStats(); bool feedBlocked = !_writeFilter.acceptWriteOperation(); - double enumStoreUsed = attributeUsageStats.enumStoreUsage().getUsage().usage(); - double multiValueUsed = attributeUsageStats.multiValueUsage().getUsage().usage(); + double enumStoreUsed = stats.enumStoreUsage().getUsage().usage(); + double multiValueUsed = stats.multiValueUsage().getUsage().usage(); + double address_space_used = stats.max_usage().getUsage().usage(); metrics.resourceUsage.enumStore.set(enumStoreUsed); metrics.resourceUsage.multiValue.set(multiValueUsed); + metrics.resourceUsage.address_space.set(address_space_used); metrics.resourceUsage.feedingBlocked.set(feedBlocked ? 1 : 0); } |