Coverage Report

Created: 2025-07-26 11:55

/root/doris/cloud/src/common/bvars.h
Line
Count
Source (jump to first uncovered line)
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#pragma once
19
20
#include <bthread/mutex.h>
21
#include <bvar/bvar.h>
22
#include <bvar/latency_recorder.h>
23
#include <bvar/multi_dimension.h>
24
#include <bvar/reducer.h>
25
#include <bvar/status.h>
26
27
#include <cstdint>
28
#include <initializer_list>
29
#include <map>
30
#include <memory>
31
#include <mutex>
32
#include <string>
33
#include <type_traits>
34
#include <utility>
35
36
/**
37
 * Manage bvars that with similar names (identical prefix)
38
 * ${module}_${name}_${tag}
39
 * where `tag` is added automatically when calling `get` or `put`
40
 */
41
template <typename Bvar, bool is_status = false>
42
class BvarWithTag {
43
public:
44
    BvarWithTag(std::string module, std::string name)
45
2.26k
            : module_(std::move(module)), name_(std::move(name)) {}
_ZN11BvarWithTagIN4bvar15LatencyRecorderELb0EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_
Line
Count
Source
45
1.76k
            : module_(std::move(module)), name_(std::move(name)) {}
_ZN11BvarWithTagIN4bvar6StatusIlvEELb1EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_
Line
Count
Source
45
504
            : module_(std::move(module)), name_(std::move(name)) {}
46
47
    template <typename ValType>
48
        requires std::is_integral_v<ValType>
49
13.7k
    void put(const std::string& tag, ValType value) {
50
13.7k
        std::shared_ptr<Bvar> instance = nullptr;
51
13.7k
        {
52
13.7k
            std::lock_guard<bthread::Mutex> l(mutex_);
53
13.7k
            auto it = bvar_map_.find(tag);
54
13.7k
            if (it == bvar_map_.end()) {
55
999
                instance = std::make_shared<Bvar>(module_, name_ + "_" + tag, ValType());
56
999
                bvar_map_[tag] = instance;
57
12.7k
            } else {
58
12.7k
                instance = it->second;
59
12.7k
            }
60
13.7k
        }
61
        // FIXME(gavin): check bvar::Adder and more
62
13.7k
        if constexpr (std::is_same_v<Bvar, bvar::LatencyRecorder>) {
63
106
            (*instance) << value;
64
106
        } else if constexpr (is_status) {
65
106
            instance->set_value(value);
66
106
        } else {
67
            // This branch mean to be unreachable, add an assert(false) here to
68
            // prevent missing branch match.
69
            // Postpone deduction of static_assert by evaluating sizeof(T)
70
13.7k
            static_assert(!sizeof(Bvar), "all types must be matched with if constexpr");
71
13.7k
        }
72
13.7k
    }
_ZN11BvarWithTagIN4bvar6StatusIlvEELb1EE3putIlEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_
Line
Count
Source
49
106
    void put(const std::string& tag, ValType value) {
50
106
        std::shared_ptr<Bvar> instance = nullptr;
51
106
        {
52
106
            std::lock_guard<bthread::Mutex> l(mutex_);
53
106
            auto it = bvar_map_.find(tag);
54
106
            if (it == bvar_map_.end()) {
55
78
                instance = std::make_shared<Bvar>(module_, name_ + "_" + tag, ValType());
56
78
                bvar_map_[tag] = instance;
57
78
            } else {
58
28
                instance = it->second;
59
28
            }
60
106
        }
61
        // FIXME(gavin): check bvar::Adder and more
62
106
        if constexpr (std::is_same_v<Bvar, bvar::LatencyRecorder>) {
63
106
            (*instance) << value;
64
106
        } else if constexpr (is_status) {
65
106
            instance->set_value(value);
66
106
        } else {
67
            // This branch mean to be unreachable, add an assert(false) here to
68
            // prevent missing branch match.
69
            // Postpone deduction of static_assert by evaluating sizeof(T)
70
106
            static_assert(!sizeof(Bvar), "all types must be matched with if constexpr");
71
106
        }
72
106
    }
_ZN11BvarWithTagIN4bvar15LatencyRecorderELb0EE3putIlEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_
Line
Count
Source
49
13.6k
    void put(const std::string& tag, ValType value) {
50
13.6k
        std::shared_ptr<Bvar> instance = nullptr;
51
13.6k
        {
52
13.6k
            std::lock_guard<bthread::Mutex> l(mutex_);
53
13.6k
            auto it = bvar_map_.find(tag);
54
13.6k
            if (it == bvar_map_.end()) {
55
921
                instance = std::make_shared<Bvar>(module_, name_ + "_" + tag, ValType());
56
921
                bvar_map_[tag] = instance;
57
12.7k
            } else {
58
12.7k
                instance = it->second;
59
12.7k
            }
60
13.6k
        }
61
        // FIXME(gavin): check bvar::Adder and more
62
13.6k
        if constexpr (std::is_same_v<Bvar, bvar::LatencyRecorder>) {
63
13.6k
            (*instance) << value;
64
13.6k
        } else if constexpr (is_status) {
65
13.6k
            instance->set_value(value);
66
13.6k
        } else {
67
            // This branch mean to be unreachable, add an assert(false) here to
68
            // prevent missing branch match.
69
            // Postpone deduction of static_assert by evaluating sizeof(T)
70
13.6k
            static_assert(!sizeof(Bvar), "all types must be matched with if constexpr");
71
13.6k
        }
72
13.6k
    }
73
74
649
    std::shared_ptr<Bvar> get(const std::string& tag) {
75
649
        std::shared_ptr<Bvar> instance = nullptr;
76
649
        std::lock_guard<bthread::Mutex> l(mutex_);
77
78
649
        auto it = bvar_map_.find(tag);
79
649
        if (it == bvar_map_.end()) {
80
1
            instance = std::make_shared<Bvar>(module_, name_ + "_" + tag);
81
1
            bvar_map_[tag] = instance;
82
1
            return instance;
83
1
        }
84
648
        return it->second;
85
649
    }
86
87
    void remove(const std::string& tag) {
88
        std::lock_guard<bthread::Mutex> l(mutex_);
89
        bvar_map_.erase(tag);
90
    }
91
92
private:
93
    bthread::Mutex mutex_;
94
    std::string module_;
95
    std::string name_;
96
    std::map<std::string, std::shared_ptr<Bvar>> bvar_map_;
97
};
98
99
using BvarLatencyRecorderWithTag = BvarWithTag<bvar::LatencyRecorder>;
100
101
template <typename T>
102
    requires std::is_integral_v<T>
