diff --git a/cloud/src/common/bvars.cpp b/cloud/src/common/bvars.cpp index 7e4e36ce14059b..1ff6646c195ea1 100644 --- a/cloud/src/common/bvars.cpp +++ b/cloud/src/common/bvars.cpp @@ -382,6 +382,172 @@ mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_put_counter("rpc_kv_clean_txn_labe mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_del_counter("rpc_kv_clean_txn_label_del_counter",{"instance_id"}); // get_txn_id mBvarInt64Adder g_bvar_rpc_kv_get_txn_id_get_counter("rpc_kv_get_txn_id_get_counter",{"instance_id"}); +// bytes +// get_rowset +mBvarInt64Adder g_bvar_rpc_kv_get_rowset_get_bytes("rpc_kv_get_rowset_get_bytes",{"instance_id"}); +// get_version +mBvarInt64Adder g_bvar_rpc_kv_get_version_get_bytes("rpc_kv_get_version_get_bytes",{"instance_id"}); +// get_schema_dict +mBvarInt64Adder g_bvar_rpc_kv_get_schema_dict_get_bytes("rpc_kv_get_schema_dict_get_bytes",{"instance_id"}); +// create_tablets +mBvarInt64Adder g_bvar_rpc_kv_create_tablets_get_bytes("rpc_kv_create_tablets_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_create_tablets_put_bytes("rpc_kv_create_tablets_put_bytes",{"instance_id"}); +// update_tablet +mBvarInt64Adder g_bvar_rpc_kv_update_tablet_get_bytes("rpc_kv_update_tablet_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_update_tablet_put_bytes("rpc_kv_update_tablet_put_bytes",{"instance_id"}); +// update_tablet_schema +mBvarInt64Adder g_bvar_rpc_kv_update_tablet_schema_get_bytes("rpc_kv_update_tablet_schema_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_update_tablet_schema_put_bytes("rpc_kv_update_tablet_schema_put_bytes",{"instance_id"}); +// get_tablet +mBvarInt64Adder g_bvar_rpc_kv_get_tablet_get_bytes("rpc_kv_get_tablet_get_bytes",{"instance_id"}); +// prepare_rowset +mBvarInt64Adder g_bvar_rpc_kv_prepare_rowset_get_bytes("rpc_kv_prepare_rowset_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_prepare_rowset_put_bytes("rpc_kv_prepare_rowset_put_bytes",{"instance_id"}); +// commit_rowset +mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_get_bytes("rpc_kv_commit_rowset_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_put_bytes("rpc_kv_commit_rowset_put_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_del_bytes("rpc_kv_commit_rowset_del_bytes",{"instance_id"}); +// update_tmp_rowset +mBvarInt64Adder g_bvar_rpc_kv_update_tmp_rowset_get_bytes("rpc_kv_update_tmp_rowset_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_update_tmp_rowset_put_bytes("rpc_kv_update_tmp_rowset_put_bytes",{"instance_id"}); +// get_tablet_stats +mBvarInt64Adder g_bvar_rpc_kv_get_tablet_stats_get_bytes("rpc_kv_get_tablet_stats_get_bytes",{"instance_id"}); +// update_delete_bitmap +mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_get_bytes("rpc_kv_update_delete_bitmap_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_put_bytes("rpc_kv_update_delete_bitmap_put_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_del_bytes("rpc_kv_update_delete_bitmap_del_bytes",{"instance_id"}); +// get_delete_bitmap +mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_get_bytes("rpc_kv_get_delete_bitmap_get_bytes",{"instance_id"}); +// get_delete_bitmap_update_lock +mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_get_bytes("rpc_kv_get_delete_bitmap_update_lock_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_put_bytes("rpc_kv_get_delete_bitmap_update_lock_put_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_del_bytes("rpc_kv_get_delete_bitmap_update_lock_del_bytes",{"instance_id"}); +// remove_delete_bitmap_update_lock +mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_get_bytes("rpc_kv_remove_delete_bitmap_update_lock_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_put_bytes("rpc_kv_remove_delete_bitmap_update_lock_put_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_del_bytes("rpc_kv_remove_delete_bitmap_update_lock_del_bytes",{"instance_id"}); +// remove_delete_bitmap +mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_del_bytes("rpc_kv_remove_delete_bitmap_del_bytes",{"instance_id"}); +// start_tablet_job +mBvarInt64Adder g_bvar_rpc_kv_start_tablet_job_get_bytes("rpc_kv_start_tablet_job_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_start_tablet_job_put_bytes("rpc_kv_start_tablet_job_put_bytes",{"instance_id"}); +// finish_tablet_job +mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_get_bytes("rpc_kv_finish_tablet_job_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_put_bytes("rpc_kv_finish_tablet_job_put_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_del_bytes("rpc_kv_finish_tablet_job_del_bytes",{"instance_id"}); +// prepare_index +mBvarInt64Adder g_bvar_rpc_kv_prepare_index_get_bytes("rpc_kv_prepare_index_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_prepare_index_put_bytes("rpc_kv_prepare_index_put_bytes",{"instance_id"}); +// commit_index +mBvarInt64Adder g_bvar_rpc_kv_commit_index_get_bytes("rpc_kv_commit_index_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_commit_index_put_bytes("rpc_kv_commit_index_put_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_commit_index_del_bytes("rpc_kv_commit_index_del_bytes",{"instance_id"}); +// drop_index +mBvarInt64Adder g_bvar_rpc_kv_drop_index_get_bytes("rpc_kv_drop_index_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_drop_index_put_bytes("rpc_kv_drop_index_put_bytes",{"instance_id"}); +// prepare_partition +mBvarInt64Adder g_bvar_rpc_kv_prepare_partition_get_bytes("rpc_kv_prepare_partition_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_prepare_partition_put_bytes("rpc_kv_prepare_partition_put_bytes",{"instance_id"}); +// commit_partition +mBvarInt64Adder g_bvar_rpc_kv_commit_partition_get_bytes("rpc_kv_commit_partition_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_commit_partition_put_bytes("rpc_kv_commit_partition_put_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_commit_partition_del_bytes("rpc_kv_commit_partition_del_bytes",{"instance_id"}); +// drop_partition +mBvarInt64Adder g_bvar_rpc_kv_drop_partition_get_bytes("rpc_kv_drop_partition_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_drop_partition_put_bytes("rpc_kv_drop_partition_put_bytes",{"instance_id"}); +// check_kv +mBvarInt64Adder g_bvar_rpc_kv_check_kv_get_bytes("rpc_kv_check_kv_get_bytes",{"instance_id"}); +// get_obj_store_info +mBvarInt64Adder g_bvar_rpc_kv_get_obj_store_info_get_bytes("rpc_kv_get_obj_store_info_get_bytes",{"instance_id"}); +// alter_storage_vault +mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_get_bytes("rpc_kv_alter_storage_vault_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_put_bytes("rpc_kv_alter_storage_vault_put_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_del_bytes("rpc_kv_alter_storage_vault_del_bytes",{"instance_id"}); +// alter_obj_store_info +mBvarInt64Adder g_bvar_rpc_kv_alter_obj_store_info_get_bytes("rpc_kv_alter_obj_store_info_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_alter_obj_store_info_put_bytes("rpc_kv_alter_obj_store_info_put_bytes",{"instance_id"}); +// update_ak_sk +mBvarInt64Adder g_bvar_rpc_kv_update_ak_sk_get_bytes("rpc_kv_update_ak_sk_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_update_ak_sk_put_bytes("rpc_kv_update_ak_sk_put_bytes",{"instance_id"}); +// create_instance +mBvarInt64Adder g_bvar_rpc_kv_create_instance_get_bytes("rpc_kv_create_instance_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_create_instance_put_bytes("rpc_kv_create_instance_put_bytes",{"instance_id"}); +// get_instance +mBvarInt64Adder g_bvar_rpc_kv_get_instance_get_bytes("rpc_kv_get_instance_get_bytes",{"instance_id"}); +// alter_cluster +mBvarInt64Adder g_bvar_rpc_kv_alter_cluster_get_bytes("rpc_kv_alter_cluster_get_bytes",{"instance_id"}); +// get_cluster +mBvarInt64Adder g_bvar_rpc_kv_get_cluster_get_bytes("rpc_kv_get_cluster_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_get_cluster_put_bytes("rpc_kv_get_cluster_put_bytes",{"instance_id"}); +// create_stage +mBvarInt64Adder g_bvar_rpc_kv_create_stage_get_bytes("rpc_kv_create_stage_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_create_stage_put_bytes("rpc_kv_create_stage_put_bytes",{"instance_id"}); +// get_stage +mBvarInt64Adder g_bvar_rpc_kv_get_stage_get_bytes("rpc_kv_get_stage_get_bytes",{"instance_id"}); +// get_iam +mBvarInt64Adder g_bvar_rpc_kv_get_iam_get_bytes("rpc_kv_get_iam_get_bytes",{"instance_id"}); +// alter_iam +mBvarInt64Adder g_bvar_rpc_kv_alter_iam_get_bytes("rpc_kv_alter_iam_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_alter_iam_put_bytes("rpc_kv_alter_iam_put_bytes",{"instance_id"}); +// alter_ram_user +mBvarInt64Adder g_bvar_rpc_kv_alter_ram_user_get_bytes("rpc_kv_alter_ram_user_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_alter_ram_user_put_bytes("rpc_kv_alter_ram_user_put_bytes",{"instance_id"}); +// begin_copy +mBvarInt64Adder g_bvar_rpc_kv_begin_copy_get_bytes("rpc_kv_begin_copy_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_begin_copy_put_bytes("rpc_kv_begin_copy_put_bytes",{"instance_id"}); +// finish_copy +mBvarInt64Adder g_bvar_rpc_kv_finish_copy_get_bytes("rpc_kv_finish_copy_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_finish_copy_put_bytes("rpc_kv_finish_copy_put_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_finish_copy_del_bytes("rpc_kv_finish_copy_del_bytes",{"instance_id"}); +// get_copy_job +mBvarInt64Adder g_bvar_rpc_kv_get_copy_job_get_bytes("rpc_kv_get_copy_job_get_bytes",{"instance_id"}); +// get_copy_files +mBvarInt64Adder g_bvar_rpc_kv_get_copy_files_get_bytes("rpc_kv_get_copy_files_get_bytes",{"instance_id"}); +// filter_copy_files +mBvarInt64Adder g_bvar_rpc_kv_filter_copy_files_get_bytes("rpc_kv_filter_copy_files_get_bytes",{"instance_id"}); +// get_cluster_status +mBvarInt64Adder g_bvar_rpc_kv_get_cluster_status_get_bytes("rpc_kv_get_cluster_status_get_bytes",{"instance_id"}); +// begin_txn +mBvarInt64Adder g_bvar_rpc_kv_begin_txn_get_bytes("rpc_kv_begin_txn_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_begin_txn_put_bytes("rpc_kv_begin_txn_put_bytes",{"instance_id"}); +// precommit_txn +mBvarInt64Adder g_bvar_rpc_kv_precommit_txn_get_bytes("rpc_kv_precommit_txn_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_precommit_txn_put_bytes("rpc_kv_precommit_txn_put_bytes",{"instance_id"}); +// get_rl_task_commit_attach +mBvarInt64Adder g_bvar_rpc_kv_get_rl_task_commit_attach_get_bytes("rpc_kv_get_rl_task_commit_attach_get_bytes",{"instance_id"}); +// reset_rl_progress +mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_get_bytes("rpc_kv_reset_rl_progress_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_put_bytes("rpc_kv_reset_rl_progress_put_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_del_bytes("rpc_kv_reset_rl_progress_del_bytes",{"instance_id"}); +// commit_txn +mBvarInt64Adder g_bvar_rpc_kv_commit_txn_get_bytes("rpc_kv_commit_txn_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_commit_txn_put_bytes("rpc_kv_commit_txn_put_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_commit_txn_del_bytes("rpc_kv_commit_txn_del_bytes",{"instance_id"}); +// abort_txn +mBvarInt64Adder g_bvar_rpc_kv_abort_txn_get_bytes("rpc_kv_abort_txn_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_abort_txn_put_bytes("rpc_kv_abort_txn_put_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_abort_txn_del_bytes("rpc_kv_abort_txn_del_bytes",{"instance_id"}); +// get_txn +mBvarInt64Adder g_bvar_rpc_kv_get_txn_get_bytes("rpc_kv_get_txn_get_bytes",{"instance_id"}); +// get_current_max_txn_id +mBvarInt64Adder g_bvar_rpc_kv_get_current_max_txn_id_get_bytes("rpc_kv_get_current_max_txn_id_get_bytes",{"instance_id"}); +// begin_sub_txn +mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_get_bytes("rpc_kv_begin_sub_txn_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_put_bytes("rpc_kv_begin_sub_txn_put_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_del_bytes("rpc_kv_begin_sub_txn_del_bytes",{"instance_id"}); +// abort_sub_txn +mBvarInt64Adder g_bvar_rpc_kv_abort_sub_txn_get_bytes("rpc_kv_abort_sub_txn_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_abort_sub_txn_put_bytes("rpc_kv_abort_sub_txn_put_bytes",{"instance_id"}); +// abort_txn_with_coordinator +mBvarInt64Adder g_bvar_rpc_kv_abort_txn_with_coordinator_get_bytes("rpc_kv_abort_txn_with_coordinator_get_bytes",{"instance_id"}); +// check_txn_conflict +mBvarInt64Adder g_bvar_rpc_kv_check_txn_conflict_get_bytes("rpc_kv_check_txn_conflict_get_bytes",{"instance_id"}); +// clean_txn_label +mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_get_bytes("rpc_kv_clean_txn_label_get_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_put_bytes("rpc_kv_clean_txn_label_put_bytes",{"instance_id"}); +mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_del_bytes("rpc_kv_clean_txn_label_del_bytes",{"instance_id"}); +// get_txn_id +mBvarInt64Adder g_bvar_rpc_kv_get_txn_id_get_bytes("rpc_kv_get_txn_id_get_bytes",{"instance_id"}); // meta ranges mBvarStatus g_bvar_fdb_kv_ranges_count("fdb_kv_ranges_count", {"category","instance_id", "sub_category"}); diff --git a/cloud/src/common/bvars.h b/cloud/src/common/bvars.h index d57e14e2697278..08461dad668f2e 100644 --- a/cloud/src/common/bvars.h +++ b/cloud/src/common/bvars.h @@ -469,5 +469,113 @@ extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_put_counter; extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_del_counter; extern mBvarInt64Adder g_bvar_rpc_kv_get_txn_id_get_counter; +extern mBvarInt64Adder g_bvar_rpc_kv_get_rowset_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_version_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_schema_dict_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_create_tablets_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_create_tablets_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_schema_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_schema_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_tablet_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_prepare_rowset_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_prepare_rowset_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_del_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_update_tmp_rowset_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_update_tmp_rowset_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_tablet_stats_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_del_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_del_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_update_lock_del_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_del_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_start_tablet_job_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_start_tablet_job_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_del_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_prepare_index_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_prepare_index_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_del_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_drop_index_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_drop_index_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_prepare_partition_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_prepare_partition_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_del_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_drop_partition_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_drop_partition_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_check_kv_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_obj_store_info_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_del_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_alter_obj_store_info_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_alter_obj_store_info_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_update_ak_sk_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_update_ak_sk_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_create_instance_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_create_instance_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_instance_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_alter_cluster_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_create_stage_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_create_stage_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_stage_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_iam_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_alter_iam_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_alter_iam_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_alter_ram_user_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_alter_ram_user_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_begin_copy_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_begin_copy_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_del_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_copy_job_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_copy_files_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_filter_copy_files_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_status_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_begin_txn_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_begin_txn_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_precommit_txn_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_precommit_txn_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_rl_task_commit_attach_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_del_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_del_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_del_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_txn_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_current_max_txn_id_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_del_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_abort_sub_txn_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_abort_sub_txn_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_with_coordinator_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_check_txn_conflict_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_get_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_put_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_del_bytes; +extern mBvarInt64Adder g_bvar_rpc_kv_get_txn_id_get_bytes; + // meta ranges extern mBvarStatus g_bvar_fdb_kv_ranges_count; diff --git a/cloud/src/common/stats.h b/cloud/src/common/stats.h index 2d99bf0d3c1671..a9e482a3e4c751 100644 --- a/cloud/src/common/stats.h +++ b/cloud/src/common/stats.h @@ -21,6 +21,10 @@ namespace doris::cloud { struct KVStats { + int64_t get_bytes {}; + int64_t put_bytes {}; + int64_t del_bytes {}; + int64_t get_counter {}; int64_t put_counter {}; int64_t del_counter {}; diff --git a/cloud/src/meta-service/meta_service.cpp b/cloud/src/meta-service/meta_service.cpp index 7e0d3a267b85c6..176882cb120394 100644 --- a/cloud/src/meta-service/meta_service.cpp +++ b/cloud/src/meta-service/meta_service.cpp @@ -358,6 +358,7 @@ void MetaServiceImpl::batch_get_version(::google::protobuf::RpcController* contr } DORIS_CLOUD_DEFER { if (txn == nullptr) return; + stats.get_bytes += txn->get_bytes(); stats.get_counter += txn->num_get_keys(); }; for (size_t i = response->versions_size(); i < num_acquired; i += BATCH_SIZE) { @@ -459,6 +460,8 @@ void internal_create_tablet(const CreateTabletsRequest* request, MetaServiceCode } DORIS_CLOUD_DEFER { if (txn == nullptr) return; + stats.get_bytes += txn->get_bytes(); + stats.put_bytes += txn->put_bytes(); stats.get_counter += txn->num_get_keys(); stats.put_counter += txn->num_put_keys(); }; @@ -606,6 +609,8 @@ void MetaServiceImpl::create_tablets(::google::protobuf::RpcController* controll instance_key(key_info, &key); err = txn0->get(key, &val); + stats.get_bytes += val.size() + key.size(); + stats.get_counter++; LOG(INFO) << "get instance_key=" << hex(key); stats.get_counter++; if (err != TxnErrorCode::TXN_OK) { @@ -1726,6 +1731,7 @@ void MetaServiceImpl::get_rowset(::google::protobuf::RpcController* controller, } DORIS_CLOUD_DEFER { if (txn == nullptr) return; + stats.get_bytes += txn->get_bytes(); stats.get_counter += txn->num_get_keys(); }; TabletIndexPB idx; @@ -1766,6 +1772,7 @@ void MetaServiceImpl::get_rowset(::google::protobuf::RpcController* controller, if (version_pb.pending_txn_ids_size() > 0) { DCHECK(version_pb.pending_txn_ids_size() == 1); + stats.get_bytes += txn->get_bytes(); stats.get_counter += txn->num_get_keys(); txn.reset(); TEST_SYNC_POINT_CALLBACK("get_rowset::advance_last_pending_txn_id", @@ -1900,6 +1907,7 @@ void MetaServiceImpl::get_tablet_stats(::google::protobuf::RpcController* contro return; } DORIS_CLOUD_DEFER { + stats.get_bytes += txn->get_bytes(); stats.get_counter += txn->num_get_keys(); // the txn is not a local variable, if not reset will count last res twice txn.reset(nullptr); @@ -2246,6 +2254,9 @@ void MetaServiceImpl::update_delete_bitmap(google::protobuf::RpcController* cont g_bvar_update_delete_bitmap_fail_counter << 1; return; } + stats.get_bytes += txn->get_bytes(); + stats.put_bytes += txn->put_bytes(); + stats.del_bytes += txn->delete_bytes(); stats.get_counter += txn->num_get_keys(); stats.put_counter += txn->num_put_keys(); stats.del_counter += txn->num_del_keys(); @@ -2359,6 +2370,7 @@ void MetaServiceImpl::get_delete_bitmap(google::protobuf::RpcController* control } DORIS_CLOUD_DEFER { if (txn == nullptr) return; + stats.get_bytes += txn->get_bytes(); stats.get_counter += txn->num_get_keys(); }; MetaDeleteBitmapInfo start_key_info {instance_id, tablet_id, rowset_ids[i], @@ -2387,6 +2399,7 @@ void MetaServiceImpl::get_delete_bitmap(google::protobuf::RpcController* control TEST_SYNC_POINT_CALLBACK("get_delete_bitmap_err", &round, &err); int64_t retry = 0; while (err == TxnErrorCode::TXN_TOO_OLD && retry < 3) { + stats.get_bytes += txn->get_bytes(); stats.get_counter += txn->num_get_keys(); txn = nullptr; err = txn_kv_->create_txn(&txn); @@ -2481,6 +2494,7 @@ void MetaServiceImpl::get_delete_bitmap(google::protobuf::RpcController* control } DORIS_CLOUD_DEFER { if (txn == nullptr) return; + stats.get_bytes += txn->get_bytes(); stats.get_counter += txn->num_get_keys(); }; TabletIndexPB idx(request->idx()); @@ -2635,6 +2649,9 @@ bool MetaServiceImpl::get_mow_tablet_stats_and_meta(MetaServiceCode& code, std:: } DORIS_CLOUD_DEFER { if (txn == nullptr) return; + stats.get_bytes += txn->get_bytes(); + stats.put_bytes += txn->put_bytes(); + stats.del_bytes += txn->delete_bytes(); stats.get_counter += txn->num_get_keys(); stats.put_counter += txn->num_put_keys(); stats.del_counter += txn->num_del_keys(); diff --git a/cloud/src/meta-service/meta_service_helper.h b/cloud/src/meta-service/meta_service_helper.h index 7ecdf856659db0..9d99e28b643b05 100644 --- a/cloud/src/meta-service/meta_service_helper.h +++ b/cloud/src/meta-service/meta_service_helper.h @@ -230,8 +230,10 @@ inline MetaServiceCode cast_as(TxnErrorCode code) { // don't use these macro it just for defer count, reduce useless variable(some rpc just need one of rw op) // If we have to write separate code for each RPC, it would be quite troublesome // After all, adding put, get, and del after the RPC_PREPROCESS macro is simpler than writing a long string of code -#define RPCKVCOUNTHELPER(func_name, op) \ +#define RPCKVCOUNTHELPER(func_name, op) \ + g_bvar_rpc_kv_##func_name##_##op##_bytes.put({instance_id}, stats.op##_bytes); \ g_bvar_rpc_kv_##func_name##_##op##_counter.put({instance_id}, stats.op##_counter); + #define RPCKVCOUNT_0(func_name) #define RPCKVCOUNT_1(func_name, op1) RPCKVCOUNTHELPER(func_name, op1) #define RPCKVCOUNT_2(func_name, op1, op2) \ @@ -266,6 +268,9 @@ inline MetaServiceCode cast_as(TxnErrorCode code) { finish_rpc(#func_name, ctrl, response); \ closure_guard.reset(nullptr); \ if (txn != nullptr) { \ + stats.get_bytes += txn->get_bytes(); \ + stats.put_bytes += txn->put_bytes(); \ + stats.del_bytes += txn->delete_bytes(); \ stats.get_counter += txn->num_get_keys(); \ stats.put_counter += txn->num_put_keys(); \ stats.del_counter += txn->num_del_keys(); \ diff --git a/cloud/src/meta-service/meta_service_partition.cpp b/cloud/src/meta-service/meta_service_partition.cpp index 109b86813f39f6..e8f009281de62a 100644 --- a/cloud/src/meta-service/meta_service_partition.cpp +++ b/cloud/src/meta-service/meta_service_partition.cpp @@ -629,6 +629,7 @@ void check_create_table(std::string instance_id, std::shared_ptr txn_kv, } DORIS_CLOUD_DEFER { if (txn == nullptr) return; + stats.get_bytes += txn->get_bytes(); stats.get_counter += txn->num_get_keys(); }; auto& [keys, hint, key_func] = get_check_info(request); @@ -650,6 +651,7 @@ void check_create_table(std::string instance_id, std::shared_ptr txn_kv, *msg = "prepare and commit rpc not match, recycle key remained"; return; } else if (err == TxnErrorCode::TXN_TOO_OLD) { + stats.get_bytes += txn->get_bytes(); stats.get_counter += txn->num_get_keys(); // separate it to several txn for rubustness txn.reset(); diff --git a/cloud/src/meta-service/meta_service_resource.cpp b/cloud/src/meta-service/meta_service_resource.cpp index f69ed65786db6e..e33b0c24a6da73 100644 --- a/cloud/src/meta-service/meta_service_resource.cpp +++ b/cloud/src/meta-service/meta_service_resource.cpp @@ -2590,6 +2590,7 @@ void MetaServiceImpl::alter_cluster(google::protobuf::RpcController* controller, KVStats stats; notify_refresh_instance(txn_kv, instance_id, &stats); if (config::use_detailed_metrics && !instance_id.empty()) { + g_bvar_rpc_kv_alter_cluster_get_bytes.put({instance_id}, stats.get_bytes); g_bvar_rpc_kv_alter_cluster_get_counter.put({instance_id}, stats.get_counter); } }); @@ -4027,6 +4028,7 @@ void MetaServiceImpl::get_cluster_status(google::protobuf::RpcController* contro } DORIS_CLOUD_DEFER { if (config::use_detailed_metrics && txn != nullptr) { + g_bvar_rpc_kv_get_cluster_status_get_bytes.put({instance_id}, txn->get_bytes()); g_bvar_rpc_kv_get_cluster_status_get_counter.put({instance_id}, txn->num_get_keys()); } @@ -4087,7 +4089,7 @@ void notify_refresh_instance(std::shared_ptr txn_kv, const std::string& i std::string key = system_meta_service_registry_key(); std::string val; err = txn->get(key, &val); - if (config::use_detailed_metrics && stats) { + if (stats) { stats->get_counter++; } if (err != TxnErrorCode::TXN_OK) { @@ -4095,6 +4097,9 @@ void notify_refresh_instance(std::shared_ptr txn_kv, const std::string& i << " err=" << err; return; } + if (stats) { + stats->get_bytes += val.size() + key.size(); + } std::string self_endpoint = config::hostname.empty() ? get_local_ip(config::priority_networks) : config::hostname; self_endpoint = fmt::format("{}:{}", self_endpoint, config::brpc_listen_port); diff --git a/cloud/src/meta-service/meta_service_txn.cpp b/cloud/src/meta-service/meta_service_txn.cpp index 4f8fc6f7299de7..28e262226ed59f 100644 --- a/cloud/src/meta-service/meta_service_txn.cpp +++ b/cloud/src/meta-service/meta_service_txn.cpp @@ -151,6 +151,8 @@ void MetaServiceImpl::begin_txn(::google::protobuf::RpcController* controller, return; } // get count before txn reset, if not we will lose these count + stats.get_bytes += txn->get_bytes(); + stats.put_bytes += txn->put_bytes(); stats.get_counter += txn->num_get_keys(); stats.put_counter += txn->num_put_keys(); //2. Get txn id from version stamp @@ -783,7 +785,9 @@ void scan_tmp_rowset( return; } DORIS_CLOUD_DEFER { - if (stats && txn) stats->get_counter += txn->num_get_keys(); + if (!stats || !txn) return; + stats->get_bytes += txn->get_bytes(); + stats->get_counter += txn->num_get_keys(); }; // Get db id with txn id @@ -958,6 +962,9 @@ void commit_txn_immediately( } DORIS_CLOUD_DEFER { if (txn == nullptr) return; + stats.get_bytes += txn->get_bytes(); + stats.put_bytes += txn->put_bytes(); + stats.del_bytes += txn->delete_bytes(); stats.get_counter += txn->num_get_keys(); stats.put_counter += txn->num_put_keys(); stats.del_counter += txn->num_del_keys(); @@ -1129,6 +1136,7 @@ void commit_txn_immediately( version_values.clear(); if (last_pending_txn_id > 0) { + stats.get_bytes += txn->get_bytes(); stats.get_counter += txn->num_get_keys(); txn.reset(); TEST_SYNC_POINT_CALLBACK("commit_txn_immediately::advance_last_pending_txn_id", @@ -1591,6 +1599,9 @@ void commit_txn_eventually( } DORIS_CLOUD_DEFER { if (txn == nullptr) return; + stats.get_bytes += txn->get_bytes(); + stats.put_bytes += txn->put_bytes(); + stats.del_bytes += txn->delete_bytes(); stats.get_counter += txn->num_get_keys(); stats.put_counter += txn->num_put_keys(); stats.del_counter += txn->num_del_keys(); @@ -1611,6 +1622,7 @@ void commit_txn_eventually( TEST_SYNC_POINT_CALLBACK("commit_txn_eventually::need_repair_tablet_idx", &need_repair_tablet_idx); if (need_repair_tablet_idx) { + stats.get_bytes += txn->get_bytes(); stats.get_counter += txn->num_get_keys(); txn.reset(); repair_tablet_index(txn_kv, code, msg, instance_id, db_id, txn_id, tmp_rowsets_meta); @@ -1676,6 +1688,7 @@ void commit_txn_eventually( if (last_pending_txn_id > 0) { TEST_SYNC_POINT_CALLBACK("commit_txn_eventually::advance_last_pending_txn_id", &last_pending_txn_id); + stats.get_bytes += txn->get_bytes(); stats.get_counter += txn->num_get_keys(); txn.reset(); std::shared_ptr task = @@ -2008,6 +2021,9 @@ void commit_txn_with_sub_txn(const CommitTxnRequest* request, CommitTxnResponse* } DORIS_CLOUD_DEFER { if (txn == nullptr) return; + stats.get_bytes += txn->get_bytes(); + stats.put_bytes += txn->put_bytes(); + stats.del_bytes += txn->delete_bytes(); stats.get_counter += txn->num_get_keys(); stats.put_counter += txn->num_put_keys(); stats.del_counter += txn->num_del_keys(); @@ -2103,7 +2119,7 @@ void commit_txn_with_sub_txn(const CommitTxnRequest* request, CommitTxnResponse* << " tmp_rowsets_meta.size()=" << tmp_rowsets_meta.size(); sub_txn_to_tmp_rowsets_meta.emplace(sub_txn_id, std::move(tmp_rowsets_meta)); } - + stats.get_bytes += txn->get_bytes(); stats.get_counter += txn->num_get_keys(); // Create a read/write txn for guarantee consistency txn.reset(); @@ -3166,6 +3182,8 @@ void MetaServiceImpl::begin_sub_txn(::google::protobuf::RpcController* controlle msg = ss.str(); return; } + stats.get_bytes += txn->get_bytes(); + stats.put_bytes += txn->put_bytes(); stats.get_counter += txn->num_get_keys(); stats.put_counter += txn->num_put_keys(); @@ -3676,6 +3694,9 @@ TxnErrorCode internal_clean_label(std::shared_ptr txn_kv, const std::stri } DORIS_CLOUD_DEFER { if (txn == nullptr) return; + stats.get_bytes += txn->get_bytes(); + stats.put_bytes += txn->put_bytes(); + stats.del_bytes += txn->delete_bytes(); stats.get_counter += txn->num_get_keys(); stats.put_counter += txn->num_put_keys(); stats.del_counter += txn->num_del_keys(); @@ -3837,6 +3858,7 @@ void MetaServiceImpl::clean_txn_label(::google::protobuf::RpcController* control } DORIS_CLOUD_DEFER { if (txn == nullptr) return; + stats.get_bytes += txn->get_bytes(); stats.get_counter += txn->num_get_keys(); }; diff --git a/cloud/src/meta-store/mem_txn_kv.cpp b/cloud/src/meta-store/mem_txn_kv.cpp index 5e049c6fe411f5..87189dd1d8e874 100644 --- a/cloud/src/meta-store/mem_txn_kv.cpp +++ b/cloud/src/meta-store/mem_txn_kv.cpp @@ -23,10 +23,13 @@ #include #include #include +#include #include #include #include +#include "common/defer.h" +#include "common/util.h" #include "cpp/sync_point.h" #include "meta-store/txn_kv_error.h" #include "txn_kv.h" @@ -249,6 +252,7 @@ void Transaction::put(std::string_view key, std::string_view val) { op_list_.emplace_back(ModifyOpType::PUT, k, v); ++num_put_keys_; kv_->put_count_++; + kv_->put_bytes_ += key.size() + val.size(); put_bytes_ += key.size() + val.size(); approximate_bytes_ += key.size() + val.size(); } @@ -271,8 +275,6 @@ TxnErrorCode Transaction::get(std::string_view begin, std::string_view end, int limit) { TEST_SYNC_POINT_CALLBACK("memkv::Transaction::get", &limit); std::lock_guard l(lock_); - num_get_keys_++; - kv_->get_count_++; std::string begin_k(begin.data(), begin.size()); std::string end_k(end.data(), end.size()); // TODO: figure out what happen if range_get has part of unreadable_keys @@ -285,6 +287,8 @@ TxnErrorCode Transaction::get(std::string_view begin, std::string_view end, } TxnErrorCode Transaction::inner_get(const std::string& key, std::string* val, bool snapshot) { + num_get_keys_++; + kv_->get_count_++; // Read your writes. auto it = writes_.find(key); if (it != writes_.end()) { @@ -303,6 +307,8 @@ TxnErrorCode Transaction::inner_get(const std::string& key, std::string* val, bo return TxnErrorCode::TXN_KEY_NOT_FOUND; } } + get_bytes_ += val->size() + key.size(); + kv_->get_bytes_ += val->size() + key.size(); return TxnErrorCode::TXN_OK; } @@ -349,6 +355,10 @@ TxnErrorCode Transaction::inner_get(const std::string& begin, const std::string& std::vector> kv_list(kv_map.begin(), kv_map.end()); num_get_keys_ += kv_list.size(); kv_->get_count_ += kv_list.size(); + for (auto& [k, v] : kv_list) { + get_bytes_ += k.size() + v.size(); + kv_->get_bytes_ += k.size() + v.size(); + } *iter = std::make_unique(std::move(kv_list), more); return TxnErrorCode::TXN_OK; } @@ -362,6 +372,8 @@ void Transaction::atomic_set_ver_key(std::string_view key_prefix, std::string_vi op_list_.emplace_back(ModifyOpType::ATOMIC_SET_VER_KEY, k, v); ++num_put_keys_; + + kv_->put_bytes_ += k.size() + val.size(); put_bytes_ += key_prefix.size() + val.size(); approximate_bytes_ += key_prefix.size() + val.size(); } @@ -375,6 +387,7 @@ void Transaction::atomic_set_ver_value(std::string_view key, std::string_view va op_list_.emplace_back(ModifyOpType::ATOMIC_SET_VER_VAL, k, v); ++num_put_keys_; + kv_->put_bytes_ += key.size() + value.size(); put_bytes_ += key.size() + value.size(); approximate_bytes_ += key.size() + value.size(); } @@ -389,6 +402,7 @@ void Transaction::atomic_add(std::string_view key, int64_t to_add) { ++num_put_keys_; kv_->put_count_++; put_bytes_ += key.size() + 8; + kv_->put_bytes_ += key.size() + 8; approximate_bytes_ += key.size() + 8; } @@ -412,6 +426,7 @@ void Transaction::remove(std::string_view key) { kv_->del_count_++; ++num_del_keys_; + kv_->del_bytes_ += key.size(); delete_bytes_ += key.size(); approximate_bytes_ += key.size(); } @@ -433,6 +448,7 @@ void Transaction::remove(std::string_view begin, std::string_view end) { kv_->del_count_ += 2; // same as normal txn num_del_keys_ += 2; + kv_->del_bytes_ += begin.size() + end.size(); delete_bytes_ += begin.size() + end.size(); approximate_bytes_ += begin.size() + end.size(); } diff --git a/cloud/src/meta-store/mem_txn_kv.h b/cloud/src/meta-store/mem_txn_kv.h index 337f23a0361971..d74938d682560a 100644 --- a/cloud/src/meta-store/mem_txn_kv.h +++ b/cloud/src/meta-store/mem_txn_kv.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -57,6 +58,9 @@ class MemTxnKv : public TxnKv, public std::enable_shared_from_this { TxnErrorCode get_kv(const std::string& begin, const std::string& end, int64_t version, int limit, bool* more, std::map* kv_list); + int64_t get_bytes_ {}; + int64_t put_bytes_ {}; + int64_t del_bytes_ {}; int64_t get_count_ {}; int64_t put_count_ {}; int64_t del_count_ {}; @@ -203,6 +207,8 @@ class Transaction : public cloud::Transaction { size_t put_bytes() const override { return put_bytes_; } + size_t get_bytes() const override { return get_bytes_; } + private: TxnErrorCode inner_get(const std::string& key, std::string* val, bool snapshot); @@ -229,6 +235,7 @@ class Transaction : public cloud::Transaction { size_t num_put_keys_ {0}; size_t delete_bytes_ {0}; size_t put_bytes_ {0}; + size_t get_bytes_ {0}; }; class RangeGetIterator : public cloud::RangeGetIterator { @@ -250,6 +257,12 @@ class RangeGetIterator : public cloud::RangeGetIterator { bool more() override { return more_; } + int64_t get_kv_bytes() const override { + int64_t kv_bytes {}; + for (auto& [k, v] : kvs_) kv_bytes += k.size() + v.size(); + return kv_bytes; + } + int size() override { return kvs_size_; } void reset() override { idx_ = 0; } diff --git a/cloud/src/meta-store/txn_kv.cpp b/cloud/src/meta-store/txn_kv.cpp index 76f3c724958067..2b07870a321e72 100644 --- a/cloud/src/meta-store/txn_kv.cpp +++ b/cloud/src/meta-store/txn_kv.cpp @@ -407,6 +407,7 @@ TxnErrorCode Transaction::get(std::string_view key, std::string* val, bool snaps << " key=" << hex(key); return cast_as_txn_code(err); } + get_bytes_ += len + key.size(); if (!found) return TxnErrorCode::TXN_KEY_NOT_FOUND; *val = std::string((char*)ret, len); @@ -440,6 +441,7 @@ TxnErrorCode Transaction::get(std::string_view begin, std::string_view end, std::unique_ptr ret(new RangeGetIterator(fut)); RETURN_IF_ERROR(ret->init()); num_get_keys_ += ret->size(); + get_bytes_ += ret->get_kv_bytes(); g_bvar_txn_kv_get_count_normalized << ret->size(); *(iter) = std::move(ret); @@ -655,6 +657,7 @@ TxnErrorCode Transaction::batch_get(std::vector>* res const uint8_t* ret; int len; err = fdb_future_get_value(future, &found, &ret, &len); + num_get_keys_++; if (err) { LOG(WARNING) << __PRETTY_FUNCTION__ << " failed to fdb_future_get_value err=" << fdb_get_error(err) @@ -665,12 +668,12 @@ TxnErrorCode Transaction::batch_get(std::vector>* res res->push_back(std::nullopt); continue; } + get_bytes_ += len + key.size(); res->push_back(std::string((char*)ret, len)); } futures.clear(); } DCHECK_EQ(res->size(), num_keys); - num_get_keys_ += num_keys; return TxnErrorCode::TXN_OK; } diff --git a/cloud/src/meta-store/txn_kv.h b/cloud/src/meta-store/txn_kv.h index 56757cdb68ac9f..45d3b1cc8100e0 100644 --- a/cloud/src/meta-store/txn_kv.h +++ b/cloud/src/meta-store/txn_kv.h @@ -20,6 +20,8 @@ #include #include +#include +#include #include #include #include @@ -253,6 +255,11 @@ class Transaction { **/ virtual size_t delete_bytes() const = 0; + /** + * @brief return the bytes of the get values consumed. + **/ + virtual size_t get_bytes() const = 0; + /** * @brief return the bytes of the put key and values consumed. **/ @@ -298,6 +305,12 @@ class RangeGetIterator { */ virtual int size() = 0; + /** + * Get all FDBKeyValue's bytes include key's bytes + * RangeGetIterator created by get range, when get range the keys in the range too. + */ + virtual int64_t get_kv_bytes() const = 0; + /** * Resets to initial state, some kinds of iterators may not support this function. */ @@ -457,6 +470,14 @@ class RangeGetIterator : public cloud::RangeGetIterator { int size() override { return kvs_size_; } + int64_t get_kv_bytes() const override { + int64_t total_bytes {}; + for (int i = 0; i < kvs_size_; i++) { + total_bytes += kvs_[i].key_length + kvs_[i].value_length; + } + return total_bytes; + } + void reset() override { idx_ = 0; } std::string next_begin_key() override { @@ -580,6 +601,8 @@ class Transaction : public cloud::Transaction { size_t put_bytes() const override { return put_bytes_; } + size_t get_bytes() const override { return get_bytes_; } + private: std::shared_ptr db_ {nullptr}; bool commited_ = false; @@ -590,6 +613,7 @@ class Transaction : public cloud::Transaction { size_t num_del_keys_ {0}; size_t num_put_keys_ {0}; size_t delete_bytes_ {0}; + size_t get_bytes_ {0}; size_t put_bytes_ {0}; size_t approximate_bytes_ {0}; }; diff --git a/cloud/test/rpc_kv_bvar_test.cpp b/cloud/test/rpc_kv_bvar_test.cpp index 9ff4aac0c20749..d737718d313ceb 100644 --- a/cloud/test/rpc_kv_bvar_test.cpp +++ b/cloud/test/rpc_kv_bvar_test.cpp @@ -507,19 +507,25 @@ void finish_schema_change_job( meta_service->finish_tablet_job(&cntl, &req, &res, nullptr); } +void clear_memkv_count_bytes(MemTxnKv* memkv) { + memkv->get_count_ = memkv->put_count_ = memkv->del_count_ = 0; + memkv->get_bytes_ = memkv->put_bytes_ = memkv->del_bytes_ = 0; +} + // create_tablets TEST(RpcKvBvarTest, CreateTablets) { auto meta_service = get_meta_service(); auto mem_kv = std::dynamic_pointer_cast(meta_service->txn_kv()); constexpr auto table_id = 10021, index_id = 10022, partition_id = 10023, tablet_id = 10024; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); create_tablet(meta_service.get(), table_id, index_id, partition_id, tablet_id); LOG(INFO) << "CreateTablets: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_create_tablets_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_create_tablets_put_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_create_tablets_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_create_tablets_put_counter.get({mock_instance})); } @@ -532,9 +538,7 @@ TEST(RpcKvBvarTest, GetTablet) { constexpr auto table_id = 10021, index_id = 10022, partition_id = 10023, tablet_id = 10024; create_tablet(meta_service.get(), table_id, index_id, partition_id, tablet_id); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); brpc::Controller cntl; GetTabletRequest req; @@ -544,7 +548,9 @@ TEST(RpcKvBvarTest, GetTablet) { meta_service->get_tablet(&cntl, &req, &resp, nullptr); LOG(INFO) << "GetTablet: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_get_tablet_get_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_tablet_get_counter.get({mock_instance})); } @@ -556,15 +562,16 @@ TEST(RpcKvBvarTest, GetTabletStats) { constexpr auto table_id = 10021, index_id = 10022, partition_id = 10023, tablet_id = 10024; create_tablet(meta_service.get(), table_id, index_id, partition_id, tablet_id); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); GetTabletStatsResponse res; get_tablet_stats(meta_service.get(), table_id, index_id, partition_id, tablet_id, res); LOG(INFO) << "GetTabletStats: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_get_tablet_stats_get_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_tablet_stats_get_counter.get({mock_instance})); } @@ -583,14 +590,16 @@ TEST(RpcKvBvarTest, UpdateTablet) { tablet_meta_info->set_tablet_id(tablet_id); tablet_meta_info->set_is_in_memory(true); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->update_tablet(&cntl, &req, &resp, nullptr); LOG(INFO) << "UpdateTablet: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_update_tablet_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_update_tablet_put_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_update_tablet_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_update_tablet_put_counter.get({mock_instance})); } @@ -636,14 +645,16 @@ TEST(RpcKvBvarTest, BeginTxn) { int64_t txn_id = 0; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); ASSERT_NO_FATAL_FAILURE(begin_txn(meta_service.get(), db_id, label, table_id, txn_id)); LOG(INFO) << "BeginTxn: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_begin_txn_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_begin_txn_put_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_begin_txn_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_begin_txn_put_counter.get({mock_instance})); } @@ -659,14 +670,17 @@ TEST(RpcKvBvarTest, CommitTxn) { int64_t txn_id = 0; ASSERT_NO_FATAL_FAILURE(begin_txn(meta_service.get(), db_id, label, table_id, txn_id)); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); commit_txn(meta_service.get(), db_id, txn_id, label); LOG(INFO) << "CommitTxn: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_commit_txn_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_commit_txn_put_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->del_bytes_, g_bvar_rpc_kv_commit_txn_del_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_commit_txn_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_commit_txn_put_counter.get({mock_instance})); ASSERT_EQ(mem_kv->del_count_, g_bvar_rpc_kv_commit_txn_del_counter.get({mock_instance})); @@ -716,16 +730,18 @@ TEST(RpcKvBvarTest, PrecommitTxn) { req.set_precommit_timeout_ms(36000); PrecommitTxnResponse res; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->precommit_txn(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &req, &res, nullptr); ASSERT_EQ(res.status().code(), MetaServiceCode::OK); LOG(INFO) << "PrecommitTxn: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_precommit_txn_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_precommit_txn_put_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_precommit_txn_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_precommit_txn_put_counter.get({mock_instance})); } @@ -741,9 +757,7 @@ TEST(RpcKvBvarTest, AbortTxn) { int64_t txn_id = 0; ASSERT_NO_FATAL_FAILURE(begin_txn(meta_service.get(), db_id, label, table_id, txn_id)); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); brpc::Controller cntl; AbortTxnRequest req; @@ -756,7 +770,12 @@ TEST(RpcKvBvarTest, AbortTxn) { ASSERT_EQ(res.status().code(), MetaServiceCode::OK); LOG(INFO) << "AbortTxn: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_abort_txn_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_abort_txn_put_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->del_bytes_, g_bvar_rpc_kv_abort_txn_del_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_abort_txn_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_abort_txn_put_counter.get({mock_instance})); ASSERT_EQ(mem_kv->del_count_, g_bvar_rpc_kv_abort_txn_del_counter.get({mock_instance})); @@ -773,9 +792,7 @@ TEST(RpcKvBvarTest, GetTxn) { int64_t txn_id = 0; ASSERT_NO_FATAL_FAILURE(begin_txn(meta_service.get(), db_id, label, table_id, txn_id)); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); brpc::Controller cntl; GetTxnRequest req; @@ -788,7 +805,10 @@ TEST(RpcKvBvarTest, GetTxn) { ASSERT_EQ(res.status().code(), MetaServiceCode::OK); LOG(INFO) << "GetTxn: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_get_txn_get_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_txn_get_counter.get({mock_instance})); } @@ -812,14 +832,15 @@ TEST(RpcKvBvarTest, GetTxnId) { req.set_label(label); req.set_db_id(db_id); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->get_txn_id(&cntl, &req, &res, nullptr); LOG(INFO) << "GetTxnId: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_get_txn_id_get_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_txn_id_get_counter.get({mock_instance})); } @@ -839,14 +860,16 @@ TEST(RpcKvBvarTest, PrepareRowset) { rowset.mutable_load_id()->set_hi(123); rowset.mutable_load_id()->set_lo(456); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); prepare_rowset(meta_service.get(), rowset, res); LOG(INFO) << "PrepareRowset: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_prepare_rowset_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_prepare_rowset_put_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_prepare_rowset_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_prepare_rowset_put_counter.get({mock_instance})); } @@ -863,16 +886,17 @@ TEST(RpcKvBvarTest, GetRowset) { // check get tablet response check_get_tablet(meta_service.get(), tablet_id, 1); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); // check get rowset response GetRowsetResponse get_rowset_res; get_rowset(meta_service.get(), table_id, index_id, partition_id, tablet_id, get_rowset_res); LOG(INFO) << "GetRowset: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_get_rowset_get_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_rowset_get_counter.get({mock_instance})); } @@ -904,10 +928,7 @@ TEST(RpcKvBvarTest, UpdateTmpRowset) { EXPECT_EQ(txn->commit(), TxnErrorCode::TXN_OK); req->mutable_rowset_meta()->CopyFrom(rowset); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; - + clear_memkv_count_bytes(mem_kv.get()); meta_service->update_tmp_rowset(&cntl, req, &res, nullptr); if (!arena) { @@ -915,7 +936,11 @@ TEST(RpcKvBvarTest, UpdateTmpRowset) { } LOG(INFO) << "UpdateTmpRowset: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_update_tmp_rowset_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_update_tmp_rowset_put_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_update_tmp_rowset_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_update_tmp_rowset_put_counter.get({mock_instance})); } @@ -930,15 +955,18 @@ TEST(RpcKvBvarTest, CommitRowset) { create_tablet(meta_service.get(), table_id, index_id, partition_id, tablet_id); auto tmp_rowset = create_rowset(txn_id, tablet_id, partition_id); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); CreateRowsetResponse res; commit_rowset(meta_service.get(), tmp_rowset, res); LOG(INFO) << "CommitRowset: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_commit_rowset_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_commit_rowset_put_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->del_bytes_, g_bvar_rpc_kv_commit_rowset_del_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_commit_rowset_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_commit_rowset_put_counter.get({mock_instance})); ASSERT_EQ(mem_kv->del_count_, g_bvar_rpc_kv_commit_rowset_del_counter.get({mock_instance})); @@ -960,15 +988,16 @@ TEST(RpcKvBvarTest, GetVersion) { req.set_table_id(table_id); req.set_partition_id(partition_id); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); GetVersionResponse resp; meta_service->get_version(&ctrl, &req, &resp, nullptr); LOG(INFO) << "GetVersion: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_get_version_get_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_version_get_counter.get({mock_instance})); } @@ -991,15 +1020,16 @@ TEST(RpcKvBvarTest, GetSchemaDict) { txn->put(dict_key, "dict_val"); EXPECT_EQ(txn->commit(), TxnErrorCode::TXN_OK); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); GetSchemaDictResponse resp; meta_service->get_schema_dict(&ctrl, &req, &resp, nullptr); LOG(INFO) << "GetSchemaDict: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_get_schema_dict_get_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_schema_dict_get_counter.get({mock_instance})); } @@ -1021,14 +1051,20 @@ TEST(RpcKvBvarTest, GetDeleteBitmapUpdateLock) { int64_t lock_id = -2; int64_t initiator = 1009; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); get_delete_bitmap_update_lock(meta_service.get(), table_id, t1p1, lock_id, initiator); LOG(INFO) << "GetDeleteBitmapUpdateLock: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ - << ", " << mem_kv->del_count_; + << ", " << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " + << mem_kv->put_bytes_ << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, + g_bvar_rpc_kv_get_delete_bitmap_update_lock_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, + g_bvar_rpc_kv_get_delete_bitmap_update_lock_put_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->del_bytes_, + g_bvar_rpc_kv_get_delete_bitmap_update_lock_del_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_delete_bitmap_update_lock_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, @@ -1062,15 +1098,21 @@ TEST(RpcKvBvarTest, UpdateDeleteBitmap) { // will be splited and stored in 5 KVs std::string data1(split_size * 5, 'c'); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); update_delete_bitmap(meta_service.get(), update_delete_bitmap_req, update_delete_bitmap_res, table_id, t1p1, lock_id, initiator, tablet_id, txn_id, version, data1); LOG(INFO) << "UpdateDeleteBitmap: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, + g_bvar_rpc_kv_update_delete_bitmap_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, + g_bvar_rpc_kv_update_delete_bitmap_put_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->del_bytes_, + g_bvar_rpc_kv_update_delete_bitmap_del_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_update_delete_bitmap_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, @@ -1114,15 +1156,16 @@ TEST(RpcKvBvarTest, GetDeleteBitmap) { get_delete_bitmap_req.add_begin_versions(0); get_delete_bitmap_req.add_end_versions(version); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->get_delete_bitmap(reinterpret_cast(&ctrl), &get_delete_bitmap_req, &get_delete_bitmap_res, nullptr); LOG(INFO) << "GetDeleteBitmap: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_get_delete_bitmap_get_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_delete_bitmap_get_counter.get({mock_instance})); } @@ -1154,16 +1197,22 @@ TEST(RpcKvBvarTest, RemoveDeleteBitmapUpdateLock) { remove_req.set_lock_id(lock_id); remove_req.set_initiator(initiator); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->remove_delete_bitmap_update_lock( reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &remove_req, &remove_res, nullptr); LOG(INFO) << "RemoveDeleteBitmapUpdateLock: " << mem_kv->get_count_ << ", " - << mem_kv->put_count_ << ", " << mem_kv->del_count_; + << mem_kv->put_count_ << ", " << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ + << ", " << mem_kv->put_bytes_ << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, + g_bvar_rpc_kv_remove_delete_bitmap_update_lock_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, + g_bvar_rpc_kv_remove_delete_bitmap_update_lock_put_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->del_bytes_, + g_bvar_rpc_kv_remove_delete_bitmap_update_lock_del_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_remove_delete_bitmap_update_lock_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, @@ -1206,14 +1255,16 @@ TEST(RpcKvBvarTest, RemoveDeleteBitmap) { req.add_rowset_ids("rowset_ids"); req.set_cloud_unique_id("test_cloud_unique_id"); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->remove_delete_bitmap(&ctrl, &req, &resp, nullptr); LOG(INFO) << "RemoveDeleteBitmap: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->del_bytes_, + g_bvar_rpc_kv_remove_delete_bitmap_del_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->del_count_, g_bvar_rpc_kv_remove_delete_bitmap_del_counter.get({mock_instance})); } @@ -1229,15 +1280,17 @@ TEST(RpcKvBvarTest, StartTabletJob) { create_tablet(meta_service.get(), table_id, index_id, partition_id, tablet_id); StartTabletJobResponse res; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); start_compaction_job(meta_service.get(), tablet_id, "compaction1", "ip:port", 0, 0, TabletCompactionJobPB::BASE, res); LOG(INFO) << "StartTabletJob: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_start_tablet_job_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_start_tablet_job_put_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_start_tablet_job_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_start_tablet_job_put_counter.get({mock_instance})); } @@ -1280,14 +1333,17 @@ TEST(RpcKvBvarTest, FinishTabletJob) { compaction->set_lease(now + 10); req.mutable_job()->mutable_idx()->set_tablet_id(tablet_id); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->finish_tablet_job(&cntl, &req, &finish_res_2, nullptr); LOG(INFO) << "FinishTabletJob: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_finish_tablet_job_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_finish_tablet_job_put_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->del_bytes_, g_bvar_rpc_kv_finish_tablet_job_del_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_finish_tablet_job_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_finish_tablet_job_put_counter.get({mock_instance})); ASSERT_EQ(mem_kv->del_count_, g_bvar_rpc_kv_finish_tablet_job_del_counter.get({mock_instance})); @@ -1325,14 +1381,16 @@ TEST(RpcKvBvarTest, PrepareIndex) { req.set_is_new_table(true); IndexResponse res; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->prepare_index(&ctrl, &req, &res, nullptr); LOG(INFO) << "PrepareIndex: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_prepare_index_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_prepare_index_put_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_prepare_index_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_prepare_index_put_counter.get({mock_instance})); } @@ -1371,14 +1429,17 @@ TEST(RpcKvBvarTest, CommitIndex) { meta_service->prepare_index(&ctrl, &req, &res, nullptr); res.Clear(); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->commit_index(&ctrl, &req, &res, nullptr); LOG(INFO) << "CommitIndex: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_commit_index_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_commit_index_put_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->del_bytes_, g_bvar_rpc_kv_commit_index_del_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_commit_index_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_commit_index_put_counter.get({mock_instance})); ASSERT_EQ(mem_kv->del_count_, g_bvar_rpc_kv_commit_index_del_counter.get({mock_instance})); @@ -1437,15 +1498,17 @@ TEST(RpcKvBvarTest, DropIndex) { req.add_index_ids(index_id); IndexResponse res; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->drop_index(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &req, &res, nullptr); LOG(INFO) << "DropIndex: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_drop_index_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_drop_index_put_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_drop_index_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_drop_index_put_counter.get({mock_instance})); } @@ -1484,14 +1547,16 @@ TEST(RpcKvBvarTest, PreparePartition) { txn->atomic_add(tbl_version_key, 1); ASSERT_EQ(txn->commit(), TxnErrorCode::TXN_OK); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->prepare_partition(&ctrl, &req, &res, nullptr); LOG(INFO) << "PreparePartition: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_prepare_partition_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_prepare_partition_put_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_prepare_partition_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_prepare_partition_put_counter.get({mock_instance})); } @@ -1530,14 +1595,17 @@ TEST(RpcKvBvarTest, CommitPartition) { ASSERT_EQ(txn->commit(), TxnErrorCode::TXN_OK); meta_service->prepare_partition(&ctrl, &req, &res, nullptr); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->commit_partition(&ctrl, &req, &res, nullptr); LOG(INFO) << "CommitPartition: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_commit_partition_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_commit_partition_put_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->del_bytes_, g_bvar_rpc_kv_commit_partition_del_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_commit_partition_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_commit_partition_put_counter.get({mock_instance})); ASSERT_EQ(mem_kv->del_count_, g_bvar_rpc_kv_commit_partition_del_counter.get({mock_instance})); @@ -1570,14 +1638,15 @@ TEST(RpcKvBvarTest, CheckKv) { check_keys_pb.add_partition_ids(partition_id + 1); req_check.mutable_check_keys()->CopyFrom(check_keys_pb); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->check_kv(&ctrl, &req_check, &res_check, nullptr); LOG(INFO) << "CheckKv: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_check_kv_get_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_check_kv_get_counter.get({mock_instance})); } @@ -1604,14 +1673,16 @@ TEST(RpcKvBvarTest, DropPartition) { req.add_partition_ids(partition_id); req.set_need_update_table_version(true); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->drop_partition(&ctrl, &req, &res, nullptr); LOG(INFO) << "DropPartition: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_drop_partition_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_drop_partition_put_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_drop_partition_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_drop_partition_put_counter.get({mock_instance})); } @@ -1636,14 +1707,15 @@ TEST(RpcKvBvarTest, GetObjStoreInfo) { GetObjStoreInfoRequest req; req.set_cloud_unique_id("test_cloud_unique_id"); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->get_obj_store_info(&cntl, &req, &res, nullptr); LOG(INFO) << "GetObjStoreInfo: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_get_obj_store_info_get_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_obj_store_info_get_counter.get({mock_instance})); } @@ -1674,15 +1746,18 @@ TEST(RpcKvBvarTest, AlterStorageVault) { brpc::Controller cntl; AlterObjStoreInfoResponse res; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->alter_storage_vault(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &req, &res, nullptr); LOG(INFO) << "AlterStorageVault: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_alter_storage_vault_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_alter_storage_vault_put_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->del_bytes_, g_bvar_rpc_kv_alter_storage_vault_del_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_alter_storage_vault_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, @@ -1737,15 +1812,19 @@ TEST(RpcKvBvarTest, AlterObjStoreInfo) { brpc::Controller cntl; AlterObjStoreInfoResponse res; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->alter_obj_store_info(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &req, &res, nullptr); LOG(INFO) << "AlterObjStoreInfo: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, + g_bvar_rpc_kv_alter_obj_store_info_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, + g_bvar_rpc_kv_alter_obj_store_info_put_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_alter_obj_store_info_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, @@ -1804,15 +1883,17 @@ TEST(RpcKvBvarTest, UpdateAkSk) { brpc::Controller cntl; UpdateAkSkResponse res; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->update_ak_sk(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &req, &res, nullptr); LOG(INFO) << "UpdateAkSk: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_update_ak_sk_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_update_ak_sk_put_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_update_ak_sk_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_update_ak_sk_put_counter.get({mock_instance})); @@ -1853,16 +1934,17 @@ TEST(RpcKvBvarTest, CreateInstance) { sp->enable_processing(); CreateInstanceResponse res; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->create_instance(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &req, &res, nullptr); ASSERT_EQ(res.status().code(), MetaServiceCode::OK); LOG(INFO) << "CreateInstance: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_create_instance_get_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_create_instance_get_counter.get({mock_instance})); sp->clear_all_call_backs(); @@ -1910,16 +1992,17 @@ TEST(RpcKvBvarTest, GetInstance) { GetInstanceRequest req; GetInstanceResponse res; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); req.set_cloud_unique_id("1:test_instance:m-n3qdpyal27rh8iprxx"); meta_service->get_instance(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &req, &res, nullptr); LOG(INFO) << "GetInstance: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_get_instance_get_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_instance_get_counter.get({mock_instance})); sp->clear_all_call_backs(); sp->clear_trace(); @@ -1927,7 +2010,6 @@ TEST(RpcKvBvarTest, GetInstance) { } // alter_cluster -// alter cluster have not do kv op // TEST(RpcKvBvarTest, AlterCluster) { // auto meta_service = get_meta_service(); // auto mem_kv = std::dynamic_pointer_cast(meta_service->txn_kv()); @@ -1982,16 +2064,18 @@ TEST(RpcKvBvarTest, GetCluster) { req.set_cluster_name("test_cluster"); GetClusterResponse res; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->get_cluster(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &req, &res, nullptr); ASSERT_EQ(res.status().code(), MetaServiceCode::OK); LOG(INFO) << "GetCluster: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_get_cluster_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_get_cluster_put_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_cluster_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_get_cluster_put_counter.get({mock_instance})); } @@ -2073,16 +2157,16 @@ TEST(RpcKvBvarTest, CreateStage) { create_stage_request.set_cloud_unique_id(cloud_unique_id); create_stage_request.mutable_stage()->CopyFrom(stage); CreateStageResponse create_stage_response; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->create_stage(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &create_stage_request, &create_stage_response, nullptr); - ASSERT_EQ(create_stage_response.status().code(), MetaServiceCode::OK); LOG(INFO) << "CreateStage: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_create_stage_get_bytes.get({instance_id})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_create_stage_put_bytes.get({instance_id})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_create_stage_get_counter.get({instance_id})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_create_stage_put_counter.get({instance_id})); sp->clear_all_call_backs(); @@ -2169,7 +2253,6 @@ TEST(RpcKvBvarTest, GetStage) { CreateStageResponse create_stage_response; meta_service->create_stage(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &create_stage_request, &create_stage_response, nullptr); - ASSERT_EQ(create_stage_response.status().code(), MetaServiceCode::OK); GetStageRequest get_stage_req; get_stage_req.set_type(StagePB::INTERNAL); @@ -2180,17 +2263,15 @@ TEST(RpcKvBvarTest, GetStage) { // get existent internal stage GetStageResponse res2; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->get_stage(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &get_stage_req, &res2, nullptr); - ASSERT_EQ(res2.status().code(), MetaServiceCode::OK); - ASSERT_EQ(1, res2.stage().size()); LOG(INFO) << "GetStage: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_get_stage_get_bytes.get({instance_id})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_stage_get_counter.get({instance_id})); sp->clear_all_call_backs(); sp->clear_trace(); @@ -2268,16 +2349,15 @@ TEST(RpcKvBvarTest, GetIam) { request.set_cloud_unique_id(cloud_unique_id); GetIamResponse response; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; - + clear_memkv_count_bytes(mem_kv.get()); meta_service->get_iam(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &request, &response, nullptr); ASSERT_EQ(response.status().code(), MetaServiceCode::OK); LOG(INFO) << "GetIam: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_get_iam_get_bytes.get({instance_id})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_iam_get_counter.get({instance_id})); sp->clear_all_call_backs(); sp->clear_trace(); @@ -2311,16 +2391,17 @@ TEST(RpcKvBvarTest, AlterIam) { brpc::Controller cntl; AlterIamResponse res; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->alter_iam(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &req, &res, nullptr); ASSERT_EQ(res.status().code(), MetaServiceCode::OK); LOG(INFO) << "AlterIam: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_alter_iam_get_bytes.get({"alter_iam_instance"})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_alter_iam_put_bytes.get({"alter_iam_instance"})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_alter_iam_get_counter.get({"alter_iam_instance"})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_alter_iam_put_counter.get({"alter_iam_instance"})); } @@ -2390,14 +2471,15 @@ TEST(RpcKvBvarTest, AlterRamUser) { alter_ram_user_request.set_instance_id(instance_id); alter_ram_user_request.mutable_ram_user()->CopyFrom(ram_user); AlterRamUserResponse alter_ram_user_response; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->alter_ram_user(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &alter_ram_user_request, &alter_ram_user_response, nullptr); LOG(INFO) << "AlterRamUser: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_alter_ram_user_get_bytes.get({instance_id})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_alter_ram_user_put_bytes.get({instance_id})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_alter_ram_user_get_counter.get({instance_id})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_alter_ram_user_put_counter.get({instance_id})); sp->clear_all_call_backs(); @@ -2444,16 +2526,17 @@ TEST(RpcKvBvarTest, BeginCopy) { } BeginCopyResponse res; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->begin_copy(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &begin_copy_request, &res, nullptr); ASSERT_EQ(res.status().code(), MetaServiceCode::OK); LOG(INFO) << "BeginCopy: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_begin_copy_get_bytes.get({instance_id})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_begin_copy_put_bytes.get({instance_id})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_begin_copy_get_counter.get({instance_id})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_begin_copy_put_counter.get({instance_id})); sp->clear_all_call_backs(); @@ -2511,9 +2594,7 @@ TEST(RpcKvBvarTest, GetCopyJob) { get_copy_job_request.set_copy_id("test_copy_id"); get_copy_job_request.set_group_id(0); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); GetCopyJobResponse res; meta_service->get_copy_job(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), @@ -2521,7 +2602,9 @@ TEST(RpcKvBvarTest, GetCopyJob) { ASSERT_EQ(res.status().code(), MetaServiceCode::OK); LOG(INFO) << "GetCopyJob: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_get_copy_job_get_bytes.get({instance_id})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_copy_job_get_counter.get({instance_id})); sp->clear_all_call_backs(); sp->clear_trace(); @@ -2579,9 +2662,7 @@ TEST(RpcKvBvarTest, FinishCopy) { finish_copy_request.set_group_id(0); finish_copy_request.set_action(FinishCopyRequest::COMMIT); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); FinishCopyResponse res; meta_service->finish_copy(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), @@ -2589,7 +2670,11 @@ TEST(RpcKvBvarTest, FinishCopy) { ASSERT_EQ(res.status().code(), MetaServiceCode::OK); LOG(INFO) << "FinishCopy: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_finish_copy_get_bytes.get({instance_id})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_finish_copy_put_bytes.get({instance_id})); + ASSERT_EQ(mem_kv->del_bytes_, g_bvar_rpc_kv_finish_copy_del_bytes.get({instance_id})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_finish_copy_get_counter.get({instance_id})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_finish_copy_put_counter.get({instance_id})); ASSERT_EQ(mem_kv->del_count_, g_bvar_rpc_kv_finish_copy_del_counter.get({instance_id})); @@ -2645,9 +2730,7 @@ TEST(RpcKvBvarTest, GetCopyFiles) { get_copy_file_req.set_stage_id(stage_id); get_copy_file_req.set_table_id(table_id); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); GetCopyFilesResponse res; meta_service->get_copy_files(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), @@ -2655,7 +2738,9 @@ TEST(RpcKvBvarTest, GetCopyFiles) { ASSERT_EQ(res.status().code(), MetaServiceCode::OK); LOG(INFO) << "GetCopyFiles: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_get_copy_files_get_bytes.get({instance_id})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_copy_files_get_counter.get({instance_id})); sp->clear_all_call_backs(); sp->clear_trace(); @@ -2716,16 +2801,16 @@ TEST(RpcKvBvarTest, FilterCopyFiles) { request.add_object_files()->CopyFrom(object_file); } FilterCopyFilesResponse res; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->filter_copy_files(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &request, &res, nullptr); ASSERT_EQ(res.status().code(), MetaServiceCode::OK); LOG(INFO) << "FilterCopyFiles: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_filter_copy_files_get_bytes.get({instance_id})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_filter_copy_files_get_counter.get({instance_id})); sp->clear_all_call_backs(); sp->clear_trace(); @@ -2779,9 +2864,7 @@ TEST(RpcKvBvarTest, GetClusterStatus) { req.add_instance_ids(mock_instance); GetClusterStatusResponse res; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->get_cluster_status(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &req, &res, nullptr); @@ -2789,7 +2872,9 @@ TEST(RpcKvBvarTest, GetClusterStatus) { ASSERT_EQ(res.details().at(0).clusters().size(), 3); LOG(INFO) << "GetClusterStatus: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_get_cluster_status_get_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_cluster_status_get_counter.get({mock_instance})); } @@ -2829,16 +2914,17 @@ TEST(RpcKvBvarTest, GetCurrentMaxTxnId) { max_txn_id_req.set_cloud_unique_id(cloud_unique_id); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->get_current_max_txn_id( reinterpret_cast<::google::protobuf::RpcController*>(&max_txn_id_cntl), &max_txn_id_req, &max_txn_id_res, nullptr); LOG(INFO) << "GetCurrentMaxTxnId: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, + g_bvar_rpc_kv_get_current_max_txn_id_get_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_get_current_max_txn_id_get_counter.get({mock_instance})); } @@ -2894,15 +2980,17 @@ TEST(RpcKvBvarTest, BeginSubTxn) { req.mutable_table_ids()->Add(t2); BeginSubTxnResponse res; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->begin_sub_txn(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &req, &res, nullptr); LOG(INFO) << "BeginSubTxn: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_begin_sub_txn_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_begin_sub_txn_put_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->del_bytes_, g_bvar_rpc_kv_begin_sub_txn_del_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_begin_sub_txn_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_begin_sub_txn_put_counter.get({mock_instance})); ASSERT_EQ(mem_kv->del_count_, g_bvar_rpc_kv_begin_sub_txn_del_counter.get({mock_instance})); @@ -2973,15 +3061,16 @@ TEST(RpcKvBvarTest, AbortSubTxn) { req.mutable_table_ids()->Add(t2); AbortSubTxnResponse res; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->abort_sub_txn(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &req, &res, nullptr); LOG(INFO) << "AbortSubTxn: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_abort_sub_txn_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_abort_sub_txn_put_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_abort_sub_txn_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_abort_sub_txn_put_counter.get({mock_instance})); } @@ -3033,16 +3122,17 @@ TEST(RpcKvBvarTest, AbortTxnWithCoordinator) { abort_txn_req.set_ip(host); abort_txn_req.set_start_time(cur_time + 3600); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->abort_txn_with_coordinator( reinterpret_cast<::google::protobuf::RpcController*>(&begin_txn_cntl), &abort_txn_req, &abort_txn_resp, nullptr); LOG(INFO) << "AbortTxnWithCoordinator: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ - << ", " << mem_kv->del_count_; + << ", " << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " + << mem_kv->put_bytes_ << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, + g_bvar_rpc_kv_abort_txn_with_coordinator_get_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_abort_txn_with_coordinator_get_counter.get({mock_instance})); } @@ -3085,16 +3175,16 @@ TEST(RpcKvBvarTest, CheckTxnConflict) { check_txn_conflict_req.set_end_txn_id(txn_id + 1); check_txn_conflict_req.add_table_ids(table_id); - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->check_txn_conflict( reinterpret_cast<::google::protobuf::RpcController*>(&begin_txn_cntl), &check_txn_conflict_req, &check_txn_conflict_res, nullptr); LOG(INFO) << "CheckTxnConflict: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_check_txn_conflict_get_bytes.get({mock_instance})); ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_check_txn_conflict_get_counter.get({mock_instance})); } @@ -3125,17 +3215,19 @@ TEST(RpcKvBvarTest, CleanTxnLabel) { req.add_labels(label); CleanTxnLabelResponse res; - mem_kv->get_count_ = 0; - mem_kv->put_count_ = 0; - mem_kv->del_count_ = 0; + clear_memkv_count_bytes(mem_kv.get()); meta_service->clean_txn_label(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), &req, &res, nullptr); LOG(INFO) << "CleanTxnLabel: " << mem_kv->get_count_ << ", " << mem_kv->put_count_ << ", " - << mem_kv->del_count_; + << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " << mem_kv->put_bytes_ + << ", " << mem_kv->del_bytes_; ASSERT_EQ(mem_kv->get_count_, g_bvar_rpc_kv_clean_txn_label_get_counter.get({mock_instance})); ASSERT_EQ(mem_kv->put_count_, g_bvar_rpc_kv_clean_txn_label_put_counter.get({mock_instance})); ASSERT_EQ(mem_kv->del_count_, g_bvar_rpc_kv_clean_txn_label_del_counter.get({mock_instance})); + ASSERT_EQ(mem_kv->get_bytes_, g_bvar_rpc_kv_clean_txn_label_get_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->put_bytes_, g_bvar_rpc_kv_clean_txn_label_put_bytes.get({mock_instance})); + ASSERT_EQ(mem_kv->del_bytes_, g_bvar_rpc_kv_clean_txn_label_del_bytes.get({mock_instance})); } } // namespace doris::cloud