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 <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 :
17 0 : TraceConfig* TraceConfig::CreateDefaultTraceConfig() {
18 0 : TraceConfig* trace_config = new TraceConfig();
19 0 : trace_config->included_categories_.push_back("v8");
20 0 : return trace_config;
21 : }
22 :
23 271 : bool TraceConfig::IsCategoryGroupEnabled(const char* category_group) const {
24 542 : std::stringstream category_stream(category_group);
25 765 : while (category_stream.good()) {
26 : std::string category;
27 278 : getline(category_stream, category, ',');
28 786 : for (const auto& included_category : included_categories_) {
29 285 : if (category == included_category) return true;
30 : }
31 : }
32 271 : return false;
33 : }
34 :
35 48 : void TraceConfig::AddIncludedCategory(const char* included_category) {
36 : DCHECK(included_category != NULL && strlen(included_category) > 0);
37 96 : included_categories_.push_back(included_category);
38 48 : }
39 :
40 : } // namespace tracing
41 : } // namespace platform
42 : } // namespace v8
|