Coverage Report

Created: 2025-07-23 15:33

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