From 298ade8ace46cecb9ce505db0fb036b93be85760 Mon Sep 17 00:00:00 2001 From: Jianpeng Ma Date: Fri, 18 Nov 2016 19:36:44 +0800 Subject: [PATCH] kv/RocksDBStore: Don't update rocksdb perf_context if rocksdb_perf disable. Signed-off-by: Jianpeng Ma --- src/kv/RocksDBStore.cc | 70 +++++++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 32 deletions(-) diff --git a/src/kv/RocksDBStore.cc b/src/kv/RocksDBStore.cc index 0ab97cdc7dd7..440c1a18b56b 100644 --- a/src/kv/RocksDBStore.cc +++ b/src/kv/RocksDBStore.cc @@ -390,25 +390,28 @@ int RocksDBStore::submit_transaction(KeyValueDB::Transaction t) << " Rocksdb transaction: " << rocks_txc.seen << dendl; } utime_t lat = ceph_clock_now(g_ceph_context) - start; - utime_t write_memtable_time; - utime_t write_delay_time; - utime_t write_wal_time; - utime_t write_pre_and_post_process_time; - write_wal_time.set_from_double( - static_cast(rocksdb::perf_context.write_wal_time)/1000000000); - write_memtable_time.set_from_double( - static_cast(rocksdb::perf_context.write_memtable_time)/1000000000); - write_delay_time.set_from_double( - static_cast(rocksdb::perf_context.write_delay_time)/1000000000); - write_pre_and_post_process_time.set_from_double( - static_cast(rocksdb::perf_context.write_pre_and_post_process_time)/1000000000); + + if (g_conf->rocksdb_perf) { + utime_t write_memtable_time; + utime_t write_delay_time; + utime_t write_wal_time; + utime_t write_pre_and_post_process_time; + write_wal_time.set_from_double( + static_cast(rocksdb::perf_context.write_wal_time)/1000000000); + write_memtable_time.set_from_double( + static_cast(rocksdb::perf_context.write_memtable_time)/1000000000); + write_delay_time.set_from_double( + static_cast(rocksdb::perf_context.write_delay_time)/1000000000); + write_pre_and_post_process_time.set_from_double( + static_cast(rocksdb::perf_context.write_pre_and_post_process_time)/1000000000); + logger->tinc(l_rocksdb_write_memtable_time, write_memtable_time); + logger->tinc(l_rocksdb_write_delay_time, write_delay_time); + logger->tinc(l_rocksdb_write_wal_time, write_wal_time); + logger->tinc(l_rocksdb_write_pre_and_post_process_time, write_pre_and_post_process_time); + } logger->inc(l_rocksdb_txns); logger->tinc(l_rocksdb_submit_latency, lat); - logger->tinc(l_rocksdb_write_memtable_time, write_memtable_time); - logger->tinc(l_rocksdb_write_delay_time, write_delay_time); - logger->tinc(l_rocksdb_write_wal_time, write_wal_time); - logger->tinc(l_rocksdb_write_pre_and_post_process_time, write_pre_and_post_process_time); return s.ok() ? 0 : -1; } @@ -441,25 +444,28 @@ int RocksDBStore::submit_transaction_sync(KeyValueDB::Transaction t) << " Rocksdb transaction: " << rocks_txc.seen << dendl; } utime_t lat = ceph_clock_now(g_ceph_context) - start; - utime_t write_memtable_time; - utime_t write_delay_time; - utime_t write_wal_time; - utime_t write_pre_and_post_process_time; - write_wal_time.set_from_double( - static_cast(rocksdb::perf_context.write_wal_time)/1000000000); - write_memtable_time.set_from_double( - static_cast(rocksdb::perf_context.write_memtable_time)/1000000000); - write_delay_time.set_from_double( - static_cast(rocksdb::perf_context.write_delay_time)/1000000000); - write_pre_and_post_process_time.set_from_double( - static_cast(rocksdb::perf_context.write_pre_and_post_process_time)/1000000000); + + if (g_conf->rocksdb_perf) { + utime_t write_memtable_time; + utime_t write_delay_time; + utime_t write_wal_time; + utime_t write_pre_and_post_process_time; + write_wal_time.set_from_double( + static_cast(rocksdb::perf_context.write_wal_time)/1000000000); + write_memtable_time.set_from_double( + static_cast(rocksdb::perf_context.write_memtable_time)/1000000000); + write_delay_time.set_from_double( + static_cast(rocksdb::perf_context.write_delay_time)/1000000000); + write_pre_and_post_process_time.set_from_double( + static_cast(rocksdb::perf_context.write_pre_and_post_process_time)/1000000000); + logger->tinc(l_rocksdb_write_memtable_time, write_memtable_time); + logger->tinc(l_rocksdb_write_delay_time, write_delay_time); + logger->tinc(l_rocksdb_write_wal_time, write_wal_time); + logger->tinc(l_rocksdb_write_pre_and_post_process_time, write_pre_and_post_process_time); + } logger->inc(l_rocksdb_txns_sync); logger->tinc(l_rocksdb_submit_sync_latency, lat); - logger->tinc(l_rocksdb_write_memtable_time, write_memtable_time); - logger->tinc(l_rocksdb_write_delay_time, write_delay_time); - logger->tinc(l_rocksdb_write_wal_time, write_wal_time); - logger->tinc(l_rocksdb_write_pre_and_post_process_time, write_pre_and_post_process_time); return s.ok() ? 0 : -1; } -- 2.47.3