From 2fa5d41ba3a95c2210ee8debf1f84d8a4141e87d Mon Sep 17 00:00:00 2001 From: Haobo Xu Date: Wed, 2 Apr 2014 22:59:48 -0700 Subject: [PATCH] [RocksDB] make SetPerfLevel affect only the current thread Summary: as title, make it easy to turn on/off profiling at per thread level. Test Plan: make check Reviewers: sdong, ljin Reviewed By: ljin CC: leveldb Differential Revision: https://reviews.facebook.net/D17469 --- util/perf_context.cc | 2 +- util/perf_context_imp.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/util/perf_context.cc b/util/perf_context.cc index 650abebca..fc8efba64 100644 --- a/util/perf_context.cc +++ b/util/perf_context.cc @@ -10,7 +10,7 @@ namespace rocksdb { // by default, enable counts only -PerfLevel perf_level = kEnableCount; +__thread PerfLevel perf_level = kEnableCount; void SetPerfLevel(PerfLevel level) { perf_level = level; } diff --git a/util/perf_context_imp.h b/util/perf_context_imp.h index f7818e69c..7b06e4c1d 100644 --- a/util/perf_context_imp.h +++ b/util/perf_context_imp.h @@ -9,7 +9,7 @@ namespace rocksdb { -extern enum PerfLevel perf_level; +extern __thread PerfLevel perf_level; inline void StartPerfTimer(StopWatchNano* timer) { if (perf_level >= PerfLevel::kEnableTime) {