aboutsummaryrefslogtreecommitdiffstats
path: root/storage/src/vespa/storage/distributor/distributormetricsset.h
blob: c3e157fb8270078491c998b4687c25cf822e1a92 (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 Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once

#include "persistence_operation_metric_set.h"
#include "update_metric_set.h"
#include "visitormetricsset.h"
#include <vespa/metrics/common/memory_usage_metrics.h>

namespace vespalib { class MemoryUsage; }

namespace storage::distributor {

struct BucketDbMetrics : metrics::MetricSet {
    BucketDbMetrics(const vespalib::string& db_type, metrics::MetricSet* owner);
    ~BucketDbMetrics() override;

    metrics::MemoryUsageMetrics memory_usage;
};

class DistributorMetricSet : public metrics::MetricSet {
public:
    PersistenceOperationMetricSet puts;
    PersistenceOperationMetricSet put_condition_probes;
    UpdateMetricSet               updates;
    PersistenceOperationMetricSet update_puts;
    PersistenceOperationMetricSet update_gets;
    PersistenceOperationMetricSet update_metadata_gets;
    PersistenceOperationMetricSet removes;
    PersistenceOperationMetricSet remove_condition_probes;
    PersistenceOperationMetricSet removelocations;
    PersistenceOperationMetricSet gets;
    PersistenceOperationMetricSet stats;
    PersistenceOperationMetricSet getbucketlists;
    VisitorMetricSet              visits;
    metrics::DoubleAverageMetric  stateTransitionTime;
    metrics::DoubleAverageMetric  set_cluster_state_processing_time;
    metrics::DoubleAverageMetric  activate_cluster_state_processing_time;
    metrics::DoubleAverageMetric  recoveryModeTime;
    metrics::LongValueMetric      docsStored;
    metrics::LongValueMetric      bytesStored;
    BucketDbMetrics               mutable_dbs;
    BucketDbMetrics               read_only_dbs;

    explicit DistributorMetricSet();
    ~DistributorMetricSet() override;
};

}