diff options
author | Håvard Pettersen <havardpe@oath.com> | 2022-01-25 12:43:09 +0000 |
---|---|---|
committer | Håvard Pettersen <havardpe@oath.com> | 2022-01-25 12:43:09 +0000 |
commit | 949932e310963df295c27af0dc62b77d4625288a (patch) | |
tree | f83d9b7af0a2a5a1ac022163cb72775e7b19ec12 /searchcore | |
parent | 2e569972c83f4d51bfd80bd81c07cc78dde04ef3 (diff) |
use separate metrics in a metric set
values are kept unnormalized
Diffstat (limited to 'searchcore')
3 files changed, 30 insertions, 15 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/metrics/resource_usage_metrics.cpp b/searchcore/src/vespa/searchcore/proton/metrics/resource_usage_metrics.cpp index 6a10dd48f9c..9cf0339986c 100644 --- a/searchcore/src/vespa/searchcore/proton/metrics/resource_usage_metrics.cpp +++ b/searchcore/src/vespa/searchcore/proton/metrics/resource_usage_metrics.cpp @@ -4,6 +4,18 @@ namespace proton { +ResourceUsageMetrics::CpuUtilMetrics::CpuUtilMetrics(metrics::MetricSet *parent) + : MetricSet("cpu_util", {}, "Unnormalized cpu utilization for various categories", parent), + setup("setup", {}, "cpu used by system init and (re-)configuration", this), + read("read", {}, "cpu used by reading data from the system", this), + write("write", {}, "cpu used by writing data to the system", this), + compact("compact", {}, "cpu used by internal data re-structuring", this), + other("other", {}, "cpu used by work not classified as a specific category", this) +{ +} + +ResourceUsageMetrics::CpuUtilMetrics::~CpuUtilMetrics() = default; + ResourceUsageMetrics::ResourceUsageMetrics(metrics::MetricSet *parent) : MetricSet("resource_usage", {}, "Usage metrics for various resources in this search engine", parent), disk("disk", {}, "The relative amount of disk space used on this machine (value in the range [0, 1])", this), @@ -16,11 +28,7 @@ ResourceUsageMetrics::ResourceUsageMetrics(metrics::MetricSet *parent) openFileDescriptors("open_file_descriptors", {}, "The number of open files", this), feedingBlocked("feeding_blocked", {}, "Whether feeding is blocked due to resource limits being reached (value is either 0 or 1)", this), mallocArena("malloc_arena", {}, "Size of malloc arena", this), - cpu_setup( "cpu_util", {{"category", "setup"}}, "cpu utilization for the given category", this), - cpu_read( "cpu_util", {{"category", "read"}}, "cpu utilization for the given category", this), - cpu_write( "cpu_util", {{"category", "write"}}, "cpu utilization for the given category", this), - cpu_compact("cpu_util", {{"category", "compact"}}, "cpu utilization for the given category", this), - cpu_other( "cpu_util", {{"category", "other"}}, "cpu utilization for the given category", this) + cpu_util(this) { } diff --git a/searchcore/src/vespa/searchcore/proton/metrics/resource_usage_metrics.h b/searchcore/src/vespa/searchcore/proton/metrics/resource_usage_metrics.h index ee37cce0ca0..35100084cf7 100644 --- a/searchcore/src/vespa/searchcore/proton/metrics/resource_usage_metrics.h +++ b/searchcore/src/vespa/searchcore/proton/metrics/resource_usage_metrics.h @@ -12,6 +12,17 @@ namespace proton { */ struct ResourceUsageMetrics : metrics::MetricSet { + struct CpuUtilMetrics : metrics::MetricSet { + metrics::DoubleValueMetric setup; + metrics::DoubleValueMetric read; + metrics::DoubleValueMetric write; + metrics::DoubleValueMetric compact; + metrics::DoubleValueMetric other; + + CpuUtilMetrics(metrics::MetricSet *parent); + ~CpuUtilMetrics(); + }; + metrics::DoubleValueMetric disk; metrics::DoubleValueMetric diskUtilization; metrics::DoubleValueMetric memory; @@ -22,11 +33,7 @@ struct ResourceUsageMetrics : metrics::MetricSet metrics::LongValueMetric openFileDescriptors; metrics::LongValueMetric feedingBlocked; metrics::LongValueMetric mallocArena; - metrics::DoubleValueMetric cpu_setup; - metrics::DoubleValueMetric cpu_read; - metrics::DoubleValueMetric cpu_write; - metrics::DoubleValueMetric cpu_compact; - metrics::DoubleValueMetric cpu_other; + CpuUtilMetrics cpu_util; ResourceUsageMetrics(metrics::MetricSet *parent); ~ResourceUsageMetrics(); diff --git a/searchcore/src/vespa/searchcore/proton/server/proton.cpp b/searchcore/src/vespa/searchcore/proton/server/proton.cpp index f12758345c4..b2a86102cd1 100644 --- a/searchcore/src/vespa/searchcore/proton/server/proton.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/proton.cpp @@ -778,11 +778,11 @@ Proton::updateMetrics(const metrics::MetricLockGuard &) metrics.resourceUsage.mallocArena.set(UINT64_C(0)); #endif auto cpu_util = _cpu_util.get_util(); - metrics.resourceUsage.cpu_setup.set(cpu_util[CpuCategory::SETUP]); - metrics.resourceUsage.cpu_read.set(cpu_util[CpuCategory::READ]); - metrics.resourceUsage.cpu_write.set(cpu_util[CpuCategory::WRITE]); - metrics.resourceUsage.cpu_compact.set(cpu_util[CpuCategory::COMPACT]); - metrics.resourceUsage.cpu_other.set(cpu_util[CpuCategory::OTHER]); + metrics.resourceUsage.cpu_util.setup.set(cpu_util[CpuCategory::SETUP]); + metrics.resourceUsage.cpu_util.read.set(cpu_util[CpuCategory::READ]); + metrics.resourceUsage.cpu_util.write.set(cpu_util[CpuCategory::WRITE]); + metrics.resourceUsage.cpu_util.compact.set(cpu_util[CpuCategory::COMPACT]); + metrics.resourceUsage.cpu_util.other.set(cpu_util[CpuCategory::OTHER]); } { ContentProtonMetrics::ProtonExecutorMetrics &metrics = _metricsEngine->root().executor; |