LCOV - code coverage report
Current view: top level - src/tracing - tracing-category-observer.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 14 33 42.4 %
Date: 2017-04-26 Functions: 2 4 50.0 %

          Line data    Source code
       1             : // Copyright 2016 the V8 project authors. All rights reserved.
       2             : // Use of this source code is governed by a BSD-style license that can be
       3             : // found in the LICENSE file.
       4             : 
       5             : #include "src/tracing/tracing-category-observer.h"
       6             : 
       7             : #include "src/flags.h"
       8             : #include "src/tracing/trace-event.h"
       9             : #include "src/v8.h"
      10             : 
      11             : namespace v8 {
      12             : namespace tracing {
      13             : 
      14             : TracingCategoryObserver* TracingCategoryObserver::instance_ = nullptr;
      15             : 
      16       59461 : void TracingCategoryObserver::SetUp() {
      17      118922 :   TracingCategoryObserver::instance_ = new TracingCategoryObserver();
      18       59461 :   v8::internal::V8::GetCurrentPlatform()->AddTraceStateObserver(
      19       59461 :       TracingCategoryObserver::instance_);
      20       59461 :   TRACE_EVENT_WARMUP_CATEGORY(TRACE_DISABLED_BY_DEFAULT("v8.runtime_stats"));
      21       59461 :   TRACE_EVENT_WARMUP_CATEGORY(
      22             :       TRACE_DISABLED_BY_DEFAULT("v8.runtime_stats_sampling"));
      23       59461 :   TRACE_EVENT_WARMUP_CATEGORY(TRACE_DISABLED_BY_DEFAULT("v8.gc_stats"));
      24       59461 :   TRACE_EVENT_WARMUP_CATEGORY(TRACE_DISABLED_BY_DEFAULT("v8.ic_stats"));
      25       59461 : }
      26             : 
      27       58744 : void TracingCategoryObserver::TearDown() {
      28       58744 :   v8::internal::V8::GetCurrentPlatform()->RemoveTraceStateObserver(
      29       58744 :       TracingCategoryObserver::instance_);
      30       58744 :   delete TracingCategoryObserver::instance_;
      31       58744 : }
      32             : 
      33           0 : void TracingCategoryObserver::OnTraceEnabled() {
      34             :   bool enabled = false;
      35           0 :   TRACE_EVENT_CATEGORY_GROUP_ENABLED(
      36             :       TRACE_DISABLED_BY_DEFAULT("v8.runtime_stats"), &enabled);
      37           0 :   if (enabled) {
      38           0 :     v8::internal::FLAG_runtime_stats |= ENABLED_BY_TRACING;
      39             :   }
      40           0 :   TRACE_EVENT_CATEGORY_GROUP_ENABLED(
      41             :       TRACE_DISABLED_BY_DEFAULT("v8.runtime_stats_sampling"), &enabled);
      42           0 :   if (enabled) {
      43           0 :     v8::internal::FLAG_runtime_stats |= ENABLED_BY_SAMPLING;
      44             :   }
      45           0 :   TRACE_EVENT_CATEGORY_GROUP_ENABLED(TRACE_DISABLED_BY_DEFAULT("v8.gc_stats"),
      46             :                                      &enabled);
      47           0 :   if (enabled) {
      48           0 :     v8::internal::FLAG_gc_stats |= ENABLED_BY_TRACING;
      49             :   }
      50           0 :   TRACE_EVENT_CATEGORY_GROUP_ENABLED(TRACE_DISABLED_BY_DEFAULT("v8.ic_stats"),
      51             :                                      &enabled);
      52           0 :   if (enabled) {
      53           0 :     v8::internal::FLAG_ic_stats |= ENABLED_BY_TRACING;
      54             :   }
      55           0 : }
      56             : 
      57           0 : void TracingCategoryObserver::OnTraceDisabled() {
      58             :   v8::internal::FLAG_runtime_stats &=
      59           0 :       ~(ENABLED_BY_TRACING | ENABLED_BY_SAMPLING);
      60           0 :   v8::internal::FLAG_gc_stats &= ~ENABLED_BY_TRACING;
      61           0 :   v8::internal::FLAG_ic_stats &= ~ENABLED_BY_TRACING;
      62           0 : }
      63             : 
      64             : }  // namespace tracing
      65             : }  // namespace v8

Generated by: LCOV version 1.10