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

Unified Diff: content/browser/tracing/power_tracing_agent.cc

Issue 1468173003: [Tracing Clock Sync] Add TracingAgent interface in Chrome (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review fix Created 5 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/tracing/power_tracing_agent.h ('k') | content/browser/tracing/tracing_controller_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/tracing/power_tracing_agent.cc
diff --git a/content/browser/tracing/power_tracing_agent.cc b/content/browser/tracing/power_tracing_agent.cc
index 409240c4fe7f014f15ae81fb8303f7057a8f89f8..6be153a81759bc512b38b84f7c7061eb5240a4a7 100644
--- a/content/browser/tracing/power_tracing_agent.cc
+++ b/content/browser/tracing/power_tracing_agent.cc
@@ -11,13 +11,34 @@
namespace content {
+namespace {
+
+const char kPowerTracingAgentName[] = "battor";
+const char kPowerTraceLabel[] = "powerTraceAsString";
+
+} // namespace
+
+// static
+PowerTracingAgent* PowerTracingAgent::GetInstance() {
+ return base::Singleton<PowerTracingAgent>::get();
+}
+
PowerTracingAgent::PowerTracingAgent() : is_tracing_(false) {
battor_trace_provider_.reset(new BattorPowerTraceProvider());
}
PowerTracingAgent::~PowerTracingAgent() {}
-bool PowerTracingAgent::StartTracing() {
+std::string PowerTracingAgent::GetTracingAgentName() {
+ return kPowerTracingAgentName;
+}
+
+std::string PowerTracingAgent::GetTraceEventLabel() {
+ return kPowerTraceLabel;
+}
+
+bool PowerTracingAgent::StartAgentTracing(
+ const base::trace_event::TraceConfig& trace_config) {
// Tracing session already in progress.
if (is_tracing_)
return false;
@@ -29,34 +50,30 @@ bool PowerTracingAgent::StartTracing() {
return is_tracing_;
}
-void PowerTracingAgent::StopTracing(const OutputCallback& callback) {
+void PowerTracingAgent::StopAgentTracing(
+ const StopAgentTracingCallback& callback) {
// No tracing session in progress.
if (!is_tracing_)
return;
// Stop tracing & collect logs.
- OutputCallback on_stop_power_tracing_done_callback = base::Bind(
- &PowerTracingAgent::OnStopTracingDone, base::Unretained(this), callback);
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
- base::Bind(&PowerTracingAgent::FlushOnThread, base::Unretained(this),
- on_stop_power_tracing_done_callback));
+ base::Bind(&PowerTracingAgent::FlushOnThread,
+ base::Unretained(this),
+ callback));
}
void PowerTracingAgent::OnStopTracingDone(
- const OutputCallback& callback,
+ const StopAgentTracingCallback& callback,
const scoped_refptr<base::RefCountedString>& result) {
is_tracing_ = false;
// Pass the serialized events.
- callback.Run(result);
+ callback.Run(GetTracingAgentName(), GetTraceEventLabel(), result);
}
-// static
-PowerTracingAgent* PowerTracingAgent::GetInstance() {
- return base::Singleton<PowerTracingAgent>::get();
-}
-
-void PowerTracingAgent::FlushOnThread(const OutputCallback& callback) {
+void PowerTracingAgent::FlushOnThread(
+ const StopAgentTracingCallback& callback) {
// Pass the result to the UI Thread.
// TODO(prabhur) StopTracing & GetLog need to be called on a
@@ -66,8 +83,24 @@ void PowerTracingAgent::FlushOnThread(const OutputCallback& callback) {
battor_trace_provider_->GetLog(&battor_logs);
scoped_refptr<base::RefCountedString> result =
base::RefCountedString::TakeString(&battor_logs);
- BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
- base::Bind(callback, result));
+ BrowserThread::PostTask(
+ BrowserThread::UI, FROM_HERE,
+ base::Bind(&PowerTracingAgent::OnStopTracingDone,
+ base::Unretained(this),
+ callback,
+ result));
+}
+
+bool PowerTracingAgent::SupportsExplicitClockSync() {
+ // TODO(zhenw): return true after implementing explicit clock sync.
+ return false;
+}
+
+void PowerTracingAgent::RecordClockSyncMarker(
+ int sync_id,
+ const RecordClockSyncMarkerCallback& callback) {
+ DCHECK(SupportsExplicitClockSync());
+ // TODO(zhenw): implement explicit clock sync.
}
} // namespace content
« no previous file with comments | « content/browser/tracing/power_tracing_agent.h ('k') | content/browser/tracing/tracing_controller_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698