mirror of
https://github.com/dragonflydb/dragonfly.git
synced 2025-05-10 18:05:44 +02:00
feat: track differrent patterns of multi/exec transactions (#2334)
* feat: track differrent patterns of multi/exec transactions This information is exposed via "DEBUG EXEC" command. Signed-off-by: Roman Gershman <roman@dragonflydb.io> * chore: address comments + add basic squasher stats --------- Signed-off-by: Roman Gershman <roman@dragonflydb.io>
This commit is contained in:
parent
ce7497071c
commit
bd7a02d474
7 changed files with 72 additions and 1 deletions
|
@ -48,7 +48,7 @@ auto ServerState::Stats::operator=(Stats&& other) -> Stats& {
|
|||
}
|
||||
|
||||
ServerState::Stats& ServerState::Stats::Add(unsigned num_shards, const ServerState::Stats& other) {
|
||||
static_assert(sizeof(Stats) == 10 * 8, "Stats size mismatch");
|
||||
static_assert(sizeof(Stats) == 13 * 8, "Stats size mismatch");
|
||||
|
||||
for (int i = 0; i < NUM_TX_TYPES; ++i) {
|
||||
this->tx_type_cnt[i] += other.tx_type_cnt[i];
|
||||
|
@ -59,6 +59,10 @@ ServerState::Stats& ServerState::Stats::Add(unsigned num_shards, const ServerSta
|
|||
this->eval_squashed_flushes += other.eval_squashed_flushes;
|
||||
this->tx_schedule_cancel_cnt += other.tx_schedule_cancel_cnt;
|
||||
|
||||
this->multi_squash_executions += other.multi_squash_executions;
|
||||
this->multi_squash_exec_hop_usec += other.multi_squash_exec_hop_usec;
|
||||
this->multi_squash_exec_reply_usec += other.multi_squash_exec_reply_usec;
|
||||
|
||||
if (this->tx_width_freq_arr == nullptr) {
|
||||
this->tx_width_freq_arr = new uint64_t[num_shards];
|
||||
std::copy_n(other.tx_width_freq_arr, num_shards, this->tx_width_freq_arr);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue