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

Side by Side Diff: content/browser/histogram_synchronizer.cc

Issue 11340029: Move remaining files in content\browser to the content namespace. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 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 | Annotate | Revision Log
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/histogram_synchronizer.h" 5 #include "content/browser/histogram_synchronizer.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/lazy_instance.h" 8 #include "base/lazy_instance.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 base::LazyInstance 158 base::LazyInstance
159 <HistogramSynchronizer::RequestContext::RequestContextMap>::Leaky 159 <HistogramSynchronizer::RequestContext::RequestContextMap>::Leaky
160 HistogramSynchronizer::RequestContext::outstanding_requests_ = 160 HistogramSynchronizer::RequestContext::outstanding_requests_ =
161 LAZY_INSTANCE_INITIALIZER; 161 LAZY_INSTANCE_INITIALIZER;
162 162
163 HistogramSynchronizer::HistogramSynchronizer() 163 HistogramSynchronizer::HistogramSynchronizer()
164 : lock_(), 164 : lock_(),
165 callback_thread_(NULL), 165 callback_thread_(NULL),
166 last_used_sequence_number_(kNeverUsableSequenceNumber), 166 last_used_sequence_number_(kNeverUsableSequenceNumber),
167 async_sequence_number_(kNeverUsableSequenceNumber) { 167 async_sequence_number_(kNeverUsableSequenceNumber) {
168 content::HistogramController::GetInstance()->Register(this); 168 HistogramController::GetInstance()->Register(this);
169 } 169 }
170 170
171 HistogramSynchronizer::~HistogramSynchronizer() { 171 HistogramSynchronizer::~HistogramSynchronizer() {
172 RequestContext::OnShutdown(); 172 RequestContext::OnShutdown();
173 173
174 // Just in case we have any pending tasks, clear them out. 174 // Just in case we have any pending tasks, clear them out.
175 SetCallbackTaskAndThread(NULL, base::Closure()); 175 SetCallbackTaskAndThread(NULL, base::Closure());
176 } 176 }
177 177
178 HistogramSynchronizer* HistogramSynchronizer::GetInstance() { 178 HistogramSynchronizer* HistogramSynchronizer::GetInstance() {
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 int sequence_number = GetNextAvailableSequenceNumber(requester); 232 int sequence_number = GetNextAvailableSequenceNumber(requester);
233 233
234 base::Closure callback = base::Bind( 234 base::Closure callback = base::Bind(
235 &HistogramSynchronizer::ForceHistogramSynchronizationDoneCallback, 235 &HistogramSynchronizer::ForceHistogramSynchronizationDoneCallback,
236 base::Unretained(this), 236 base::Unretained(this),
237 sequence_number); 237 sequence_number);
238 238
239 RequestContext::Register(callback, sequence_number); 239 RequestContext::Register(callback, sequence_number);
240 240
241 // Get histogram data from renderer and browser child processes. 241 // Get histogram data from renderer and browser child processes.
242 content::HistogramController::GetInstance()->GetHistogramData( 242 HistogramController::GetInstance()->GetHistogramData(sequence_number);
243 sequence_number);
244 243
245 // Post a task that would be called after waiting for wait_time. This acts 244 // Post a task that would be called after waiting for wait_time. This acts
246 // as a watchdog, to cancel the requests for non-responsive processes. 245 // as a watchdog, to cancel the requests for non-responsive processes.
247 BrowserThread::PostDelayedTask( 246 BrowserThread::PostDelayedTask(
248 BrowserThread::UI, FROM_HERE, 247 BrowserThread::UI, FROM_HERE,
249 base::Bind(&RequestContext::Unregister, sequence_number), 248 base::Bind(&RequestContext::Unregister, sequence_number),
250 wait_time); 249 wait_time);
251 } 250 }
252 251
253 void HistogramSynchronizer::OnPendingProcesses(int sequence_number, 252 void HistogramSynchronizer::OnPendingProcesses(int sequence_number,
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 kHistogramSynchronizerReservedSequenceNumber + 1; 336 kHistogramSynchronizerReservedSequenceNumber + 1;
338 } 337 }
339 DCHECK_NE(last_used_sequence_number_, 338 DCHECK_NE(last_used_sequence_number_,
340 kHistogramSynchronizerReservedSequenceNumber); 339 kHistogramSynchronizerReservedSequenceNumber);
341 if (requester == ASYNC_HISTOGRAMS) 340 if (requester == ASYNC_HISTOGRAMS)
342 async_sequence_number_ = last_used_sequence_number_; 341 async_sequence_number_ = last_used_sequence_number_;
343 return last_used_sequence_number_; 342 return last_used_sequence_number_;
344 } 343 }
345 344
346 } // namespace content 345 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698