blob: 6f0f16d822e78b8c9924eb14881239dcc8caee3d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
#include <vespa/metrics/metricset.h>
#include <vespa/metrics/valuemetric.h>
namespace proton {
/**
* Usage metrics for various resources in this search engine.
*/
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();
};
struct DetailedResourceMetrics : metrics::MetricSet {
metrics::DoubleValueMetric total;
metrics::DoubleValueMetric total_util;
metrics::DoubleValueMetric transient;
DetailedResourceMetrics(const vespalib::string& resource_type, metrics::MetricSet* parent);
~DetailedResourceMetrics();
};
metrics::DoubleValueMetric disk;
metrics::DoubleValueMetric memory;
DetailedResourceMetrics disk_usage;
DetailedResourceMetrics memory_usage;
metrics::LongValueMetric memoryMappings;
metrics::LongValueMetric openFileDescriptors;
metrics::LongValueMetric feedingBlocked;
metrics::LongValueMetric mallocArena;
CpuUtilMetrics cpu_util;
ResourceUsageMetrics(metrics::MetricSet *parent);
~ResourceUsageMetrics();
};
} // namespace proton
|