LCOV - code coverage report
Current view: top level - src/tracing - trace-event.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 19 21 90.5 %
Date: 2019-04-19 Functions: 4 4 100.0 %

          Line data    Source code
       1             : // Copyright 2015 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/trace-event.h"
       6             : 
       7             : #include <string.h>
       8             : 
       9             : #include "src/counters.h"
      10             : #include "src/isolate.h"
      11             : #include "src/tracing/traced-value.h"
      12             : #include "src/v8.h"
      13             : 
      14             : namespace v8 {
      15             : namespace internal {
      16             : namespace tracing {
      17             : 
      18     2177898 : v8::TracingController* TraceEventHelper::GetTracingController() {
      19     2177908 :   return v8::internal::V8::GetCurrentPlatform()->GetTracingController();
      20             : }
      21             : 
      22           5 : void CallStatsScopedTracer::AddEndTraceEvent() {
      23           5 :   if (!has_parent_scope_ && p_data_->isolate) {
      24           5 :     auto value = v8::tracing::TracedValue::Create();
      25          10 :     p_data_->isolate->counters()->runtime_call_stats()->Dump(value.get());
      26           5 :     v8::internal::tracing::AddTraceEvent(
      27           5 :         TRACE_EVENT_PHASE_END, p_data_->category_group_enabled, p_data_->name,
      28             :         v8::internal::tracing::kGlobalScope, v8::internal::tracing::kNoId,
      29             :         v8::internal::tracing::kNoId, TRACE_EVENT_FLAG_NONE,
      30           5 :         "runtime-call-stats", std::move(value));
      31             :   } else {
      32           0 :     v8::internal::tracing::AddTraceEvent(
      33           0 :         TRACE_EVENT_PHASE_END, p_data_->category_group_enabled, p_data_->name,
      34             :         v8::internal::tracing::kGlobalScope, v8::internal::tracing::kNoId,
      35             :         v8::internal::tracing::kNoId, TRACE_EVENT_FLAG_NONE);
      36             :   }
      37           5 : }
      38             : 
      39           5 : void CallStatsScopedTracer::Initialize(v8::internal::Isolate* isolate,
      40             :                                        const uint8_t* category_group_enabled,
      41             :                                        const char* name) {
      42           5 :   data_.isolate = isolate;
      43           5 :   data_.category_group_enabled = category_group_enabled;
      44           5 :   data_.name = name;
      45           5 :   p_data_ = &data_;
      46             :   RuntimeCallStats* table = isolate->counters()->runtime_call_stats();
      47           5 :   has_parent_scope_ = table->InUse();
      48           5 :   if (!has_parent_scope_) table->Reset();
      49             :   v8::internal::tracing::AddTraceEvent(
      50             :       TRACE_EVENT_PHASE_BEGIN, category_group_enabled, name,
      51             :       v8::internal::tracing::kGlobalScope, v8::internal::tracing::kNoId,
      52             :       TRACE_EVENT_FLAG_NONE, v8::internal::tracing::kNoId);
      53           5 : }
      54             : 
      55             : }  // namespace tracing
      56             : }  // namespace internal
      57      122036 : }  // namespace v8

Generated by: LCOV version 1.10