mirror of
https://github.com/facebook/rocksdb.git
synced 2024-11-27 02:44:18 +00:00
dc4532c497
Summary: Add --thread_status_per_interval to db_bench, which allows db_bench to optionally enable print the current thread status periodically. Test Plan: ./db_bench --benchmarks=fillrandom --num=100000 --threads=40 --max_background_compactions=10 --max_background_flushes=3 --thread_status_per_interval=1000 --key_size=16 --value_size=1000 --num_column_families=10 Sample output: ThreadID ThreadType dbName cfName Operation State 140281571770432 Low Pri 140281575964736 High Pri /tmp/rocksdbtest-5297/dbbench column_family_name_000001 Flush 140281710182464 Low Pri /tmp/rocksdbtest-5297/dbbench column_family_name_000008 Compaction 140281638879296 Low Pri /tmp/rocksdbtest-5297/dbbench column_family_name_000007 Compaction 140281592741952 Low Pri 140281580159040 High Pri /tmp/rocksdbtest-5297/dbbench column_family_name_000002 Flush 140281676628032 Low Pri /tmp/rocksdbtest-5297/dbbench column_family_name_000006 Compaction 140281584353344 Low Pri 140281622102080 Low Pri /tmp/rocksdbtest-5297/dbbench column_family_name_000009 Compaction 140281605324864 Low Pri /tmp/rocksdbtest-5297/dbbench column_family_name_000004 Compaction 140281601130560 High Pri /tmp/rocksdbtest-5297/dbbench default Flush 140281596936256 Low Pri 140281588547648 Low Pri Reviewers: igor, rven, sdong Reviewed By: rven Subscribers: dhruba Differential Revision: https://reviews.facebook.net/D34515
52 lines
1.4 KiB
C++
52 lines
1.4 KiB
C++
// Copyright (c) 2013, Facebook, Inc. All rights reserved.
|
|
// This source code is licensed under the BSD-style license found in the
|
|
// LICENSE file in the root directory of this source tree. An additional grant
|
|
// of patent rights can be found in the PATENTS file in the same directory.
|
|
//
|
|
|
|
#include "rocksdb/thread_status.h"
|
|
#include "util/thread_operation.h"
|
|
|
|
namespace rocksdb {
|
|
|
|
#if ROCKSDB_USING_THREAD_STATUS
|
|
const std::string& ThreadStatus::GetThreadTypeName(
|
|
ThreadStatus::ThreadType thread_type) {
|
|
static std::string thread_type_names[NUM_THREAD_TYPES + 1] = {
|
|
"High Pri", "Low Pri", "User", "Unknown"};
|
|
return thread_type_names[thread_type];
|
|
}
|
|
|
|
const std::string& ThreadStatus::GetOperationName(
|
|
ThreadStatus::OperationType op_type) {
|
|
return global_operation_table[op_type].name;
|
|
}
|
|
|
|
const std::string& ThreadStatus::GetStateName(
|
|
ThreadStatus::StateType state_type) {
|
|
return global_state_table[state_type].name;
|
|
}
|
|
|
|
#else
|
|
|
|
const std::string& ThreadStatus::GetThreadTypeName(
|
|
ThreadStatus::ThreadType thread_type) {
|
|
static std::string dummy_str = "";
|
|
return dummy_str;
|
|
}
|
|
|
|
const std::string& ThreadStatus::GetOperationName(
|
|
ThreadStatus::OperationType op_type) {
|
|
static std::string dummy_str = "";
|
|
return dummy_str;
|
|
}
|
|
|
|
const std::string& ThreadStatus::GetStateName(
|
|
ThreadStatus::StateType state_type) {
|
|
static std::string dummy_str = "";
|
|
return dummy_str;
|
|
}
|
|
|
|
#endif // ROCKSDB_USING_THREAD_STATUS
|
|
} // namespace rocksdb
|