103
using BvarStatusWithTag = BvarWithTag<bvar::Status<T>, true>;
104
105
/**
106
@brief: A wrapper class for multidimensional bvar metrics.
107
This template class provides a convenient interface for managing multidimensional
108
bvar metrics. It supports various bvar types including Adder, IntRecorder,
109
LatencyRecorder, Maxer, and Status.
110
@param: BvarType The type of bvar metric to use (must be one of the supported types)
111
@output: Based on the bvar multidimensional counter implementation,
112
the metrics output format would typically follow this structure:
113
{metric_name}{dimension1="value1",dimension2="value2",...} value
114
@example: Basic usage with an Adder:
115
// Create a 2-dimensional counter with dimensions "region" and "service"
116
mBvarWrapper<bvar::Adder<int>> request_counter("xxx_request_count", {"region", "service"});
117
// Increment the counter for specific dimension values
118
request_counter.put({"east", "login"}, 1);
119
request_counter.put({"west", "search"}, 1);
120
request_counter.put({"east", "login"}, 1); // Now east/login has value 2
121
// the output of above metrics:
122
xxx_request_count{region="east",service="login"} 2
123
xxx_request_count{region="west",service="search"} 1
124
@note: The dimensions provided in the constructor and the values provided to
125
put() and get() methods must match in count. Also, all supported bvar types
126
have different behaviors for how values are processed and retrieved.
127
*/
128
129
template <typename T>
130
struct is_valid_bvar_type : std::false_type {};
131
template <typename T>
132
struct is_valid_bvar_type<bvar::Adder<T>> : std::true_type {};
133
template <>
134
struct is_valid_bvar_type<bvar::IntRecorder> : std::true_type {};
135
template <typename T>
136
struct is_valid_bvar_type<bvar::Maxer<T>> : std::true_type {};
137
template <typename T>
138
struct is_valid_bvar_type<bvar::Status<T>> : std::true_type {};
139
template <>
140
struct is_valid_bvar_type<bvar::LatencyRecorder> : std::true_type {};
141
template <typename T>
142
struct is_bvar_status : std::false_type {};
143
template <typename T>
144
struct is_bvar_status<bvar::Status<T>> : std::true_type {};
145
146
template <typename BvarType>
147
class mBvarWrapper {
148
public:
149
    mBvarWrapper(const std::string& metric_name,
150
                 const std::initializer_list<std::string>& dim_names)
151
6.55k
            : counter_(metric_name, std::list<std::string>(dim_names)) {
152
6.55k
        static_assert(is_valid_bvar_type<BvarType>::value,
153
6.55k
                      "BvarType must be one of the supported bvar types (Adder, IntRecorder, "
154
6.55k
                      "LatencyRecorder, Maxer, Status)");
155
6.55k
    }
_ZN12mBvarWrapperIN4bvar6StatusIlvEEEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt16initializer_listIS9_E
Line
Count
Source
151
308
            : counter_(metric_name, std::list<std::string>(dim_names)) {
152
308
        static_assert(is_valid_bvar_type<BvarType>::value,
153
308
                      "BvarType must be one of the supported bvar types (Adder, IntRecorder, "
154
308
                      "LatencyRecorder, Maxer, Status)");
155
308
    }
_ZN12mBvarWrapperIN4bvar5AdderIiEEEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt16initializer_listIS9_E
Line
Count
Source
151
140
            : counter_(metric_name, std::list<std::string>(dim_names)) {
152
140
        static_assert(is_valid_bvar_type<BvarType>::value,
153
140
                      "BvarType must be one of the supported bvar types (Adder, IntRecorder, "
154
140
                      "LatencyRecorder, Maxer, Status)");
155
140
    }
_ZN12mBvarWrapperIN4bvar6StatusIdvEEEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt16initializer_listIS9_E
Line
Count
Source
151
112
            : counter_(metric_name, std::list<std::string>(dim_names)) {
152
112
        static_assert(is_valid_bvar_type<BvarType>::value,
153
112
                      "BvarType must be one of the supported bvar types (Adder, IntRecorder, "
154
112
                      "LatencyRecorder, Maxer, Status)");
155
112
    }
_ZN12mBvarWrapperIN4bvar5AdderIlEEEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt16initializer_listIS9_E
Line
Count
Source
151
5.99k
            : counter_(metric_name, std::list<std::string>(dim_names)) {
152
5.99k
        static_assert(is_valid_bvar_type<BvarType>::value,
153
5.99k
                      "BvarType must be one of the supported bvar types (Adder, IntRecorder, "
154
5.99k
                      "LatencyRecorder, Maxer, Status)");
155
5.99k
    }
156
157
    template <typename ValType>
158
141k
    void put(const std::initializer_list<std::string>& dim_values, ValType value) {
159
141k
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
160
141k
        if (stats) {
161
141k
            if constexpr (is_bvar_status<BvarType>::value) {
162
115k
                stats->set_value(value);
163
115k
            } else {
164
115k
                *stats << value;
165
115k
            }
166
141k
        }
167
141k
    }
_ZN12mBvarWrapperIN4bvar5AdderIlEEE3putIlEEvRKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_
Line
Count
Source
158
67.2k
    void put(const std::initializer_list<std::string>& dim_values, ValType value) {
159
67.2k
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
160
67.2k
        if (stats) {
161
67.2k
            if constexpr (is_bvar_status<BvarType>::value) {
162
67.2k
                stats->set_value(value);
163
67.2k
            } else {
164
67.2k
                *stats << value;
165
67.2k
            }
166
67.2k
        }
167
67.2k
    }
_ZN12mBvarWrapperIN4bvar5AdderIlEEE3putImEEvRKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_
Line
Count
Source
158
6
    void put(const std::initializer_list<std::string>& dim_values, ValType value) {
159
6
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
160
6
        if (stats) {
161
6
            if constexpr (is_bvar_status<BvarType>::value) {
162
6
                stats->set_value(value);
163
6
            } else {
164
6
                *stats << value;
165
6
            }
166
6
        }
167
6
    }
_ZN12mBvarWrapperIN4bvar6StatusIlvEEE3putIlEEvRKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_
Line
Count
Source
158
24.5k
    void put(const std::initializer_list<std::string>& dim_values, ValType value) {
159
24.5k
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
160
24.5k
        if (stats) {
161
24.5k
            if constexpr (is_bvar_status<BvarType>::value) {
162
24.5k
                stats->set_value(value);
163
24.5k
            } else {
164
24.5k
                *stats << value;
165
24.5k
            }
166
24.5k
        }
167
24.5k
    }
_ZN12mBvarWrapperIN4bvar6StatusIdvEEE3putIdEEvRKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_
Line
Count
Source
158
411
    void put(const std::initializer_list<std::string>& dim_values, ValType value) {
159
411
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
160
411
        if (stats) {
161
411
            if constexpr (is_bvar_status<BvarType>::value) {
162
411
                stats->set_value(value);
163
411
            } else {
164
411
                *stats << value;
165
411
            }
166
411
        }
167
411
    }
Unexecuted instantiation: _ZN12mBvarWrapperIN4bvar6StatusIlvEEE3putImEEvRKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_
_ZN12mBvarWrapperIN4bvar5AdderIiEEE3putIiEEvRKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_
Line
Count
Source
158
771
    void put(const std::initializer_list<std::string>& dim_values, ValType value) {
159
771
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
160
772
        if (stats) {
161
772
            if constexpr (is_bvar_status<BvarType>::value) {
162
772
                stats->set_value(value);
163
772
            } else {
164
772
                *stats << value;
165
772
            }
166
772
        }
167
771
    }
_ZN12mBvarWrapperIN4bvar6StatusIdvEEE3putIiEEvRKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_
Line
Count
Source
158
303
    void put(const std::initializer_list<std::string>& dim_values, ValType value) {
159
303
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
160
303
        if (stats) {
161
303
            if constexpr (is_bvar_status<BvarType>::value) {
162
303
                stats->set_value(value);
163
303
            } else {
164
303
                *stats << value;
165
303
            }
166
303
        }
167
303
    }
_ZN12mBvarWrapperIN4bvar5AdderIiEEE3putIlEEvRKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_
Line
Count
Source
158
47.9k
    void put(const std::initializer_list<std::string>& dim_values, ValType value) {
159
47.9k
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
160
47.9k
        if (stats) {
161
47.9k
            if constexpr (is_bvar_status<BvarType>::value) {
162
47.9k
                stats->set_value(value);
163
47.9k
            } else {
164
47.9k
                *stats << value;
165
47.9k
            }
166
47.9k
        }
167
47.9k
    }
168
169
228
    auto get(const std::initializer_list<std::string>& dim_values) {
170
228
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
171
228
        using ReturnType = decltype(stats->get_value());
172
228
        if (stats) {
173
228
            return stats->get_value();
174
228
        }
175
0
        return ReturnType {};
176
228
    }
_ZN12mBvarWrapperIN4bvar6StatusIdvEEE3getERKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE
Line
Count
Source
169
8
    auto get(const std::initializer_list<std::string>& dim_values) {
170
8
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
171
8
        using ReturnType = decltype(stats->get_value());
172
8
        if (stats) {
173
8
            return stats->get_value();
174
8
        }
175
0
        return ReturnType {};
176
8
    }
_ZN12mBvarWrapperIN4bvar6StatusIlvEEE3getERKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE
Line
Count
Source
169
22
    auto get(const std::initializer_list<std::string>& dim_values) {
170
22
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
171
22
        using ReturnType = decltype(stats->get_value());
172
22
        if (stats) {
173
22
            return stats->get_value();
174
22
        }
175
0
        return ReturnType {};
176
22
    }
_ZN12mBvarWrapperIN4bvar5AdderIlEEE3getERKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE
Line
Count
Source
169
198
    auto get(const std::initializer_list<std::string>& dim_values) {
170
198
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
171
198
        using ReturnType = decltype(stats->get_value());
172
198
        if (stats) {
173
198
            return stats->get_value();
174
198
        }
175
0
        return ReturnType {};
176
198
    }
177
178
private:
179
    bvar::MultiDimension<BvarType> counter_;
180
};
181
182
using mBvarIntAdder = mBvarWrapper<bvar::Adder<int>>;
183
using mBvarInt64Adder = mBvarWrapper<bvar::Adder<int64_t>>;
184
using mBvarDoubleAdder = mBvarWrapper<bvar::Adder<double>>;
185
using mBvarIntRecorder = mBvarWrapper<bvar::IntRecorder>;
186
using mBvarLatencyRecorder = mBvarWrapper<bvar::LatencyRecorder>;
187
using mBvarIntMaxer = mBvarWrapper<bvar::Maxer<int>>;
188
using mBvarDoubleMaxer = mBvarWrapper<bvar::Maxer<double>>;
189
template <typename T>
190
using mBvarStatus = mBvarWrapper<bvar::Status<T>>;
191
192
// meta-service's bvars
193
extern BvarLatencyRecorderWithTag g_bvar_ms_begin_txn;
194
extern BvarLatencyRecorderWithTag g_bvar_ms_precommit_txn;
195
extern BvarLatencyRecorderWithTag g_bvar_ms_commit_txn;
196
extern BvarLatencyRecorderWithTag g_bvar_ms_commit_txn_eventually;
197
extern BvarLatencyRecorderWithTag g_bvar_ms_abort_txn;
198
extern BvarLatencyRecorderWithTag g_bvar_ms_get_txn;
199
extern BvarLatencyRecorderWithTag g_bvar_ms_get_current_max_txn_id;
200
extern BvarLatencyRecorderWithTag g_bvar_ms_check_txn_conflict;
201
extern BvarLatencyRecorderWithTag g_bvar_ms_abort_txn_with_coordinator;
202
extern BvarLatencyRecorderWithTag g_bvar_ms_begin_sub_txn;
203
extern BvarLatencyRecorderWithTag g_bvar_ms_abort_sub_txn;
204
extern BvarLatencyRecorderWithTag g_bvar_ms_clean_txn_label;
205
extern BvarLatencyRecorderWithTag g_bvar_ms_get_version;
206
extern BvarLatencyRecorderWithTag g_bvar_ms_batch_get_version;
207
extern BvarLatencyRecorderWithTag g_bvar_ms_create_tablets;
208
extern BvarLatencyRecorderWithTag g_bvar_ms_update_tablet;
209
extern BvarLatencyRecorderWithTag g_bvar_ms_update_tablet_schema;
210
extern BvarLatencyRecorderWithTag g_bvar_ms_get_tablet;
211
extern BvarLatencyRecorderWithTag g_bvar_ms_prepare_rowset;
212
extern BvarLatencyRecorderWithTag g_bvar_ms_commit_rowset;
213
extern BvarLatencyRecorderWithTag g_bvar_ms_update_tmp_rowset;
214
extern BvarLatencyRecorderWithTag g_bvar_ms_get_rowset;
215
extern BvarLatencyRecorderWithTag g_bvar_ms_drop_index;
216
extern BvarLatencyRecorderWithTag g_bvar_ms_prepare_index;
217
extern BvarLatencyRecorderWithTag g_bvar_ms_commit_index;
218
extern BvarLatencyRecorderWithTag g_bvar_ms_prepare_partition;
219
extern BvarLatencyRecorderWithTag g_bvar_ms_commit_partition;
220
extern BvarLatencyRecorderWithTag g_bvar_ms_drop_partition;
221
extern BvarLatencyRecorderWithTag g_bvar_ms_get_tablet_stats;
222
extern BvarLatencyRecorderWithTag g_bvar_ms_get_obj_store_info;
223
extern BvarLatencyRecorderWithTag g_bvar_ms_alter_obj_store_info;
224
extern BvarLatencyRecorderWithTag g_bvar_ms_alter_storage_vault;
225
extern BvarLatencyRecorderWithTag g_bvar_ms_create_instance;
226
extern BvarLatencyRecorderWithTag g_bvar_ms_alter_instance;
227
extern BvarLatencyRecorderWithTag g_bvar_ms_alter_cluster;
228
extern BvarLatencyRecorderWithTag g_bvar_ms_get_cluster;
229
extern BvarLatencyRecorderWithTag g_bvar_ms_create_stage;
230
extern BvarLatencyRecorderWithTag g_bvar_ms_get_stage;
231
extern BvarLatencyRecorderWithTag g_bvar_ms_drop_stage;
232
extern BvarLatencyRecorderWithTag g_bvar_ms_get_iam;
233
extern BvarLatencyRecorderWithTag g_bvar_ms_update_ak_sk;
234
extern BvarLatencyRecorderWithTag g_bvar_ms_alter_iam;
235
extern BvarLatencyRecorderWithTag g_bvar_ms_alter_ram_user;
236
extern BvarLatencyRecorderWithTag g_bvar_ms_begin_copy;
237
extern BvarLatencyRecorderWithTag g_bvar_ms_finish_copy;
238
extern BvarLatencyRecorderWithTag g_bvar_ms_get_copy_job;
239
extern BvarLatencyRecorderWithTag g_bvar_ms_get_copy_files;
240
extern BvarLatencyRecorderWithTag g_bvar_ms_filter_copy_files;
241
extern BvarLatencyRecorderWithTag g_bvar_ms_start_tablet_job;
242
extern BvarLatencyRecorderWithTag g_bvar_ms_finish_tablet_job;
243
extern BvarLatencyRecorderWithTag g_bvar_ms_update_delete_bitmap;
244
extern BvarLatencyRecorderWithTag g_bvar_ms_get_delete_bitmap;
245
extern BvarLatencyRecorderWithTag g_bvar_ms_get_delete_bitmap_update_lock;
246
extern BvarLatencyRecorderWithTag g_bvar_ms_remove_delete_bitmap;
247
extern BvarLatencyRecorderWithTag g_bvar_ms_remove_delete_bitmap_update_lock;
248
extern BvarLatencyRecorderWithTag g_bvar_ms_get_cluster_status;
249
extern BvarLatencyRecorderWithTag g_bvar_ms_set_cluster_status;
250
extern BvarLatencyRecorderWithTag g_bvar_ms_get_instance;
251
extern BvarLatencyRecorderWithTag g_bvar_ms_get_rl_task_commit_attach;
252
extern BvarLatencyRecorderWithTag g_bvar_ms_reset_rl_progress;
253
extern BvarLatencyRecorderWithTag g_bvar_ms_get_txn_id;
254
extern BvarLatencyRecorderWithTag g_bvar_ms_check_kv;
255
extern BvarLatencyRecorderWithTag g_bvar_ms_get_schema_dict;
256
extern bvar::Adder<int64_t> g_bvar_update_delete_bitmap_fail_counter;
257
extern bvar::Adder<int64_t> g_bvar_get_delete_bitmap_fail_counter;
258
259
// recycler's bvars
260
extern BvarStatusWithTag<int64_t> g_bvar_recycler_recycle_index_earlest_ts;
261
extern BvarStatusWithTag<int64_t> g_bvar_recycler_recycle_partition_earlest_ts;
262
extern BvarStatusWithTag<int64_t> g_bvar_recycler_recycle_rowset_earlest_ts;
263
extern BvarStatusWithTag<int64_t> g_bvar_recycler_recycle_tmp_rowset_earlest_ts;
264
extern BvarStatusWithTag<int64_t> g_bvar_recycler_recycle_expired_txn_label_earlest_ts;
265
266
// recycler's mbvars
267
extern bvar::Status<int64_t> g_bvar_recycler_task_max_concurrency;
268
extern bvar::Adder<int64_t> g_bvar_recycler_instance_recycle_task_concurrency;
269
extern bvar::Adder<int64_t> g_bvar_recycler_instance_running_counter;
270
extern mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_recycle_duration;
271
extern mBvarStatus<int64_t> g_bvar_recycler_instance_next_ts;
272
extern mBvarStatus<int64_t> g_bvar_recycler_instance_recycle_start_ts;
273
extern mBvarStatus<int64_t> g_bvar_recycler_instance_recycle_end_ts;
274
extern mBvarStatus<int64_t> g_bvar_recycler_instance_recycle_last_success_ts;
275
276
extern mBvarIntAdder g_bvar_recycler_vault_recycle_status;
277
extern mBvarIntAdder g_bvar_recycler_vault_recycle_task_concurrency;
278
extern mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_recycled_num;
279
extern mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_to_recycle_num;
280
extern mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_recycled_bytes;
281
extern mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_to_recycle_bytes;
282
extern mBvarStatus<double> g_bvar_recycler_instance_last_round_recycle_elpased_ts;
283
extern mBvarIntAdder g_bvar_recycler_instance_recycle_total_num_since_started;
284
extern mBvarIntAdder g_bvar_recycler_instance_recycle_total_bytes_since_started;
285
extern mBvarIntAdder g_bvar_recycler_instance_recycle_round;
286
extern mBvarStatus<double> g_bvar_recycler_instance_recycle_time_per_resource;
287
extern mBvarStatus<double> g_bvar_recycler_instance_recycle_bytes_per_ms;
288
289
// txn_kv's bvars
290
extern bvar::LatencyRecorder g_bvar_txn_kv_get;
291
extern bvar::LatencyRecorder g_bvar_txn_kv_range_get;
292
extern bvar::LatencyRecorder g_bvar_txn_kv_put;
293
extern bvar::LatencyRecorder g_bvar_txn_kv_commit;
294
extern bvar::LatencyRecorder g_bvar_txn_kv_atomic_set_ver_key;
295
extern bvar::LatencyRecorder g_bvar_txn_kv_atomic_set_ver_value;
296
extern bvar::LatencyRecorder g_bvar_txn_kv_atomic_add;
297
extern bvar::LatencyRecorder g_bvar_txn_kv_remove;
298
extern bvar::LatencyRecorder g_bvar_txn_kv_range_remove;
299
extern bvar::LatencyRecorder g_bvar_txn_kv_get_read_version;
300
extern bvar::LatencyRecorder g_bvar_txn_kv_get_committed_version;
301
extern bvar::LatencyRecorder g_bvar_txn_kv_batch_get;
302
303
extern bvar::Adder<int64_t> g_bvar_txn_kv_commit_error_counter;
304
extern bvar::Adder<int64_t> g_bvar_txn_kv_commit_conflict_counter;
305
extern bvar::Adder<int64_t> g_bvar_txn_kv_get_count_normalized;
306
307
extern bvar::Adder<int64_t> g_bvar_delete_bitmap_lock_txn_put_conflict_counter;
308
extern bvar::Adder<int64_t> g_bvar_delete_bitmap_lock_txn_remove_conflict_by_fail_counter;
309
extern bvar::Adder<int64_t> g_bvar_delete_bitmap_lock_txn_remove_conflict_by_load_counter;
310
extern bvar::Adder<int64_t>
311
        g_bvar_delete_bitmap_lock_txn_remove_conflict_by_compaction_commit_counter;
