Coverage Report

Created: 2025-07-30 12:10

/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.38k
            : module_(std::move(module)), name_(std::move(name)) {}
_ZN11BvarWithTagIN4bvar15LatencyRecorderELb0EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_
Line
Count
Source
45
1.84k
            : module_(std::move(module)), name_(std::move(name)) {}
_ZN11BvarWithTagIN4bvar6StatusIlvEELb1EEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_
Line
Count
Source
45
532
            : module_(std::move(module)), name_(std::move(name)) {}
46
47
    template <typename ValType>
48
        requires std::is_integral_v<ValType>
49
13.8k
    void put(const std::string& tag, ValType value) {
50
13.8k
        std::shared_ptr<Bvar> instance = nullptr;
51
13.8k
        {
52
13.8k
            std::lock_guard<bthread::Mutex> l(mutex_);
53
13.8k
            auto it = bvar_map_.find(tag);
54
13.8k
            if (it == bvar_map_.end()) {
55
1.01k
                instance = std::make_shared<Bvar>(module_, name_ + "_" + tag, ValType());
56
1.01k
                bvar_map_[tag] = instance;
57
12.8k
            } else {
58
12.8k
                instance = it->second;
59
12.8k
            }
60
13.8k
        }
61
        // FIXME(gavin): check bvar::Adder and more
62
13.8k
        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.8k
            static_assert(!sizeof(Bvar), "all types must be matched with if constexpr");
71
13.8k
        }
72
13.8k
    }
_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.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
937
                instance = std::make_shared<Bvar>(module_, name_ + "_" + tag, ValType());
56
937
                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
13.7k
            (*instance) << value;
64
13.7k
        } else if constexpr (is_status) {
65
13.7k
            instance->set_value(value);
66
13.7k
        } 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
    }
73
74
654
    std::shared_ptr<Bvar> get(const std::string& tag) {
75
654
        std::shared_ptr<Bvar> instance = nullptr;
76
654
        std::lock_guard<bthread::Mutex> l(mutex_);
77
78
654
        auto it = bvar_map_.find(tag);
79
654
        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
653
        return it->second;
85
654
    }
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
116k
                stats->set_value(value);
163
116k
            } else {
164
116k
                *stats << value;
165
116k
            }
166
141k
        }
167
141k
    }
_ZN12mBvarWrapperIN4bvar5AdderIlEEE3putIlEEvRKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_
Line
Count
Source
158
67.3k
    void put(const std::initializer_list<std::string>& dim_values, ValType value) {
159
67.3k
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
160
67.3k
        if (stats) {
161
67.3k
            if constexpr (is_bvar_status<BvarType>::value) {
162
67.3k
                stats->set_value(value);
163
67.3k
            } else {
164
67.3k
                *stats << value;
165
67.3k
            }
166
67.3k
        }
167
67.3k
    }
_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.6k
    void put(const std::initializer_list<std::string>& dim_values, ValType value) {
159
24.6k
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
160
24.6k
        if (stats) {
161
24.6k
            if constexpr (is_bvar_status<BvarType>::value) {
162
24.6k
                stats->set_value(value);
163
24.6k
            } else {
164
24.6k
                *stats << value;
165
24.6k
            }
166
24.6k
        }
167
24.6k
    }
_ZN12mBvarWrapperIN4bvar6StatusIdvEEE3putIdEEvRKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_
Line
Count
Source
158
426
    void put(const std::initializer_list<std::string>& dim_values, ValType value) {
159
426
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
160
426
        if (stats) {
161
426
            if constexpr (is_bvar_status<BvarType>::value) {
162
426
                stats->set_value(value);
163
426
            } else {
164
426
                *stats << value;
165
426
            }
166
426
        }
167
426
    }
Unexecuted instantiation: _ZN12mBvarWrapperIN4bvar6StatusIlvEEE3putImEEvRKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_
_ZN12mBvarWrapperIN4bvar5AdderIiEEE3putIiEEvRKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_
Line
Count
Source
158
843
    void put(const std::initializer_list<std::string>& dim_values, ValType value) {
159
843
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
160
843
        if (stats) {
161
843
            if constexpr (is_bvar_status<BvarType>::value) {
162
843
                stats->set_value(value);
163
843
            } else {
164
843
                *stats << value;
165
843
            }
166
843
        }
167
843
    }
