Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 23 additions & 12 deletions cloud/src/common/bvars.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -140,33 +140,44 @@ bvar::Status<int64_t> g_bvar_recycler_task_max_concurrency("recycler_task_max_co
mBvarIntAdder g_bvar_recycler_instance_recycle_task_status("recycler_instance_recycle_task_status", { "status"});
// recycler's mbvars
// cost time of the last whole recycle process
mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_recycle_duration("recycler_instance_last_round_recycle_duration",{"instance_id"});
mBvarStatus<int64_t> g_bvar_recycler_instance_next_ts("recycler_instance_next_ts",{"instance_id"});
mBvarAdder<int64_t> g_bvar_recycler_instance_last_round_recycle_duration(
"recycler_instance_last_round_recycle_duration", {"instance_id"});
mBvarAdder<int64_t> g_bvar_recycler_instance_next_ts("recycler_instance_next_ts", {"instance_id"});
// start and end timestamps of the recycle process
mBvarStatus<int64_t> g_bvar_recycler_instance_recycle_start_ts("recycler_instance_recycle_start_ts",{"instance_id"});
mBvarStatus<int64_t> g_bvar_recycler_instance_recycle_end_ts("recycler_instance_recycle_end_ts",{"instance_id"});
mBvarStatus<int64_t> g_bvar_recycler_instance_recycle_last_success_ts("recycler_instance_recycle_last_success_ts",{"instance_id"});
mBvarAdder<int64_t> g_bvar_recycler_instance_recycle_start_ts(
"recycler_instance_recycle_start_ts", {"instance_id"});
mBvarAdder<int64_t> g_bvar_recycler_instance_recycle_end_ts(
"recycler_instance_recycle_end_ts", {"instance_id"});
mBvarAdder<int64_t> g_bvar_recycler_instance_recycle_last_success_ts(
"recycler_instance_recycle_last_success_ts", {"instance_id"});

// recycler's mbvars
// instance_id: unique identifier for the instance
// resource_id: unique identifier for the repository
// status: status of the recycle task (submitted, completed, error)
mBvarIntAdder g_bvar_recycler_vault_recycle_task_status("recycler_vault_recycle_task_status", {"instance_id", "resource_id", "status"});
// current concurrency of vault delete task
mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_recycled_num("recycler_instance_last_round_recycled_num", {"instance_id", "resource_type"});
mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_to_recycle_num("recycler_instance_last_round_to_recycle_num", {"instance_id", "resource_type"});
mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_recycled_bytes("recycler_instance_last_round_recycled_bytes", {"instance_id", "resource_type"});
mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_to_recycle_bytes("recycler_instance_last_round_to_recycle_bytes", {"instance_id", "resource_type"});
mBvarStatus<double> g_bvar_recycler_instance_last_round_recycle_elpased_ts("recycler_instance_last_round_recycle_elpased_ts", {"instance_id", "resource_type"});
mBvarAdder<int64_t> g_bvar_recycler_instance_last_round_recycled_num(
"recycler_instance_last_round_recycled_num", {"instance_id", "resource_type"});
mBvarAdder<int64_t> g_bvar_recycler_instance_last_round_to_recycle_num(
"recycler_instance_last_round_to_recycle_num", {"instance_id", "resource_type"});
mBvarAdder<int64_t> g_bvar_recycler_instance_last_round_recycled_bytes(
"recycler_instance_last_round_recycled_bytes", {"instance_id", "resource_type"});
mBvarAdder<int64_t> g_bvar_recycler_instance_last_round_to_recycle_bytes(
"recycler_instance_last_round_to_recycle_bytes", {"instance_id", "resource_type"});
mBvarAdder<double> g_bvar_recycler_instance_last_round_recycle_elpased_ts(
"recycler_instance_last_round_recycle_elpased_ts", {"instance_id", "resource_type"});
// total recycled num and bytes of resources since recycler started
mBvarInt64Adder g_bvar_recycler_instance_recycle_total_num_since_started("recycler_instance_recycle_total_num_since_started", {"instance_id", "resource_type"});
mBvarInt64Adder g_bvar_recycler_instance_recycle_total_bytes_since_started("recycler_instance_recycle_total_bytes_since_started", {"instance_id", "resource_type"});
mBvarIntAdder g_bvar_recycler_instance_recycle_round("recycler_instance_recycle_round", {"instance_id", "resource_type"});
// represents the ms required per resource to be recycled
// value of -1 means no resource recycled
mBvarStatus<double> g_bvar_recycler_instance_recycle_time_per_resource("recycler_instance_recycle_time_per_resource", {"instance_id", "resource_type"});
mBvarAdder<double> g_bvar_recycler_instance_recycle_time_per_resource(
"recycler_instance_recycle_time_per_resource", {"instance_id", "resource_type"});
// represents the bytes of resources that can be recycled per ms
mBvarStatus<double> g_bvar_recycler_instance_recycle_bytes_per_ms("recycler_instance_recycle_bytes_per_ms", {"instance_id", "resource_type"});
mBvarAdder<double> g_bvar_recycler_instance_recycle_bytes_per_ms(
"recycler_instance_recycle_bytes_per_ms", {"instance_id", "resource_type"});
BvarStatusWithTag<int64_t> g_bvar_recycler_packed_file_recycled_kv_num("recycler",
"packed_file_recycled_kv_num");
BvarStatusWithTag<int64_t> g_bvar_recycler_packed_file_recycled_kv_bytes(
Expand Down
32 changes: 19 additions & 13 deletions cloud/src/common/bvars.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,13 @@
#include <bvar/passive_status.h>
#include <bvar/reducer.h>
#include <bvar/status.h>
#include <bvar/window.h>
#include <cpp/sync_point.h>
#include <gmock/gmock-actions.h>

#include <atomic>
#include <cstdint>
#include <ctime>
#include <initializer_list>
#include <map>
#include <memory>
Expand Down Expand Up @@ -147,6 +149,8 @@ template <typename T>
struct is_valid_bvar_type<bvar::Status<T>> : std::true_type {};
template <>
struct is_valid_bvar_type<bvar::LatencyRecorder> : std::true_type {};
template <typename R, time_t window_size>
struct is_valid_bvar_type<bvar::WindowEx<R, window_size>> : std::true_type {};
template <typename T>
struct is_bvar_status : std::false_type {};
template <typename T>
Expand All @@ -160,7 +164,7 @@ class mBvarWrapper {
: counter_(metric_name, std::list<std::string>(dim_names)) {
static_assert(is_valid_bvar_type<BvarType>::value,
"BvarType must be one of the supported bvar types (Adder, IntRecorder, "
"LatencyRecorder, Maxer, Status)");
"LatencyRecorder, Maxer, Status, WindowEx)");
}

template <typename ValType>
Expand Down Expand Up @@ -536,6 +540,8 @@ class MBvarLatencyRecorderWithStatus {
using mBvarIntAdder = mBvarWrapper<bvar::Adder<int>>;
using mBvarInt64Adder = mBvarWrapper<bvar::Adder<int64_t>>;
using mBvarDoubleAdder = mBvarWrapper<bvar::Adder<double>>;
template <typename T, time_t window_size = 60>
using mBvarAdder = mBvarWrapper<bvar::WindowEx<bvar::Adder<T>, window_size>>;
using mBvarIntRecorder = mBvarWrapper<bvar::IntRecorder>;
using mBvarLatencyRecorder = mBvarWrapper<bvar::LatencyRecorder>;
using mBvarIntMaxer = mBvarWrapper<bvar::Maxer<int>>;
Expand Down Expand Up @@ -647,23 +653,23 @@ extern BvarStatusWithTag<int64_t> g_bvar_recycler_recycle_restore_job_earlest_ts
// recycler's mbvars
extern bvar::Status<int64_t> g_bvar_recycler_task_max_concurrency;
extern mBvarIntAdder g_bvar_recycler_instance_recycle_task_status;
extern mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_recycle_duration;
extern mBvarStatus<int64_t> g_bvar_recycler_instance_next_ts;
extern mBvarStatus<int64_t> g_bvar_recycler_instance_recycle_start_ts;
extern mBvarStatus<int64_t> g_bvar_recycler_instance_recycle_end_ts;
extern mBvarStatus<int64_t> g_bvar_recycler_instance_recycle_last_success_ts;
extern mBvarAdder<int64_t> g_bvar_recycler_instance_last_round_recycle_duration;
extern mBvarAdder<int64_t> g_bvar_recycler_instance_next_ts;
extern mBvarAdder<int64_t> g_bvar_recycler_instance_recycle_start_ts;
extern mBvarAdder<int64_t> g_bvar_recycler_instance_recycle_end_ts;
extern mBvarAdder<int64_t> g_bvar_recycler_instance_recycle_last_success_ts;

extern mBvarIntAdder g_bvar_recycler_vault_recycle_task_status;
extern mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_recycled_num;
extern mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_to_recycle_num;
extern mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_recycled_bytes;
extern mBvarStatus<int64_t> g_bvar_recycler_instance_last_round_to_recycle_bytes;
extern mBvarStatus<double> g_bvar_recycler_instance_last_round_recycle_elpased_ts;
extern mBvarAdder<int64_t> g_bvar_recycler_instance_last_round_recycled_num;
extern mBvarAdder<int64_t> g_bvar_recycler_instance_last_round_to_recycle_num;
extern mBvarAdder<int64_t> g_bvar_recycler_instance_last_round_recycled_bytes;
extern mBvarAdder<int64_t> g_bvar_recycler_instance_last_round_to_recycle_bytes;
extern mBvarAdder<double> g_bvar_recycler_instance_last_round_recycle_elpased_ts;
extern mBvarInt64Adder g_bvar_recycler_instance_recycle_total_num_since_started;
extern mBvarInt64Adder g_bvar_recycler_instance_recycle_total_bytes_since_started;
extern mBvarIntAdder g_bvar_recycler_instance_recycle_round;
extern mBvarStatus<double> g_bvar_recycler_instance_recycle_time_per_resource;
extern mBvarStatus<double> g_bvar_recycler_instance_recycle_bytes_per_ms;
extern mBvarAdder<double> g_bvar_recycler_instance_recycle_time_per_resource;
extern mBvarAdder<double> g_bvar_recycler_instance_recycle_bytes_per_ms;
extern BvarStatusWithTag<int64_t> g_bvar_recycler_packed_file_recycled_kv_num;
extern BvarStatusWithTag<int64_t> g_bvar_recycler_packed_file_recycled_kv_bytes;
extern BvarStatusWithTag<int64_t> g_bvar_recycler_packed_file_recycle_cost_ms;
Expand Down
Loading
Loading