312
extern bvar::Adder<int64_t>
313
        g_bvar_delete_bitmap_lock_txn_remove_conflict_by_compaction_lease_counter;
314
extern bvar::Adder<int64_t>
315
        g_bvar_delete_bitmap_lock_txn_remove_conflict_by_compaction_abort_counter;
316
317
extern const int64_t BVAR_FDB_INVALID_VALUE;
318
extern bvar::Status<int64_t> g_bvar_fdb_client_count;
319
extern bvar::Status<int64_t> g_bvar_fdb_configuration_coordinators_count;
320
extern bvar::Status<int64_t> g_bvar_fdb_configuration_usable_regions;
321
extern bvar::Status<int64_t> g_bvar_fdb_coordinators_unreachable_count;
322
extern bvar::Status<int64_t> g_bvar_fdb_fault_tolerance_count;
323
extern bvar::Status<int64_t> g_bvar_fdb_data_average_partition_size_bytes;
324
extern bvar::Status<int64_t> g_bvar_fdb_data_log_server_space_bytes;
325
extern bvar::Status<int64_t> g_bvar_fdb_data_moving_data_highest_priority;
326
extern bvar::Status<int64_t> g_bvar_fdb_data_moving_data_in_flight_bytes;
327
extern bvar::Status<int64_t> g_bvar_fdb_data_moving_data_in_queue_bytes;
328
extern bvar::Status<int64_t> g_bvar_fdb_data_moving_total_written_bytes;
329
extern bvar::Status<int64_t> g_bvar_fdb_data_partition_count;
330
extern bvar::Status<int64_t> g_bvar_fdb_data_storage_server_space_bytes;
331
extern bvar::Status<int64_t> g_bvar_fdb_data_state_min_replicas_remaining;
332
extern bvar::Status<int64_t> g_bvar_fdb_data_total_kv_size_bytes;
333
extern bvar::Status<int64_t> g_bvar_fdb_data_total_disk_used_bytes;
334
extern bvar::Status<int64_t> g_bvar_fdb_generation;
335
extern bvar::Status<int64_t> g_bvar_fdb_incompatible_connections;
336
extern bvar::Status<int64_t> g_bvar_fdb_latency_probe_transaction_start_ns;
337
extern bvar::Status<int64_t> g_bvar_fdb_latency_probe_commit_ns;
338
extern bvar::Status<int64_t> g_bvar_fdb_latency_probe_read_ns;
339
extern bvar::Status<int64_t> g_bvar_fdb_machines_count;
340
extern bvar::Status<int64_t> g_bvar_fdb_process_count;
341
extern bvar::Status<int64_t> g_bvar_fdb_qos_worst_data_lag_storage_server_ns;
342
extern bvar::Status<int64_t> g_bvar_fdb_qos_worst_durability_lag_storage_server_ns;
343
extern bvar::Status<int64_t> g_bvar_fdb_qos_worst_log_server_queue_bytes;
344
extern bvar::Status<int64_t> g_bvar_fdb_qos_worst_storage_server_queue_bytes;
345
extern bvar::Status<int64_t> g_bvar_fdb_workload_conflict_rate_hz;
346
extern bvar::Status<int64_t> g_bvar_fdb_workload_location_rate_hz;
347
extern bvar::Status<int64_t> g_bvar_fdb_workload_keys_read_hz;
348
extern bvar::Status<int64_t> g_bvar_fdb_workload_read_bytes_hz;
349
extern bvar::Status<int64_t> g_bvar_fdb_workload_read_rate_hz;
350
extern bvar::Status<int64_t> g_bvar_fdb_workload_write_rate_hz;
351
extern bvar::Status<int64_t> g_bvar_fdb_workload_written_bytes_hz;
352
extern bvar::Status<int64_t> g_bvar_fdb_workload_transactions_started_hz;
353
extern bvar::Status<int64_t> g_bvar_fdb_workload_transactions_committed_hz;
354
extern bvar::Status<int64_t> g_bvar_fdb_workload_transactions_rejected_hz;
355
extern bvar::Status<int64_t> g_bvar_fdb_client_thread_busyness_percent;
356
extern mBvarStatus<int64_t> g_bvar_fdb_process_status_int;
357
extern mBvarStatus<double> g_bvar_fdb_process_status_float;
358
359
// checker
360
extern BvarStatusWithTag<long> g_bvar_checker_num_scanned;
361
extern BvarStatusWithTag<long> g_bvar_checker_num_scanned_with_segment;
362
extern BvarStatusWithTag<long> g_bvar_checker_num_check_failed;
363
extern BvarStatusWithTag<long> g_bvar_checker_check_cost_s;
364
extern BvarStatusWithTag<long> g_bvar_checker_enqueue_cost_s;
365
extern BvarStatusWithTag<long> g_bvar_checker_last_success_time_ms;
366
extern BvarStatusWithTag<long> g_bvar_checker_instance_volume;
367
extern BvarStatusWithTag<long> g_bvar_inverted_checker_num_scanned;
368
extern BvarStatusWithTag<long> g_bvar_inverted_checker_num_check_failed;
369
370
extern BvarStatusWithTag<int64_t> g_bvar_inverted_checker_leaked_delete_bitmaps;
371
extern BvarStatusWithTag<int64_t> g_bvar_inverted_checker_abnormal_delete_bitmaps;
372
extern BvarStatusWithTag<int64_t> g_bvar_inverted_checker_delete_bitmaps_scanned;
373
extern BvarStatusWithTag<int64_t> g_bvar_max_rowsets_with_useless_delete_bitmap_version;
374
375
// rpc kv
376
extern mBvarInt64Adder g_bvar_rpc_kv_get_rowset_get_counter;
377
extern mBvarInt64Adder g_bvar_rpc_kv_get_version_get_counter;
378
extern mBvarInt64Adder g_bvar_rpc_kv_get_schema_dict_get_counter;
379
extern mBvarInt64Adder g_bvar_rpc_kv_create_tablets_get_counter;
380
extern mBvarInt64Adder g_bvar_rpc_kv_create_tablets_put_counter;
381
extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_get_counter;
382
extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_put_counter;
383
extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_schema_get_counter;
384
extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_schema_put_counter;
385
extern mBvarInt64Adder g_bvar_rpc_kv_get_tablet_get_counter;
386
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_rowset_get_counter;
387
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_rowset_put_counter;
388
extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_get_counter;
389
extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_put_counter;
390
extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_del_counter;
391
extern mBvarInt64Adder g_bvar_rpc_kv_update_tmp_rowset_get_counter;
392
extern mBvarInt64Adder g_bvar_rpc_kv_update_tmp_rowset_put_counter;
393
extern mBvarInt64Adder g_bvar_rpc_kv_get_tablet_stats_get_counter;
394
extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_get_counter;
395
extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_put_counter;
396
extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_del_counter;
397
extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_get_counter;
398
extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_get_counter;
399
extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_put_counter;
400
extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_del_counter;
401
extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_get_counter;
402
extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_put_counter;
403
extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_del_counter;
404
extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_del_counter;
405
extern mBvarInt64Adder g_bvar_rpc_kv_start_tablet_job_get_counter;
406
extern mBvarInt64Adder g_bvar_rpc_kv_start_tablet_job_put_counter;
407
extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_get_counter;
408
extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_put_counter;
409
extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_del_counter;
410
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_index_get_counter;
411
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_index_put_counter;
412
extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_get_counter;
413
extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_put_counter;
414
extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_del_counter;
415
extern mBvarInt64Adder g_bvar_rpc_kv_drop_index_get_counter;
416
extern mBvarInt64Adder g_bvar_rpc_kv_drop_index_put_counter;
417
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_partition_get_counter;
418
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_partition_put_counter;
419
extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_get_counter;
420
extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_put_counter;
421
extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_del_counter;
422
extern mBvarInt64Adder g_bvar_rpc_kv_drop_partition_get_counter;
423
extern mBvarInt64Adder g_bvar_rpc_kv_drop_partition_put_counter;
424
extern mBvarInt64Adder g_bvar_rpc_kv_check_kv_get_counter;
425
extern mBvarInt64Adder g_bvar_rpc_kv_get_obj_store_info_get_counter;
426
extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_get_counter;
427
extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_put_counter;
428
extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_del_counter;
429
extern mBvarInt64Adder g_bvar_rpc_kv_alter_obj_store_info_get_counter;
430
extern mBvarInt64Adder g_bvar_rpc_kv_alter_obj_store_info_put_counter;
431
extern mBvarInt64Adder g_bvar_rpc_kv_update_ak_sk_get_counter;
432
extern mBvarInt64Adder g_bvar_rpc_kv_update_ak_sk_put_counter;
433
extern mBvarInt64Adder g_bvar_rpc_kv_create_instance_get_counter;
434
extern mBvarInt64Adder g_bvar_rpc_kv_create_instance_put_counter;
435
extern mBvarInt64Adder g_bvar_rpc_kv_get_instance_get_counter;
436
extern mBvarInt64Adder g_bvar_rpc_kv_alter_cluster_get_counter;
437
extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_get_counter;
438
extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_put_counter;
439
extern mBvarInt64Adder g_bvar_rpc_kv_create_stage_get_counter;
440
extern mBvarInt64Adder g_bvar_rpc_kv_create_stage_put_counter;
441
extern mBvarInt64Adder g_bvar_rpc_kv_get_stage_get_counter;
442
extern mBvarInt64Adder g_bvar_rpc_kv_get_iam_get_counter;
443
extern mBvarInt64Adder g_bvar_rpc_kv_alter_iam_get_counter;
444
extern mBvarInt64Adder g_bvar_rpc_kv_alter_iam_put_counter;
445
extern mBvarInt64Adder g_bvar_rpc_kv_alter_ram_user_get_counter;
446
extern mBvarInt64Adder g_bvar_rpc_kv_alter_ram_user_put_counter;
447
extern mBvarInt64Adder g_bvar_rpc_kv_begin_copy_get_counter;
448
extern mBvarInt64Adder g_bvar_rpc_kv_begin_copy_put_counter;
449
extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_get_counter;
450
extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_put_counter;
451
extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_del_counter;
452
extern mBvarInt64Adder g_bvar_rpc_kv_get_copy_job_get_counter;
453
extern mBvarInt64Adder g_bvar_rpc_kv_get_copy_files_get_counter;
454
extern mBvarInt64Adder g_bvar_rpc_kv_filter_copy_files_get_counter;
455
extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_status_get_counter;
456
extern mBvarInt64Adder g_bvar_rpc_kv_begin_txn_get_counter;
457
extern mBvarInt64Adder g_bvar_rpc_kv_begin_txn_put_counter;
458
extern mBvarInt64Adder g_bvar_rpc_kv_precommit_txn_get_counter;
459
extern mBvarInt64Adder g_bvar_rpc_kv_precommit_txn_put_counter;
460
extern mBvarInt64Adder g_bvar_rpc_kv_get_rl_task_commit_attach_get_counter;
461
extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_get_counter;
462
extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_put_counter;
463
extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_del_counter;
464
extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_get_counter;
465
extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_put_counter;
466
extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_del_counter;
467
extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_get_counter;
468
extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_put_counter;
469
extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_del_counter;
470
extern mBvarInt64Adder g_bvar_rpc_kv_get_txn_get_counter;
471
extern mBvarInt64Adder g_bvar_rpc_kv_get_current_max_txn_id_get_counter;
472
extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_get_counter;
473
extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_put_counter;
474
extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_del_counter;
475
extern mBvarInt64Adder g_bvar_rpc_kv_abort_sub_txn_get_counter;
476
extern mBvarInt64Adder g_bvar_rpc_kv_abort_sub_txn_put_counter;
477
extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_with_coordinator_get_counter;
478
extern mBvarInt64Adder g_bvar_rpc_kv_check_txn_conflict_get_counter;
479
extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_get_counter;
480
extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_put_counter;
481
extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_del_counter;
482
extern mBvarInt64Adder g_bvar_rpc_kv_get_txn_id_get_counter;
483
484
extern mBvarInt64Adder g_bvar_rpc_kv_get_rowset_get_bytes;
485
extern mBvarInt64Adder g_bvar_rpc_kv_get_version_get_bytes;
486
extern mBvarInt64Adder g_bvar_rpc_kv_get_schema_dict_get_bytes;
487
extern mBvarInt64Adder g_bvar_rpc_kv_create_tablets_get_bytes;
488
extern mBvarInt64Adder g_bvar_rpc_kv_create_tablets_put_bytes;
489
extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_get_bytes;
490
extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_put_bytes;
491
extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_schema_get_bytes;
492
extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_schema_put_bytes;
493
extern mBvarInt64Adder g_bvar_rpc_kv_get_tablet_get_bytes;
494
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_rowset_get_bytes;
495
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_rowset_put_bytes;
496
extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_get_bytes;
497
extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_put_bytes;
498
extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_del_bytes;
499
extern mBvarInt64Adder g_bvar_rpc_kv_update_tmp_rowset_get_bytes;
500
extern mBvarInt64Adder g_bvar_rpc_kv_update_tmp_rowset_put_bytes;
501
extern mBvarInt64Adder g_bvar_rpc_kv_get_tablet_stats_get_bytes;
502
extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_get_bytes;
503
extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_put_bytes;
504
extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_del_bytes;
505
extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_get_bytes;
506
extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_get_bytes;
507
extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_put_bytes;
508
extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_del_bytes;
509
extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_get_bytes;
510
extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_put_bytes;
511
extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_del_bytes;
512
extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_del_bytes;
513
extern mBvarInt64Adder g_bvar_rpc_kv_start_tablet_job_get_bytes;
514
extern mBvarInt64Adder g_bvar_rpc_kv_start_tablet_job_put_bytes;
515
extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_get_bytes;
516
extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_put_bytes;
517
extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_del_bytes;
518
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_index_get_bytes;
519
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_index_put_bytes;
520
extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_get_bytes;
521
extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_put_bytes;
522
extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_del_bytes;
523
extern mBvarInt64Adder g_bvar_rpc_kv_drop_index_get_bytes;
524
extern mBvarInt64Adder g_bvar_rpc_kv_drop_index_put_bytes;
525
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_partition_get_bytes;
526
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_partition_put_bytes;
527
extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_get_bytes;
528
extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_put_bytes;
529
extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_del_bytes;
530
extern mBvarInt64Adder g_bvar_rpc_kv_drop_partition_get_bytes;
531
extern mBvarInt64Adder g_bvar_rpc_kv_drop_partition_put_bytes;
532
extern mBvarInt64Adder g_bvar_rpc_kv_check_kv_get_bytes;
533
extern mBvarInt64Adder g_bvar_rpc_kv_get_obj_store_info_get_bytes;
534
extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_get_bytes;
535
extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_put_bytes;
536
extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_del_bytes;
537
extern mBvarInt64Adder g_bvar_rpc_kv_alter_obj_store_info_get_bytes;
538
extern mBvarInt64Adder g_bvar_rpc_kv_alter_obj_store_info_put_bytes;
539
extern mBvarInt64Adder g_bvar_rpc_kv_update_ak_sk_get_bytes;
540
extern mBvarInt64Adder g_bvar_rpc_kv_update_ak_sk_put_bytes;
541
extern mBvarInt64Adder g_bvar_rpc_kv_create_instance_get_bytes;
542
extern mBvarInt64Adder g_bvar_rpc_kv_create_instance_put_bytes;
543
extern mBvarInt64Adder g_bvar_rpc_kv_get_instance_get_bytes;
544
extern mBvarInt64Adder g_bvar_rpc_kv_alter_cluster_get_bytes;
545
extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_get_bytes;
546
extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_put_bytes;
547
extern mBvarInt64Adder g_bvar_rpc_kv_create_stage_get_bytes;
548
extern mBvarInt64Adder g_bvar_rpc_kv_create_stage_put_bytes;
549
extern mBvarInt64Adder g_bvar_rpc_kv_get_stage_get_bytes;
550
extern mBvarInt64Adder g_bvar_rpc_kv_get_iam_get_bytes;
551
extern mBvarInt64Adder g_bvar_rpc_kv_alter_iam_get_bytes;
552
extern mBvarInt64Adder g_bvar_rpc_kv_alter_iam_put_bytes;
553
extern mBvarInt64Adder g_bvar_rpc_kv_alter_ram_user_get_bytes;
554
extern mBvarInt64Adder g_bvar_rpc_kv_alter_ram_user_put_bytes;
555
extern mBvarInt64Adder g_bvar_rpc_kv_begin_copy_get_bytes;
556
extern mBvarInt64Adder g_bvar_rpc_kv_begin_copy_put_bytes;
557
extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_get_bytes;
558
extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_put_bytes;
559
extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_del_bytes;
560
extern mBvarInt64Adder g_bvar_rpc_kv_get_copy_job_get_bytes;
561
extern mBvarInt64Adder g_bvar_rpc_kv_get_copy_files_get_bytes;
562
extern mBvarInt64Adder g_bvar_rpc_kv_filter_copy_files_get_bytes;
563
extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_status_get_bytes;
564
extern mBvarInt64Adder g_bvar_rpc_kv_begin_txn_get_bytes;
565
extern mBvarInt64Adder g_bvar_rpc_kv_begin_txn_put_bytes;
566
extern mBvarInt64Adder g_bvar_rpc_kv_precommit_txn_get_bytes;
567
extern mBvarInt64Adder g_bvar_rpc_kv_precommit_txn_put_bytes;
568
extern mBvarInt64Adder g_bvar_rpc_kv_get_rl_task_commit_attach_get_bytes;
569
extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_get_bytes;
570
extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_put_bytes;
571
extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_del_bytes;
572
extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_get_bytes;
573
extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_put_bytes;
574
extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_del_bytes;
575
extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_get_bytes;
576
extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_put_bytes;
577
extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_del_bytes;
578
extern mBvarInt64Adder g_bvar_rpc_kv_get_txn_get_bytes;
579
extern mBvarInt64Adder g_bvar_rpc_kv_get_current_max_txn_id_get_bytes;
580
extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_get_bytes;
581
extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_put_bytes;
582
extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_del_bytes;
583
extern mBvarInt64Adder g_bvar_rpc_kv_abort_sub_txn_get_bytes;
584
extern mBvarInt64Adder g_bvar_rpc_kv_abort_sub_txn_put_bytes;
585
extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_with_coordinator_get_bytes;
586
extern mBvarInt64Adder g_bvar_rpc_kv_check_txn_conflict_get_bytes;
587
extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_get_bytes;
588
extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_put_bytes;
589
extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_del_bytes;
590
extern mBvarInt64Adder g_bvar_rpc_kv_get_txn_id_get_bytes;
591
592
// meta ranges
593
extern mBvarStatus<int64_t> g_bvar_fdb_kv_ranges_count;