Summary: Context/Summary: as mentioned in the [comment](https://github.com/facebook/rocksdb/pull/13178?fbclid=IwZXh0bgNhZW0CMTAAAR1nvz-1Ifh6Pm8PwFZbGHAxhLtwfi4W_XaSe-BqnBx3ICJOq-9DTdqFvs0_aem_ITO_0B6cca0kTViRmsAA8g#issuecomment-2702510373) , we want to rename this public name to align with the naming convention. Pull Request resolved: https://github.com/facebook/rocksdb/pull/13471 Test Plan: - Compilation - Manually check for no internal usage of this name. Hopefully it's good for OSS as well as this field is relatively new and the whole IOActivity is marked "EXPERIMENTAL" Reviewed By: mszeszko-meta Differential Revision: D71485300 Pulled By: hx235 fbshipit-source-id: 318c8b6c2a4d874f2f831e3ca690aa2fb8974c0f
63 lines
2.3 KiB
C++
63 lines
2.3 KiB
C++
// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
|
|
// This source code is licensed under both the GPLv2 (found in the
|
|
// COPYING file in the root directory) and Apache 2.0 License
|
|
// (found in the LICENSE.Apache file in the root directory).
|
|
|
|
#include <atomic>
|
|
|
|
#include "monitoring/thread_status_updater.h"
|
|
#include "monitoring/thread_status_util.h"
|
|
#include "rocksdb/system_clock.h"
|
|
|
|
namespace ROCKSDB_NAMESPACE {
|
|
|
|
#ifndef NDEBUG
|
|
// the delay for debugging purpose.
|
|
static std::atomic<int> states_delay[ThreadStatus::NUM_STATE_TYPES];
|
|
|
|
void ThreadStatusUtil::TEST_SetStateDelay(const ThreadStatus::StateType state,
|
|
int micro) {
|
|
states_delay[state].store(micro, std::memory_order_relaxed);
|
|
}
|
|
|
|
void ThreadStatusUtil::TEST_StateDelay(const ThreadStatus::StateType state) {
|
|
auto delay = states_delay[state].load(std::memory_order_relaxed);
|
|
if (delay > 0) {
|
|
SystemClock::Default()->SleepForMicroseconds(delay);
|
|
}
|
|
}
|
|
|
|
Env::IOActivity ThreadStatusUtil::TEST_GetExpectedIOActivity(
|
|
ThreadStatus::OperationType thread_op) {
|
|
switch (thread_op) {
|
|
case ThreadStatus::OperationType::OP_FLUSH:
|
|
return Env::IOActivity::kFlush;
|
|
case ThreadStatus::OperationType::OP_COMPACTION:
|
|
return Env::IOActivity::kCompaction;
|
|
case ThreadStatus::OperationType::OP_DBOPEN:
|
|
return Env::IOActivity::kDBOpen;
|
|
case ThreadStatus::OperationType::OP_GET:
|
|
return Env::IOActivity::kGet;
|
|
case ThreadStatus::OperationType::OP_MULTIGET:
|
|
return Env::IOActivity::kMultiGet;
|
|
case ThreadStatus::OperationType::OP_DBITERATOR:
|
|
return Env::IOActivity::kDBIterator;
|
|
case ThreadStatus::OperationType::OP_VERIFY_DB_CHECKSUM:
|
|
return Env::IOActivity::kVerifyDBChecksum;
|
|
case ThreadStatus::OperationType::OP_VERIFY_FILE_CHECKSUMS:
|
|
return Env::IOActivity::kVerifyFileChecksums;
|
|
case ThreadStatus::OperationType::OP_GETENTITY:
|
|
return Env::IOActivity::kGetEntity;
|
|
case ThreadStatus::OperationType::OP_MULTIGETENTITY:
|
|
return Env::IOActivity::kMultiGetEntity;
|
|
case ThreadStatus::OperationType::
|
|
OP_GET_FILE_CHECKSUMS_FROM_CURRENT_MANIFEST:
|
|
return Env::IOActivity::kGetFileChecksumsFromCurrentManifest;
|
|
default:
|
|
return Env::IOActivity::kUnknown;
|
|
}
|
|
}
|
|
|
|
#endif // !NDEBUG
|
|
|
|
} // namespace ROCKSDB_NAMESPACE
|