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 10 namespace v8 { 11 12 class Isolate; 13 14 namespace platform { 15 namespace tracing { 16 CreateDefaultTraceConfig()17TraceConfig* TraceConfig::CreateDefaultTraceConfig() { 18 TraceConfig* trace_config = new TraceConfig(); 19 trace_config->included_categories_.push_back("v8"); 20 return trace_config; 21 } 22 IsCategoryGroupEnabled(const char * category_group) const23bool 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 AddIncludedCategory(const char * included_category)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