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..818cad1438d93cf61b5a34acc34663385a12ac00 100644 |
--- a/src/tracing/tracing-category-observer.cc |
+++ b/src/tracing/tracing-category-observer.cc |
@@ -17,7 +17,9 @@ std::unique_ptr<TracingCategoryObserver> TracingCategoryObserver::Create() { |
new TracingCategoryObserverImpl()); |
} |
-TracingCategoryObserverImpl::TracingCategoryObserverImpl() {} |
+TracingCategoryObserverImpl::TracingCategoryObserverImpl() { |
+ TRACE_EVENT_WARMUP_CATEGORY(TRACE_DISABLED_BY_DEFAULT("v8.gc_stats")); |
+} |
TracingCategoryObserverImpl::~TracingCategoryObserverImpl() { |
OnTraceDisabled(); |
@@ -30,10 +32,16 @@ void TracingCategoryObserverImpl::OnTraceEnabled() { |
if (enabled) { |
v8::internal::FLAG_runtime_stats |= ENABLED_BY_TRACING; |
} |
+ TRACE_EVENT_CATEGORY_GROUP_ENABLED(TRACE_DISABLED_BY_DEFAULT("v8.gc_stats"), |
+ &enabled); |
+ if (enabled) { |
+ v8::internal::FLAG_gc_stats |= ENABLED_BY_TRACING; |
+ } |
} |
void TracingCategoryObserverImpl::OnTraceDisabled() { |
v8::internal::FLAG_runtime_stats &= ~ENABLED_BY_TRACING; |
+ v8::internal::FLAG_gc_stats &= ~ENABLED_BY_TRACING; |
} |
} // namespace tracing |