Skip to content

Commit

Permalink
add test framework on cu_stat
Browse files Browse the repository at this point in the history
  • Loading branch information
neverchanje committed May 23, 2019
1 parent 5b28f64 commit 2212e06
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 5 deletions.
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cmake_minimum_required(VERSION 3.13)
add_subdirectory(src)
6 changes: 4 additions & 2 deletions src/server/capacity_unit_calculator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,18 @@ capacity_unit_calculator::capacity_unit_calculator(replica_base *r) : replica_ba
"statistic the recent write capacity units");
}

void capacity_unit_calculator::add_read_cu(int64_t read_data_size)
int64_t capacity_unit_calculator::add_read_cu(int64_t read_data_size)
{
int64_t read_cu = (read_data_size + _read_capacity_unit_size - 1) >> _log_read_cu_size;
_pfc_recent_read_cu->add(read_cu);
return read_cu;
}

void capacity_unit_calculator::add_write_cu(int64_t write_data_size)
int64_t capacity_unit_calculator::add_write_cu(int64_t write_data_size)
{
int64_t write_cu = (write_data_size + _write_capacity_unit_size - 1) >> _log_write_cu_size;
_pfc_recent_write_cu->add(write_cu);
return write_cu;
}

void capacity_unit_calculator::add_get_cu(int32_t status, const dsn::blob &value)
Expand Down
6 changes: 4 additions & 2 deletions src/server/capacity_unit_calculator.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,10 @@ class capacity_unit_calculator : public dsn::replication::replica_base
const std::vector<::dsn::apps::mutate> &mutate_list);

private:
void add_read_cu(int64_t read_data_size);
void add_write_cu(int64_t write_data_size);
friend class capacity_unit_calculator_test;

int64_t add_read_cu(int64_t read_data_size);
int64_t add_write_cu(int64_t write_data_size);

uint64_t _read_capacity_unit_size;
uint64_t _write_capacity_unit_size;
Expand Down
55 changes: 55 additions & 0 deletions src/server/test/capacity_unit_calculator_test.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
// Copyright (c) 2017, Xiaomi, Inc. All rights reserved.
// This source code is licensed under the Apache License Version 2.0, which
// can be found in the LICENSE file in the root directory of this source tree.

#include "pegasus_server_test_base.h"

#include <dsn/utility/fail_point.h>
#include <dsn/utility/defer.h>

namespace pegasus {
namespace server {

class capacity_unit_calculator_test : public pegasus_server_test_base
{
std::unique_ptr<capacity_unit_calculator> _cal;

public:
capacity_unit_calculator_test() : pegasus_server_test_base()
{
_cal = dsn::make_unique<capacity_unit_calculator>(_server.get());
}

void test_init() {}
};

TEST_F(capacity_unit_calculator_test, init) {
test_init();
}

TEST_F(capacity_unit_calculator_test, get) {}

TEST_F(capacity_unit_calculator_test, multi_get) {}

TEST_F(capacity_unit_calculator_test, scan) {}

TEST_F(capacity_unit_calculator_test, sortkey_count) {}

TEST_F(capacity_unit_calculator_test, ttl) {}

TEST_F(capacity_unit_calculator_test, put) {}

TEST_F(capacity_unit_calculator_test, remove) {}

TEST_F(capacity_unit_calculator_test, multi_put) {}

TEST_F(capacity_unit_calculator_test, multi_remove) {}

TEST_F(capacity_unit_calculator_test, incr) {}

TEST_F(capacity_unit_calculator_test, check_and_set) {}

TEST_F(capacity_unit_calculator_test, check_and_mutate) {}

} // namespace server
} // namespace pegasus

0 comments on commit 2212e06

Please sign in to comment.