Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: content/browser/tracing/tracing_ui.cc

Issue 717083003: Report trace buffer usage as number of events, not only percentage (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/tracing/tracing_ui.h" 5 #include "content/browser/tracing/tracing_ui.h"
6 6
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 category_filter, 122 category_filter,
123 tracing_options, 123 tracing_options,
124 base::Bind(&OnRecordingEnabledAck, callback)); 124 base::Bind(&OnRecordingEnabledAck, callback));
125 } 125 }
126 126
127 void OnRecordingEnabledAck(const WebUIDataSource::GotDataCallback& callback) { 127 void OnRecordingEnabledAck(const WebUIDataSource::GotDataCallback& callback) {
128 base::RefCountedString* res = new base::RefCountedString(); 128 base::RefCountedString* res = new base::RefCountedString();
129 callback.Run(res); 129 callback.Run(res);
130 } 130 }
131 131
132 void OnTraceBufferPercentFullResult( 132 void OnTraceBufferUsageResult(const WebUIDataSource::GotDataCallback& callback,
133 const WebUIDataSource::GotDataCallback& callback, float result) { 133 float percent_full,
134 std::string str = base::DoubleToString(result); 134 size_t approximate_event_count) {
135 std::string str = base::DoubleToString(percent_full);
135 callback.Run(base::RefCountedString::TakeString(&str)); 136 callback.Run(base::RefCountedString::TakeString(&str));
136 } 137 }
137 138
139 void OnTraceBufferStatusResult(const WebUIDataSource::GotDataCallback& callback,
140 float percent_full,
141 size_t approximate_event_count) {
142 scoped_ptr<base::DictionaryValue> status(new base::DictionaryValue());
143 status->SetDouble("percentFull", percent_full);
144 status->SetInteger("approximateEventCount", approximate_event_count);
145
146 std::string status_json;
147 base::JSONWriter::Write(status.get(), &status_json);
148
149 base::RefCountedString* status_base64 = new base::RefCountedString();
150 base::Base64Encode(status_json, &status_base64->data());
151 callback.Run(status_base64);
152 }
153
138 void OnMonitoringEnabledAck(const WebUIDataSource::GotDataCallback& callback); 154 void OnMonitoringEnabledAck(const WebUIDataSource::GotDataCallback& callback);
139 155
140 bool EnableMonitoring(const std::string& data64, 156 bool EnableMonitoring(const std::string& data64,
141 const WebUIDataSource::GotDataCallback& callback) { 157 const WebUIDataSource::GotDataCallback& callback) {
142 base::debug::TraceOptions tracing_options; 158 base::debug::TraceOptions tracing_options;
143 base::debug::CategoryFilter category_filter(""); 159 base::debug::CategoryFilter category_filter("");
144 if (!GetTracingOptions(data64, &category_filter, &tracing_options)) 160 if (!GetTracingOptions(data64, &category_filter, &tracing_options))
145 return false; 161 return false;
146 162
147 return TracingController::GetInstance()->EnableMonitoring( 163 return TracingController::GetInstance()->EnableMonitoring(
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 return TracingController::GetInstance()->GetCategories( 214 return TracingController::GetInstance()->GetCategories(
199 base::Bind(OnGotCategories, callback)); 215 base::Bind(OnGotCategories, callback));
200 } 216 }
201 217
202 const char* beginRecordingPath = "json/begin_recording?"; 218 const char* beginRecordingPath = "json/begin_recording?";
203 if (StartsWithASCII(path, beginRecordingPath, true)) { 219 if (StartsWithASCII(path, beginRecordingPath, true)) {
204 std::string data = path.substr(strlen(beginRecordingPath)); 220 std::string data = path.substr(strlen(beginRecordingPath));
205 return BeginRecording(data, callback); 221 return BeginRecording(data, callback);
206 } 222 }
207 if (path == "json/get_buffer_percent_full") { 223 if (path == "json/get_buffer_percent_full") {
208 return TracingController::GetInstance()->GetTraceBufferPercentFull( 224 return TracingController::GetInstance()->GetTraceBufferUsage(
209 base::Bind(OnTraceBufferPercentFullResult, callback)); 225 base::Bind(OnTraceBufferUsageResult, callback));
226 }
227 if (path == "json/get_buffer_status") {
228 return TracingController::GetInstance()->GetTraceBufferUsage(
229 base::Bind(OnTraceBufferStatusResult, callback));
210 } 230 }
211 if (path == "json/end_recording") { 231 if (path == "json/end_recording") {
212 return TracingController::GetInstance()->DisableRecording( 232 return TracingController::GetInstance()->DisableRecording(
213 TracingControllerImpl::CreateStringSink( 233 TracingControllerImpl::CreateStringSink(
214 base::Bind(TracingCallbackWrapper, callback))); 234 base::Bind(TracingCallbackWrapper, callback)));
215 } 235 }
216 236
217 const char* enableMonitoringPath = "json/begin_monitoring?"; 237 const char* enableMonitoringPath = "json/begin_monitoring?";
218 if (path.find(enableMonitoringPath) == 0) { 238 if (path.find(enableMonitoringPath) == 0) {
219 std::string data = path.substr(strlen(enableMonitoringPath)); 239 std::string data = path.substr(strlen(enableMonitoringPath));
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 if (success) { 397 if (success) {
378 web_ui()->CallJavascriptFunction("onUploadComplete", 398 web_ui()->CallJavascriptFunction("onUploadComplete",
379 base::StringValue(report_id)); 399 base::StringValue(report_id));
380 } else { 400 } else {
381 web_ui()->CallJavascriptFunction("onUploadError", 401 web_ui()->CallJavascriptFunction("onUploadError",
382 base::StringValue(error_message)); 402 base::StringValue(error_message));
383 } 403 }
384 } 404 }
385 405
386 } // namespace content 406 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/tracing/tracing_controller_impl.cc ('k') | content/public/browser/tracing_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698