_ZN12mBvarWrapperIN4bvar6StatusIdvEEE3putIiEEvRKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_
Line
Count
Source
158
321
    void put(const std::initializer_list<std::string>& dim_values, ValType value) {
159
321
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
160
321
        if (stats) {
161
321
            if constexpr (is_bvar_status<BvarType>::value) {
162
321
                stats->set_value(value);
163
321
            } else {
164
321
                *stats << value;
165
321
            }
166
321
        }
167
321
    }
_ZN12mBvarWrapperIN4bvar5AdderIiEEE3putIlEEvRKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_
Line
Count
Source
158
48.1k
    void put(const std::initializer_list<std::string>& dim_values, ValType value) {
159
48.1k
        BvarType* stats = counter_.get_stats(std::list<std::string>(dim_values));
160
48.1k
        if (stats) {
161
48.1k
            if constexpr (is_bvar_status<BvarType>::value) {
162
48.1k
                stats->set_value(value);
163
48.1k
            } else {
164
48.1k
                *stats << value;
165
48.1k
            }
166
48.1k
        }
167
48.1k
    }
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_prepare_restore_job;
222
extern BvarLatencyRecorderWithTag g_bvar_ms_commit_restore_job;
223
extern BvarLatencyRecorderWithTag g_bvar_ms_finish_restore_job;
224
extern BvarLatencyRecorderWithTag g_bvar_ms_get_tablet_stats;
225
extern BvarLatencyRecorderWithTag g_bvar_ms_get_obj_store_info;
226
extern BvarLatencyRecorderWithTag g_bvar_ms_alter_obj_store_info;
227
extern BvarLatencyRecorderWithTag g_bvar_ms_alter_storage_vault;
228
extern BvarLatencyRecorderWithTag g_bvar_ms_create_instance;
229
extern BvarLatencyRecorderWithTag g_bvar_ms_alter_instance;
230
extern BvarLatencyRecorderWithTag g_bvar_ms_alter_cluster;
231
extern BvarLatencyRecorderWithTag g_bvar_ms_get_cluster;
232
extern BvarLatencyRecorderWithTag g_bvar_ms_create_stage;
233
extern BvarLatencyRecorderWithTag g_bvar_ms_get_stage;
234
extern BvarLatencyRecorderWithTag g_bvar_ms_drop_stage;
235
extern BvarLatencyRecorderWithTag g_bvar_ms_get_iam;
236
extern BvarLatencyRecorderWithTag g_bvar_ms_update_ak_sk;
237
extern BvarLatencyRecorderWithTag g_bvar_ms_alter_iam;
238
extern BvarLatencyRecorderWithTag g_bvar_ms_alter_ram_user;
239
extern BvarLatencyRecorderWithTag g_bvar_ms_begin_copy;
240
extern BvarLatencyRecorderWithTag g_bvar_ms_finish_copy;
241
extern BvarLatencyRecorderWithTag g_bvar_ms_get_copy_job;
242
extern BvarLatencyRecorderWithTag g_bvar_ms_get_copy_files;
243
extern BvarLatencyRecorderWithTag g_bvar_ms_filter_copy_files;
244
extern BvarLatencyRecorderWithTag g_bvar_ms_start_tablet_job;
245
extern BvarLatencyRecorderWithTag g_bvar_ms_finish_tablet_job;
246
extern BvarLatencyRecorderWithTag g_bvar_ms_update_delete_bitmap;
247
extern BvarLatencyRecorderWithTag g_bvar_ms_get_delete_bitmap;
248
extern BvarLatencyRecorderWithTag g_bvar_ms_get_delete_bitmap_update_lock;
249
extern BvarLatencyRecorderWithTag g_bvar_ms_remove_delete_bitmap;
250
extern BvarLatencyRecorderWithTag g_bvar_ms_remove_delete_bitmap_update_lock;
251
extern BvarLatencyRecorderWithTag g_bvar_ms_get_cluster_status;
252
extern BvarLatencyRecorderWithTag g_bvar_ms_set_cluster_status;
253
extern BvarLatencyRecorderWithTag g_bvar_ms_get_instance;
254
extern BvarLatencyRecorderWithTag g_bvar_ms_get_rl_task_commit_attach;
255
extern BvarLatencyRecorderWithTag g_bvar_ms_reset_rl_progress;
256
extern BvarLatencyRecorderWithTag g_bvar_ms_get_txn_id;
257
extern BvarLatencyRecorderWithTag g_bvar_ms_check_kv;
258
extern BvarLatencyRecorderWithTag g_bvar_ms_get_schema_dict;
259
extern bvar::Adder<int64_t> g_bvar_update_delete_bitmap_fail_counter;
260
extern bvar::Adder<int64_t> g_bvar_get_delete_bitmap_fail_counter;
261
262
// recycler's bvars
263
extern BvarStatusWithTag<int64_t> g_bvar_recycler_recycle_index_earlest_ts;
264
extern BvarStatusWithTag<int64_t> g_bvar_recycler_recycle_partition_earlest_ts;
265
extern BvarStatusWithTag<int64_t> g_bvar_recycler_recycle_rowset_earlest_ts;
266
extern BvarStatusWithTag<int64_t> g_bvar_recycler_recycle_tmp_rowset_earlest_ts;
267
extern BvarStatusWithTag<int64_t> g_bvar_recycler_recycle_expired_txn_label_earlest_ts;
268
extern BvarStatusWithTag<int64_t> g_bvar_recycler_recycle_restore_job_earlest_ts;
269
270
// recycler's mbvars
271
extern bvar::Status<int64_t> g_bvar_recycler_task_max_concurrency;
272
extern bvar::Adder<int64_t> g_bvar_recycler_instance_recycle_task_concurrency;
273
extern bvar::Adder<int64_t> g_bvar_recycler_instance_running_counter;
274
extern mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_recycle_duration;
275
extern mBvarStatus<int64_t> g_bvar_recycler_instance_next_ts;
276
extern mBvarStatus<int64_t> g_bvar_recycler_instance_recycle_start_ts;
277
extern mBvarStatus<int64_t> g_bvar_recycler_instance_recycle_end_ts;
278
extern mBvarStatus<int64_t> g_bvar_recycler_instance_recycle_last_success_ts;
279
280
extern mBvarIntAdder g_bvar_recycler_vault_recycle_status;
281
extern mBvarIntAdder g_bvar_recycler_vault_recycle_task_concurrency;
282
extern mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_recycled_num;
283
extern mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_to_recycle_num;
284
extern mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_recycled_bytes;
285
extern mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_to_recycle_bytes;
286
extern mBvarStatus<double> g_bvar_recycler_instance_last_round_recycle_elpased_ts;
287
extern mBvarIntAdder g_bvar_recycler_instance_recycle_total_num_since_started;
288
extern mBvarIntAdder g_bvar_recycler_instance_recycle_total_bytes_since_started;
289
extern mBvarIntAdder g_bvar_recycler_instance_recycle_round;
290
extern mBvarStatus<double> g_bvar_recycler_instance_recycle_time_per_resource;
291
extern mBvarStatus<double> g_bvar_recycler_instance_recycle_bytes_per_ms;
292
293
// txn_kv's bvars
294
extern bvar::LatencyRecorder g_bvar_txn_kv_get;
295
extern bvar::LatencyRecorder g_bvar_txn_kv_range_get;
296
extern bvar::LatencyRecorder g_bvar_txn_kv_put;
297
extern bvar::LatencyRecorder g_bvar_txn_kv_commit;
298
extern bvar::LatencyRecorder g_bvar_txn_kv_atomic_set_ver_key;
299
extern bvar::LatencyRecorder g_bvar_txn_kv_atomic_set_ver_value;
300
extern bvar::LatencyRecorder g_bvar_txn_kv_atomic_add;
301
extern bvar::LatencyRecorder g_bvar_txn_kv_remove;
302
extern bvar::LatencyRecorder g_bvar_txn_kv_range_remove;
303
extern bvar::LatencyRecorder g_bvar_txn_kv_get_read_version;
304
extern bvar::LatencyRecorder g_bvar_txn_kv_get_committed_version;
305
extern bvar::LatencyRecorder g_bvar_txn_kv_batch_get;
306
307
extern bvar::Adder<int64_t> g_bvar_txn_kv_commit_error_counter;
308
extern bvar::Adder<int64_t> g_bvar_txn_kv_commit_conflict_counter;
309
extern bvar::Adder<int64_t> g_bvar_txn_kv_get_count_normalized;
310
311
extern bvar::Adder<int64_t> g_bvar_delete_bitmap_lock_txn_put_conflict_counter;
312
extern bvar::Adder<int64_t> g_bvar_delete_bitmap_lock_txn_remove_conflict_by_fail_counter;
313
extern bvar::Adder<int64_t> g_bvar_delete_bitmap_lock_txn_remove_conflict_by_load_counter;
314
extern bvar::Adder<int64_t>
315
        g_bvar_delete_bitmap_lock_txn_remove_conflict_by_compaction_commit_counter;
