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 1 : TraceConfig* TraceConfig::CreateDefaultTraceConfig() {
18 1 : TraceConfig* trace_config = new TraceConfig();
19 2 : trace_config->included_categories_.push_back("v8");
20 1 : return trace_config;
21 : }
22 :
23 250 : bool TraceConfig::IsCategoryGroupEnabled(const char* category_group) const {
24 750 : std::stringstream category_stream(category_group);
25 449 : while (category_stream.good()) {
26 : std::string category;
27 255 : getline(category_stream, category, ',');
28 528 : for (const auto& included_category : included_categories_) {
29 329 : if (category == included_category) return true;
30 : }
31 : }
32 : return false;
33 : }
34 :
35 50 : void TraceConfig::AddIncludedCategory(const char* included_category) {
36 : DCHECK(included_category != nullptr && strlen(included_category) > 0);
37 100 : included_categories_.push_back(included_category);
38 50 : }
39 :
40 : } // namespace tracing
41 : } // namespace platform
42 : } // namespace v8
|