aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar Noah Eisen <ncteisen@gmail.com>2018-04-30 16:15:28 -0700
committerGravatar GitHub <noreply@github.com>2018-04-30 16:15:28 -0700
commitc530fe94d2be537dfc6d682afe21b4296dd6d3fb (patch)
tree7da0e17b5743945b8662209c9a6e3de948816f5b /src/core
parentb61c42ea316ef39cb9c9f591d1ee990e02453536 (diff)
parentb85354ee49569dcf5c10b965a14c1a4451e91edf (diff)
Merge pull request #15108 from ncteisen/compile-out-tracers
Compile Out Tracers
Diffstat (limited to 'src/core')
-rw-r--r--src/core/lib/debug/trace.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/core/lib/debug/trace.h b/src/core/lib/debug/trace.h
index bfec92c529..28157c6383 100644
--- a/src/core/lib/debug/trace.h
+++ b/src/core/lib/debug/trace.h
@@ -57,13 +57,22 @@ class TraceFlag {
const char* name() const { return name_; }
+// This following define may be commented out to ensure that the compiler
+// deletes any "if (tracer.enabled()) {...}" codeblocks. This is useful to
+// test the performance impact tracers have on the system.
+//
+// #define COMPILE_OUT_ALL_TRACERS_IN_OPT_BUILD
+#ifdef COMPILE_OUT_ALL_TRACERS_IN_OPT_BUILD
+ bool enabled() { return false; }
+#else
bool enabled() {
#ifdef GRPC_THREADSAFE_TRACER
return gpr_atm_no_barrier_load(&value_) != 0;
#else
return value_;
-#endif
+#endif // GRPC_THREADSAFE_TRACER
}
+#endif // COMPILE_OUT_ALL_TRACERS_IN_OPT_BUILD
private:
friend void grpc_core::testing::grpc_tracer_enable_flag(TraceFlag* flag);