| OLD | NEW |
| 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/trace_controller.h" | 5 #include "content/browser/trace_controller.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/debug/trace_event.h" | 9 #include "base/debug/trace_event.h" |
| 10 #include "base/string_number_conversions.h" | 10 #include "base/string_number_conversions.h" |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 std::string delay_str = command_line.GetSwitchValueASCII( | 90 std::string delay_str = command_line.GetSwitchValueASCII( |
| 91 switches::kTraceStartupDuration); | 91 switches::kTraceStartupDuration); |
| 92 int delay_secs = 5; | 92 int delay_secs = 5; |
| 93 if (!delay_str.empty() && !base::StringToInt(delay_str, &delay_secs)) { | 93 if (!delay_str.empty() && !base::StringToInt(delay_str, &delay_secs)) { |
| 94 DLOG(WARNING) << "Could not parse --" << switches::kTraceStartupDuration | 94 DLOG(WARNING) << "Could not parse --" << switches::kTraceStartupDuration |
| 95 << "=" << delay_str << " defaulting to 5 (secs)"; | 95 << "=" << delay_str << " defaulting to 5 (secs)"; |
| 96 delay_secs = 5; | 96 delay_secs = 5; |
| 97 } | 97 } |
| 98 | 98 |
| 99 OnTracingBegan(subscriber.get()); | 99 OnTracingBegan(subscriber.get()); |
| 100 BrowserThread::PostDelayedTask(BrowserThread::UI, FROM_HERE, | 100 BrowserThread::PostDelayedTask( |
| 101 BrowserThread::UI, |
| 102 FROM_HERE, |
| 101 base::Bind(&AutoStopTraceSubscriberStdio::EndStartupTrace, | 103 base::Bind(&AutoStopTraceSubscriberStdio::EndStartupTrace, |
| 102 base::Unretained(subscriber.release())), | 104 base::Unretained(subscriber.release())), |
| 103 delay_secs * 1000); | 105 base::TimeDelta::FromSeconds(delay_secs)); |
| 104 } | 106 } |
| 105 | 107 |
| 106 bool TraceController::GetKnownCategoriesAsync(TraceSubscriber* subscriber) { | 108 bool TraceController::GetKnownCategoriesAsync(TraceSubscriber* subscriber) { |
| 107 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 109 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 108 | 110 |
| 109 // Known categories come back from child processes with the EndTracingAck | 111 // Known categories come back from child processes with the EndTracingAck |
| 110 // message. So to get known categories, just begin and end tracing immediately | 112 // message. So to get known categories, just begin and end tracing immediately |
| 111 // afterwards. This will ping all the child processes for categories. | 113 // afterwards. This will ping all the child processes for categories. |
| 112 is_get_categories_ = true; | 114 is_get_categories_ = true; |
| 113 bool success = BeginTracing(subscriber) && EndTracingAsync(subscriber); | 115 bool success = BeginTracing(subscriber) && EndTracingAsync(subscriber); |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 362 if (pending_bpf_ack_count_ == 1) { | 364 if (pending_bpf_ack_count_ == 1) { |
| 363 // The last ack represents local trace, so we need to ack it now. Note that | 365 // The last ack represents local trace, so we need to ack it now. Note that |
| 364 // this code only executes if there were child processes. | 366 // this code only executes if there were child processes. |
| 365 float bpf = TraceLog::GetInstance()->GetBufferPercentFull(); | 367 float bpf = TraceLog::GetInstance()->GetBufferPercentFull(); |
| 366 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, | 368 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
| 367 base::Bind(&TraceController::OnTraceBufferPercentFullReply, | 369 base::Bind(&TraceController::OnTraceBufferPercentFullReply, |
| 368 base::Unretained(this), bpf)); | 370 base::Unretained(this), bpf)); |
| 369 } | 371 } |
| 370 } | 372 } |
| 371 | 373 |
| OLD | NEW |