316
extern bvar::Adder<int64_t>
317
        g_bvar_delete_bitmap_lock_txn_remove_conflict_by_compaction_lease_counter;
318
extern bvar::Adder<int64_t>
319
        g_bvar_delete_bitmap_lock_txn_remove_conflict_by_compaction_abort_counter;
320
321
extern const int64_t BVAR_FDB_INVALID_VALUE;
322
extern bvar::Status<int64_t> g_bvar_fdb_client_count;
323
extern bvar::Status<int64_t> g_bvar_fdb_configuration_coordinators_count;
324
extern bvar::Status<int64_t> g_bvar_fdb_configuration_usable_regions;
325
extern bvar::Status<int64_t> g_bvar_fdb_coordinators_unreachable_count;
326
extern bvar::Status<int64_t> g_bvar_fdb_fault_tolerance_count;
327
extern bvar::Status<int64_t> g_bvar_fdb_data_average_partition_size_bytes;
328
extern bvar::Status<int64_t> g_bvar_fdb_data_log_server_space_bytes;
329
extern bvar::Status<int64_t> g_bvar_fdb_data_moving_data_highest_priority;
330
extern bvar::Status<int64_t> g_bvar_fdb_data_moving_data_in_flight_bytes;
331
extern bvar::Status<int64_t> g_bvar_fdb_data_moving_data_in_queue_bytes;
332
extern bvar::Status<int64_t> g_bvar_fdb_data_moving_total_written_bytes;
333
extern bvar::Status<int64_t> g_bvar_fdb_data_partition_count;
334
extern bvar::Status<int64_t> g_bvar_fdb_data_storage_server_space_bytes;
335
extern bvar::Status<int64_t> g_bvar_fdb_data_state_min_replicas_remaining;
336
extern bvar::Status<int64_t> g_bvar_fdb_data_total_kv_size_bytes;
337
extern bvar::Status<int64_t> g_bvar_fdb_data_total_disk_used_bytes;
338
extern bvar::Status<int64_t> g_bvar_fdb_generation;
339
extern bvar::Status<int64_t> g_bvar_fdb_incompatible_connections;
340
extern bvar::Status<int64_t> g_bvar_fdb_latency_probe_transaction_start_ns;
341
extern bvar::Status<int64_t> g_bvar_fdb_latency_probe_commit_ns;
342
extern bvar::Status<int64_t> g_bvar_fdb_latency_probe_read_ns;
343
extern bvar::Status<int64_t> g_bvar_fdb_machines_count;
344
extern bvar::Status<int64_t> g_bvar_fdb_process_count;
345
extern bvar::Status<int64_t> g_bvar_fdb_qos_worst_data_lag_storage_server_ns;
346
extern bvar::Status<int64_t> g_bvar_fdb_qos_worst_durability_lag_storage_server_ns;
347
extern bvar::Status<int64_t> g_bvar_fdb_qos_worst_log_server_queue_bytes;
348
extern bvar::Status<int64_t> g_bvar_fdb_qos_worst_storage_server_queue_bytes;
349
extern bvar::Status<int64_t> g_bvar_fdb_workload_conflict_rate_hz;
350
extern bvar::Status<int64_t> g_bvar_fdb_workload_location_rate_hz;
351
extern bvar::Status<int64_t> g_bvar_fdb_workload_keys_read_hz;
352
extern bvar::Status<int64_t> g_bvar_fdb_workload_read_bytes_hz;
353
extern bvar::Status<int64_t> g_bvar_fdb_workload_read_rate_hz;
354
extern bvar::Status<int64_t> g_bvar_fdb_workload_write_rate_hz;
355
extern bvar::Status<int64_t> g_bvar_fdb_workload_written_bytes_hz;
356
extern bvar::Status<int64_t> g_bvar_fdb_workload_transactions_started_hz;
357
extern bvar::Status<int64_t> g_bvar_fdb_workload_transactions_committed_hz;
358
extern bvar::Status<int64_t> g_bvar_fdb_workload_transactions_rejected_hz;
359
extern bvar::Status<int64_t> g_bvar_fdb_client_thread_busyness_percent;
360
extern mBvarStatus<int64_t> g_bvar_fdb_process_status_int;
361
extern mBvarStatus<double> g_bvar_fdb_process_status_float;
362
363
// checker
364
extern BvarStatusWithTag<long> g_bvar_checker_num_scanned;
365
extern BvarStatusWithTag<long> g_bvar_checker_num_scanned_with_segment;
366
extern BvarStatusWithTag<long> g_bvar_checker_num_check_failed;
367
extern BvarStatusWithTag<long> g_bvar_checker_check_cost_s;
368
extern BvarStatusWithTag<long> g_bvar_checker_enqueue_cost_s;
369
extern BvarStatusWithTag<long> g_bvar_checker_last_success_time_ms;
370
extern BvarStatusWithTag<long> g_bvar_checker_instance_volume;
371
extern BvarStatusWithTag<long> g_bvar_inverted_checker_num_scanned;
372
extern BvarStatusWithTag<long> g_bvar_inverted_checker_num_check_failed;
373
374
extern BvarStatusWithTag<int64_t> g_bvar_inverted_checker_leaked_delete_bitmaps;
375
extern BvarStatusWithTag<int64_t> g_bvar_inverted_checker_abnormal_delete_bitmaps;
376
extern BvarStatusWithTag<int64_t> g_bvar_inverted_checker_delete_bitmaps_scanned;
377
extern BvarStatusWithTag<int64_t> g_bvar_max_rowsets_with_useless_delete_bitmap_version;
378
379
// rpc kv
380
extern mBvarInt64Adder g_bvar_rpc_kv_get_rowset_get_counter;
381
extern mBvarInt64Adder g_bvar_rpc_kv_get_version_get_counter;
382
extern mBvarInt64Adder g_bvar_rpc_kv_get_schema_dict_get_counter;
383
extern mBvarInt64Adder g_bvar_rpc_kv_create_tablets_get_counter;
384
extern mBvarInt64Adder g_bvar_rpc_kv_create_tablets_put_counter;
385
extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_get_counter;
386
extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_put_counter;
387
extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_schema_get_counter;
388
extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_schema_put_counter;
389
extern mBvarInt64Adder g_bvar_rpc_kv_get_tablet_get_counter;
390
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_rowset_get_counter;
391
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_rowset_put_counter;
392
extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_get_counter;
393
extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_put_counter;
394
extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_del_counter;
395
extern mBvarInt64Adder g_bvar_rpc_kv_update_tmp_rowset_get_counter;
396
extern mBvarInt64Adder g_bvar_rpc_kv_update_tmp_rowset_put_counter;
397
extern mBvarInt64Adder g_bvar_rpc_kv_get_tablet_stats_get_counter;
398
extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_get_counter;
399
extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_put_counter;
400
extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_del_counter;
401
extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_get_counter;
402
extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_get_counter;
403
extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_put_counter;
404
extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_del_counter;
405
extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_get_counter;
406
extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_put_counter;
407
extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_del_counter;
408
extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_del_counter;
409
extern mBvarInt64Adder g_bvar_rpc_kv_start_tablet_job_get_counter;
410
extern mBvarInt64Adder g_bvar_rpc_kv_start_tablet_job_put_counter;
411
extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_get_counter;
412
extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_put_counter;
413
extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_del_counter;
414
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_index_get_counter;
415
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_index_put_counter;
416
extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_get_counter;
417
extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_put_counter;
418
extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_del_counter;
419
extern mBvarInt64Adder g_bvar_rpc_kv_drop_index_get_counter;
420
extern mBvarInt64Adder g_bvar_rpc_kv_drop_index_put_counter;
421
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_partition_get_counter;
422
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_partition_put_counter;
423
extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_get_counter;
424
extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_put_counter;
425
extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_del_counter;
426
extern mBvarInt64Adder g_bvar_rpc_kv_drop_partition_get_counter;
427
extern mBvarInt64Adder g_bvar_rpc_kv_drop_partition_put_counter;
428
extern mBvarInt64Adder g_bvar_rpc_kv_check_kv_get_counter;
429
extern mBvarInt64Adder g_bvar_rpc_kv_get_obj_store_info_get_counter;
430
extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_get_counter;
431
extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_put_counter;
432
extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_del_counter;
433
extern mBvarInt64Adder g_bvar_rpc_kv_alter_obj_store_info_get_counter;
434
extern mBvarInt64Adder g_bvar_rpc_kv_alter_obj_store_info_put_counter;
435
extern mBvarInt64Adder g_bvar_rpc_kv_update_ak_sk_get_counter;
436
extern mBvarInt64Adder g_bvar_rpc_kv_update_ak_sk_put_counter;
437
extern mBvarInt64Adder g_bvar_rpc_kv_create_instance_get_counter;
438
extern mBvarInt64Adder g_bvar_rpc_kv_create_instance_put_counter;
439
extern mBvarInt64Adder g_bvar_rpc_kv_get_instance_get_counter;
440
extern mBvarInt64Adder g_bvar_rpc_kv_alter_cluster_get_counter;
441
extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_get_counter;
442
extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_put_counter;
443
extern mBvarInt64Adder g_bvar_rpc_kv_create_stage_get_counter;
444
extern mBvarInt64Adder g_bvar_rpc_kv_create_stage_put_counter;
445
extern mBvarInt64Adder g_bvar_rpc_kv_get_stage_get_counter;
446
extern mBvarInt64Adder g_bvar_rpc_kv_get_iam_get_counter;
447
extern mBvarInt64Adder g_bvar_rpc_kv_alter_iam_get_counter;
448
extern mBvarInt64Adder g_bvar_rpc_kv_alter_iam_put_counter;
449
extern mBvarInt64Adder g_bvar_rpc_kv_alter_ram_user_get_counter;
450
extern mBvarInt64Adder g_bvar_rpc_kv_alter_ram_user_put_counter;
451
extern mBvarInt64Adder g_bvar_rpc_kv_begin_copy_get_counter;
452
extern mBvarInt64Adder g_bvar_rpc_kv_begin_copy_put_counter;
453
extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_get_counter;
454
extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_put_counter;
455
extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_del_counter;
456
extern mBvarInt64Adder g_bvar_rpc_kv_get_copy_job_get_counter;
457
extern mBvarInt64Adder g_bvar_rpc_kv_get_copy_files_get_counter;
458
extern mBvarInt64Adder g_bvar_rpc_kv_filter_copy_files_get_counter;
459
extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_status_get_counter;
460
extern mBvarInt64Adder g_bvar_rpc_kv_begin_txn_get_counter;
461
extern mBvarInt64Adder g_bvar_rpc_kv_begin_txn_put_counter;
462
extern mBvarInt64Adder g_bvar_rpc_kv_precommit_txn_get_counter;
463
extern mBvarInt64Adder g_bvar_rpc_kv_precommit_txn_put_counter;
464
extern mBvarInt64Adder g_bvar_rpc_kv_get_rl_task_commit_attach_get_counter;
465
extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_get_counter;
466
extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_put_counter;
467
extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_del_counter;
468
extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_get_counter;
469
extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_put_counter;
470
extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_del_counter;
471
extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_get_counter;
472
extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_put_counter;
473
extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_del_counter;
474
extern mBvarInt64Adder g_bvar_rpc_kv_get_txn_get_counter;
475
extern mBvarInt64Adder g_bvar_rpc_kv_get_current_max_txn_id_get_counter;
476
extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_get_counter;
477
extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_put_counter;
478
extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_del_counter;
479
extern mBvarInt64Adder g_bvar_rpc_kv_abort_sub_txn_get_counter;
480
extern mBvarInt64Adder g_bvar_rpc_kv_abort_sub_txn_put_counter;
481
extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_with_coordinator_get_counter;
482
extern mBvarInt64Adder g_bvar_rpc_kv_check_txn_conflict_get_counter;
483
extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_get_counter;
484
extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_put_counter;
485
extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_del_counter;
486
extern mBvarInt64Adder g_bvar_rpc_kv_get_txn_id_get_counter;
487
488
extern mBvarInt64Adder g_bvar_rpc_kv_get_rowset_get_bytes;
489
extern mBvarInt64Adder g_bvar_rpc_kv_get_version_get_bytes;
490
extern mBvarInt64Adder g_bvar_rpc_kv_get_schema_dict_get_bytes;
491
extern mBvarInt64Adder g_bvar_rpc_kv_create_tablets_get_bytes;
492
extern mBvarInt64Adder g_bvar_rpc_kv_create_tablets_put_bytes;
493
extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_get_bytes;
494
extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_put_bytes;
495
extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_schema_get_bytes;
496
extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_schema_put_bytes;
497
extern mBvarInt64Adder g_bvar_rpc_kv_get_tablet_get_bytes;
498
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_rowset_get_bytes;
499
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_rowset_put_bytes;
500
extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_get_bytes;
501
extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_put_bytes;
502
extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_del_bytes;
503
extern mBvarInt64Adder g_bvar_rpc_kv_update_tmp_rowset_get_bytes;
504
extern mBvarInt64Adder g_bvar_rpc_kv_update_tmp_rowset_put_bytes;
505
extern mBvarInt64Adder g_bvar_rpc_kv_get_tablet_stats_get_bytes;
506
extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_get_bytes;
507
extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_put_bytes;
508
extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_del_bytes;
509
extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_get_bytes;
510
extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_get_bytes;
511
extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_put_bytes;
512
extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_del_bytes;
513
extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_get_bytes;
514
extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_put_bytes;
515
extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_del_bytes;
516
extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_del_bytes;
517
extern mBvarInt64Adder g_bvar_rpc_kv_start_tablet_job_get_bytes;
518
extern mBvarInt64Adder g_bvar_rpc_kv_start_tablet_job_put_bytes;
519
extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_get_bytes;
520
extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_put_bytes;
521
extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_del_bytes;
522
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_index_get_bytes;
523
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_index_put_bytes;
524
extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_get_bytes;
525
extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_put_bytes;
526
extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_del_bytes;
527
extern mBvarInt64Adder g_bvar_rpc_kv_drop_index_get_bytes;
528
extern mBvarInt64Adder g_bvar_rpc_kv_drop_index_put_bytes;
529
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_partition_get_bytes;
530
extern mBvarInt64Adder g_bvar_rpc_kv_prepare_partition_put_bytes;
531
extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_get_bytes;
532
extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_put_bytes;
533
extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_del_bytes;
534
extern mBvarInt64Adder g_bvar_rpc_kv_drop_partition_get_bytes;
535
extern mBvarInt64Adder g_bvar_rpc_kv_drop_partition_put_bytes;
536
extern mBvarInt64Adder g_bvar_rpc_kv_check_kv_get_bytes;
537
extern mBvarInt64Adder g_bvar_rpc_kv_get_obj_store_info_get_bytes;
538
extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_get_bytes;
539
extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_put_bytes;
540
extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_del_bytes;
541
extern mBvarInt64Adder g_bvar_rpc_kv_alter_obj_store_info_get_bytes;
542
extern mBvarInt64Adder g_bvar_rpc_kv_alter_obj_store_info_put_bytes;
543
extern mBvarInt64Adder g_bvar_rpc_kv_update_ak_sk_get_bytes;
544
extern mBvarInt64Adder g_bvar_rpc_kv_update_ak_sk_put_bytes;
545
extern mBvarInt64Adder g_bvar_rpc_kv_create_instance_get_bytes;
546
extern mBvarInt64Adder g_bvar_rpc_kv_create_instance_put_bytes;
547
extern mBvarInt64Adder g_bvar_rpc_kv_get_instance_get_bytes;
548
extern mBvarInt64Adder g_bvar_rpc_kv_alter_cluster_get_bytes;
549
extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_get_bytes;
550
extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_put_bytes;
551
extern mBvarInt64Adder g_bvar_rpc_kv_create_stage_get_bytes;
552
extern mBvarInt64Adder g_bvar_rpc_kv_create_stage_put_bytes;
553
extern mBvarInt64Adder g_bvar_rpc_kv_get_stage_get_bytes;
554
extern mBvarInt64Adder g_bvar_rpc_kv_get_iam_get_bytes;
555
extern mBvarInt64Adder g_bvar_rpc_kv_alter_iam_get_bytes;
556
extern mBvarInt64Adder g_bvar_rpc_kv_alter_iam_put_bytes;
557
extern mBvarInt64Adder g_bvar_rpc_kv_alter_ram_user_get_bytes;
558
extern mBvarInt64Adder g_bvar_rpc_kv_alter_ram_user_put_bytes;
559
extern mBvarInt64Adder g_bvar_rpc_kv_begin_copy_get_bytes;
560
extern mBvarInt64Adder g_bvar_rpc_kv_begin_copy_put_bytes;
561
extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_get_bytes;
562
extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_put_bytes;
563
extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_del_bytes;
564
extern mBvarInt64Adder g_bvar_rpc_kv_get_copy_job_get_bytes;
565
extern mBvarInt64Adder g_bvar_rpc_kv_get_copy_files_get_bytes;
566
extern mBvarInt64Adder g_bvar_rpc_kv_filter_copy_files_get_bytes;
567
extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_status_get_bytes;
568
extern mBvarInt64Adder g_bvar_rpc_kv_begin_txn_get_bytes;
569
extern mBvarInt64Adder g_bvar_rpc_kv_begin_txn_put_bytes;
570
extern mBvarInt64Adder g_bvar_rpc_kv_precommit_txn_get_bytes;
571
extern mBvarInt64Adder g_bvar_rpc_kv_precommit_txn_put_bytes;
572
extern mBvarInt64Adder g_bvar_rpc_kv_get_rl_task_commit_attach_get_bytes;
573
extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_get_bytes;
574
extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_put_bytes;
575
extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_del_bytes;
576
extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_get_bytes;
577
extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_put_bytes;
578
extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_del_bytes;
579
extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_get_bytes;
580
extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_put_bytes;
581
extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_del_bytes;
582
extern mBvarInt64Adder g_bvar_rpc_kv_get_txn_get_bytes;
583
extern mBvarInt64Adder g_bvar_rpc_kv_get_current_max_txn_id_get_bytes;
584
extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_get_bytes;
585
extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_put_bytes;
586
extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_del_bytes;
587
extern mBvarInt64Adder g_bvar_rpc_kv_abort_sub_txn_get_bytes;
588
extern mBvarInt64Adder g_bvar_rpc_kv_abort_sub_txn_put_bytes;
589
extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_with_coordinator_get_bytes;
590
extern mBvarInt64Adder g_bvar_rpc_kv_check_txn_conflict_get_bytes;
591
extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_get_bytes;
592
extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_put_bytes;
593
extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_del_bytes;
594
extern mBvarInt64Adder g_bvar_rpc_kv_get_txn_id_get_bytes;
595
596
// meta ranges
597
extern mBvarStatus<int64_t> g_bvar_fdb_kv_ranges_count;