summaryrefslogtreecommitdiffstats
path: root/content/browser/trace_controller.cc
diff options
context:
space:
mode:
authorscheib@chromium.org <scheib@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-05 20:14:33 +0000
committerscheib@chromium.org <scheib@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-05 20:14:33 +0000
commit39a52b444388584f604a5b14ed5983d2f23a418a (patch)
tree2531335e6735df54d7f525e896e61f8f249a2d47 /content/browser/trace_controller.cc
parent4d4c0780f53e428a1d4c24ebf4e509490d56a7fc (diff)
downloadchromium_src-39a52b444388584f604a5b14ed5983d2f23a418a.zip
chromium_src-39a52b444388584f604a5b14ed5983d2f23a418a.tar.gz
chromium_src-39a52b444388584f604a5b14ed5983d2f23a418a.tar.bz2
Revert 84284 - Merge gpu_trace_event back into base/debug/trace_event.Initial land attempt at http://codereview.chromium.org/6551019/gpu_trace_event fork at http://codereview.chromium.org/6691013- gpu_trace_event renamed to base/debug/trace_event and modified as appropriate for base::debug- Unit Tests implemented for trace_event- gpu_common library removed (was added only for gpu_trace_event)- Existing calls to trace_event suffixed with _ETW to make ETW calls (see decisions and incremental plans at end of 6551019)- GPU trace calls renamed to new calls.- Tracing switch removed from test_shell, as linux log file support removed.BUG=79509TEST=trace_event_win_unittest and about:gpuReview URL: http://codereview.chromium.org/6862002
TBR=scheib@chromium.org Review URL: http://codereview.chromium.org/6933035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84293 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/trace_controller.cc')
-rw-r--r--content/browser/trace_controller.cc29
1 files changed, 11 insertions, 18 deletions
diff --git a/content/browser/trace_controller.cc b/content/browser/trace_controller.cc
index 24e8086..5bf2efa 100644
--- a/content/browser/trace_controller.cc
+++ b/content/browser/trace_controller.cc
@@ -4,12 +4,11 @@
#include "content/browser/trace_controller.h"
-#include "base/bind.h"
-#include "base/debug/trace_event.h"
#include "base/task.h"
#include "content/browser/browser_message_filter.h"
#include "content/browser/trace_message_filter.h"
#include "content/common/child_process_messages.h"
+#include "gpu/common/gpu_trace_event.h"
TraceController::TraceController() :
@@ -18,14 +17,12 @@ TraceController::TraceController() :
pending_bpf_ack_count_(0),
maximum_bpf_(0.0f),
is_tracing_(false) {
- base::debug::TraceLog::GetInstance()->SetOutputCallback(
- base::Bind(&TraceController::OnTraceDataCollected,
- base::Unretained(this)));
+ gpu::TraceLog::GetInstance()->SetOutputCallback(
+ NewCallback(this, &TraceController::OnTraceDataCollected));
}
TraceController::~TraceController() {
- base::debug::TraceLog::GetInstance()->SetOutputCallback(
- base::debug::TraceLog::OutputCallback());
+ gpu::TraceLog::GetInstance()->SetOutputCallback(NULL);
}
//static
@@ -44,7 +41,7 @@ bool TraceController::BeginTracing(TraceSubscriber* subscriber) {
// Enable tracing
is_tracing_ = true;
- base::debug::TraceLog::GetInstance()->SetEnabled(true);
+ gpu::TraceLog::GetInstance()->SetEnabled(true);
// Notify all child processes.
for (FilterMap::iterator it = filters_.begin(); it != filters_.end(); ++it) {
@@ -95,7 +92,7 @@ bool TraceController::GetTraceBufferPercentFullAsync(
// Handle special case of zero child processes.
if (pending_bpf_ack_count_ == 1) {
// Ack asynchronously now, because we don't have any children to wait for.
- float bpf = base::debug::TraceLog::GetInstance()->GetBufferPercentFull();
+ float bpf = gpu::TraceLog::GetInstance()->GetBufferPercentFull();
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
NewRunnableMethod(this,
&TraceController::OnTraceBufferPercentFullReply,
@@ -164,7 +161,7 @@ void TraceController::OnEndTracingAck() {
// called with the last of the local trace data. Since we are on the UI
// thread, the call to OnTraceDataCollected will be synchronous, so we can
// immediately call OnEndTracingComplete below.
- base::debug::TraceLog::GetInstance()->SetEnabled(false);
+ gpu::TraceLog::GetInstance()->SetEnabled(false);
// Trigger callback if one is set.
if (subscriber_) {
@@ -182,21 +179,17 @@ void TraceController::OnEndTracingAck() {
}
}
-void TraceController::OnTraceDataCollected(
- const scoped_refptr<base::debug::TraceLog::RefCountedString>&
- json_events_str_ptr) {
+void TraceController::OnTraceDataCollected(const std::string& data) {
// OnTraceDataCollected may be called from any browser thread, either by the
// local event trace system or from child processes via TraceMessageFilter.
if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) {
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
- NewRunnableMethod(this,
- &TraceController::OnTraceDataCollected,
- json_events_str_ptr));
+ NewRunnableMethod(this, &TraceController::OnTraceDataCollected, data));
return;
}
if (subscriber_)
- subscriber_->OnTraceDataCollected(json_events_str_ptr->data);
+ subscriber_->OnTraceDataCollected(data);
}
void TraceController::OnTraceBufferFull() {
@@ -236,7 +229,7 @@ void TraceController::OnTraceBufferPercentFullReply(float percent_full) {
if (pending_bpf_ack_count_ == 1) {
// The last ack represents local trace, so we need to ack it now. Note that
// this code only executes if there were child processes.
- float bpf = base::debug::TraceLog::GetInstance()->GetBufferPercentFull();
+ float bpf = gpu::TraceLog::GetInstance()->GetBufferPercentFull();
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
NewRunnableMethod(this,
&TraceController::OnTraceBufferPercentFullReply,