| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/devtools/protocol/tracing_handler.h" | 5 #include "content/browser/devtools/protocol/tracing_handler.h" |
| 6 | 6 |
| 7 #include <cmath> | 7 #include <cmath> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/strings/string_split.h" | 10 #include "base/strings/string_split.h" |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 } | 84 } |
| 85 | 85 |
| 86 Response TracingHandler::Start(DevToolsCommandId command_id, | 86 Response TracingHandler::Start(DevToolsCommandId command_id, |
| 87 const std::string* categories, | 87 const std::string* categories, |
| 88 const std::string* options_str, | 88 const std::string* options_str, |
| 89 const double* buffer_usage_reporting_interval) { | 89 const double* buffer_usage_reporting_interval) { |
| 90 if (is_recording_) | 90 if (is_recording_) |
| 91 return Response::InternalError("Tracing is already started"); | 91 return Response::InternalError("Tracing is already started"); |
| 92 | 92 |
| 93 is_recording_ = true; | 93 is_recording_ = true; |
| 94 base::debug::TraceOptions options = TraceOptionsFromString(options_str); | 94 base::trace_event::TraceOptions options = TraceOptionsFromString(options_str); |
| 95 base::debug::CategoryFilter filter(categories ? *categories : std::string()); | 95 base::trace_event::CategoryFilter filter(categories ? *categories |
| 96 : std::string()); |
| 96 if (buffer_usage_reporting_interval) | 97 if (buffer_usage_reporting_interval) |
| 97 SetupTimer(*buffer_usage_reporting_interval); | 98 SetupTimer(*buffer_usage_reporting_interval); |
| 98 | 99 |
| 99 // If inspected target is a render process Tracing.start will be handled by | 100 // If inspected target is a render process Tracing.start will be handled by |
| 100 // tracing agent in the renderer. | 101 // tracing agent in the renderer. |
| 101 if (target_ == Renderer) { | 102 if (target_ == Renderer) { |
| 102 TracingController::GetInstance()->EnableRecording( | 103 TracingController::GetInstance()->EnableRecording( |
| 103 filter, | 104 filter, |
| 104 options, | 105 options, |
| 105 TracingController::EnableRecordingDoneCallback()); | 106 TracingController::EnableRecordingDoneCallback()); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 void TracingHandler::OnCategoriesReceived( | 151 void TracingHandler::OnCategoriesReceived( |
| 151 DevToolsCommandId command_id, | 152 DevToolsCommandId command_id, |
| 152 const std::set<std::string>& category_set) { | 153 const std::set<std::string>& category_set) { |
| 153 std::vector<std::string> categories; | 154 std::vector<std::string> categories; |
| 154 for (const std::string& category : category_set) | 155 for (const std::string& category : category_set) |
| 155 categories.push_back(category); | 156 categories.push_back(category); |
| 156 client_->SendGetCategoriesResponse(command_id, | 157 client_->SendGetCategoriesResponse(command_id, |
| 157 GetCategoriesResponse::Create()->set_categories(categories)); | 158 GetCategoriesResponse::Create()->set_categories(categories)); |
| 158 } | 159 } |
| 159 | 160 |
| 160 base::debug::TraceOptions TracingHandler::TraceOptionsFromString( | 161 base::trace_event::TraceOptions TracingHandler::TraceOptionsFromString( |
| 161 const std::string* options) { | 162 const std::string* options) { |
| 162 base::debug::TraceOptions ret; | 163 base::trace_event::TraceOptions ret; |
| 163 if (!options) | 164 if (!options) |
| 164 return ret; | 165 return ret; |
| 165 | 166 |
| 166 std::vector<std::string> split; | 167 std::vector<std::string> split; |
| 167 std::vector<std::string>::iterator iter; | 168 std::vector<std::string>::iterator iter; |
| 168 | 169 |
| 169 base::SplitString(*options, ',', &split); | 170 base::SplitString(*options, ',', &split); |
| 170 for (iter = split.begin(); iter != split.end(); ++iter) { | 171 for (iter = split.begin(); iter != split.end(); ++iter) { |
| 171 if (*iter == kRecordUntilFull) { | 172 if (*iter == kRecordUntilFull) { |
| 172 ret.record_mode = base::debug::RECORD_UNTIL_FULL; | 173 ret.record_mode = base::trace_event::RECORD_UNTIL_FULL; |
| 173 } else if (*iter == kRecordContinuously) { | 174 } else if (*iter == kRecordContinuously) { |
| 174 ret.record_mode = base::debug::RECORD_CONTINUOUSLY; | 175 ret.record_mode = base::trace_event::RECORD_CONTINUOUSLY; |
| 175 } else if (*iter == kRecordAsMuchAsPossible) { | 176 } else if (*iter == kRecordAsMuchAsPossible) { |
| 176 ret.record_mode = base::debug::RECORD_AS_MUCH_AS_POSSIBLE; | 177 ret.record_mode = base::trace_event::RECORD_AS_MUCH_AS_POSSIBLE; |
| 177 } else if (*iter == kEnableSampling) { | 178 } else if (*iter == kEnableSampling) { |
| 178 ret.enable_sampling = true; | 179 ret.enable_sampling = true; |
| 179 } | 180 } |
| 180 } | 181 } |
| 181 return ret; | 182 return ret; |
| 182 } | 183 } |
| 183 | 184 |
| 184 void TracingHandler::SetupTimer(double usage_reporting_interval) { | 185 void TracingHandler::SetupTimer(double usage_reporting_interval) { |
| 185 if (usage_reporting_interval == 0) return; | 186 if (usage_reporting_interval == 0) return; |
| 186 | 187 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 202 void TracingHandler::DisableRecording(bool abort) { | 203 void TracingHandler::DisableRecording(bool abort) { |
| 203 is_recording_ = false; | 204 is_recording_ = false; |
| 204 buffer_usage_poll_timer_.reset(); | 205 buffer_usage_poll_timer_.reset(); |
| 205 TracingController::GetInstance()->DisableRecording( | 206 TracingController::GetInstance()->DisableRecording( |
| 206 abort ? nullptr : new DevToolsTraceSinkProxy(weak_factory_.GetWeakPtr())); | 207 abort ? nullptr : new DevToolsTraceSinkProxy(weak_factory_.GetWeakPtr())); |
| 207 } | 208 } |
| 208 | 209 |
| 209 } // namespace tracing | 210 } // namespace tracing |
| 210 } // namespace devtools | 211 } // namespace devtools |
| 211 } // namespace content | 212 } // namespace content |
| OLD | NEW |