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 <string.h> 6 7#include "include/libplatform/v8-tracing.h" 8#include "src/base/logging.h" 9 10namespace v8 { 11 12class Isolate; 13 14namespace platform { 15namespace tracing { 16 17TraceConfig* TraceConfig::CreateDefaultTraceConfig() { 18 TraceConfig* trace_config = new TraceConfig(); 19 trace_config->included_categories_.push_back("v8"); 20 return trace_config; 21} 22 23bool TraceConfig::IsCategoryGroupEnabled(const char* category_group) const { 24 std::stringstream category_stream(category_group); 25 while (category_stream.good()) { 26 std::string category; 27 getline(category_stream, category, ','); 28 for (const auto& included_category : included_categories_) { 29 if (category == included_category) return true; 30 } 31 } 32 return false; 33} 34 35void TraceConfig::AddIncludedCategory(const char* included_category) { 36 DCHECK(included_category != nullptr && strlen(included_category) > 0); 37 included_categories_.push_back(included_category); 38} 39 40} // namespace tracing 41} // namespace platform 42} // namespace v8 43