Index: src/tracing/tracing-category-observer.cc |
diff --git a/src/tracing/tracing-category-observer.cc b/src/tracing/tracing-category-observer.cc |
index f9315b4ce456beb5d55b0b02c6ca06d00e6b006e..90badee4fa5f9cc4d628406e51b6d5c3494e1046 100644 |
--- a/src/tracing/tracing-category-observer.cc |
+++ b/src/tracing/tracing-category-observer.cc |
@@ -12,18 +12,21 @@ |
namespace v8 { |
namespace tracing { |
-std::unique_ptr<TracingCategoryObserver> TracingCategoryObserver::Create() { |
- return std::unique_ptr<TracingCategoryObserver>( |
- new TracingCategoryObserverImpl()); |
-} |
+std::unique_ptr<TracingCategoryObserver> g_tracing_category_observer; |
alph
2016/11/02 20:18:23
nit: You can make it a static field inside the cla
lpy
2016/11/02 21:52:27
Done.
|
-TracingCategoryObserverImpl::TracingCategoryObserverImpl() {} |
+void TracingCategoryObserver::SetUp() { |
+ g_tracing_category_observer.reset(new TracingCategoryObserver()); |
+ v8::internal::V8::GetCurrentPlatform()->AddTraceStateObserver( |
+ g_tracing_category_observer.get()); |
+} |
-TracingCategoryObserverImpl::~TracingCategoryObserverImpl() { |
- OnTraceDisabled(); |
+void TracingCategoryObserver::TearDown() { |
+ v8::internal::V8::GetCurrentPlatform()->RemoveTraceStateObserver( |
+ g_tracing_category_observer.get()); |
+ g_tracing_category_observer.reset(); |
} |
-void TracingCategoryObserverImpl::OnTraceEnabled() { |
+void TracingCategoryObserver::OnTraceEnabled() { |
bool enabled = false; |
TRACE_EVENT_CATEGORY_GROUP_ENABLED( |
TRACE_DISABLED_BY_DEFAULT("v8.runtime_stats"), &enabled); |
@@ -32,7 +35,7 @@ void TracingCategoryObserverImpl::OnTraceEnabled() { |
} |
} |
-void TracingCategoryObserverImpl::OnTraceDisabled() { |
+void TracingCategoryObserver::OnTraceDisabled() { |
v8::internal::FLAG_runtime_stats &= ~ENABLED_BY_TRACING; |
} |