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

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

Issue 1000373002: favor DCHECK_CURRENTLY_ON for better logs in content/browser/[f-p]* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase on master Created 5 years, 9 months 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
« no previous file with comments | « content/browser/gpu/shader_disk_cache.cc ('k') | content/browser/histogram_synchronizer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_controller.h" 5 #include "content/browser/histogram_controller.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/metrics/histogram.h" 8 #include "base/metrics/histogram.h"
9 #include "base/process/process_handle.h" 9 #include "base/process/process_handle.h"
10 #include "content/browser/histogram_subscriber.h" 10 #include "content/browser/histogram_subscriber.h"
(...skipping 12 matching lines...) Expand all
23 23
24 HistogramController::HistogramController() : subscriber_(NULL) { 24 HistogramController::HistogramController() : subscriber_(NULL) {
25 } 25 }
26 26
27 HistogramController::~HistogramController() { 27 HistogramController::~HistogramController() {
28 } 28 }
29 29
30 void HistogramController::OnPendingProcesses(int sequence_number, 30 void HistogramController::OnPendingProcesses(int sequence_number,
31 int pending_processes, 31 int pending_processes,
32 bool end) { 32 bool end) {
33 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 33 DCHECK_CURRENTLY_ON(BrowserThread::UI);
34 if (subscriber_) 34 if (subscriber_)
35 subscriber_->OnPendingProcesses(sequence_number, pending_processes, end); 35 subscriber_->OnPendingProcesses(sequence_number, pending_processes, end);
36 } 36 }
37 37
38 void HistogramController::OnHistogramDataCollected( 38 void HistogramController::OnHistogramDataCollected(
39 int sequence_number, 39 int sequence_number,
40 const std::vector<std::string>& pickled_histograms) { 40 const std::vector<std::string>& pickled_histograms) {
41 if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) { 41 if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) {
42 BrowserThread::PostTask( 42 BrowserThread::PostTask(
43 BrowserThread::UI, FROM_HERE, 43 BrowserThread::UI, FROM_HERE,
44 base::Bind(&HistogramController::OnHistogramDataCollected, 44 base::Bind(&HistogramController::OnHistogramDataCollected,
45 base::Unretained(this), 45 base::Unretained(this),
46 sequence_number, 46 sequence_number,
47 pickled_histograms)); 47 pickled_histograms));
48 return; 48 return;
49 } 49 }
50 50
51 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 51 DCHECK_CURRENTLY_ON(BrowserThread::UI);
52 if (subscriber_) { 52 if (subscriber_) {
53 subscriber_->OnHistogramDataCollected(sequence_number, 53 subscriber_->OnHistogramDataCollected(sequence_number,
54 pickled_histograms); 54 pickled_histograms);
55 } 55 }
56 } 56 }
57 57
58 void HistogramController::Register(HistogramSubscriber* subscriber) { 58 void HistogramController::Register(HistogramSubscriber* subscriber) {
59 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 59 DCHECK_CURRENTLY_ON(BrowserThread::UI);
60 DCHECK(!subscriber_); 60 DCHECK(!subscriber_);
61 subscriber_ = subscriber; 61 subscriber_ = subscriber;
62 } 62 }
63 63
64 void HistogramController::Unregister( 64 void HistogramController::Unregister(
65 const HistogramSubscriber* subscriber) { 65 const HistogramSubscriber* subscriber) {
66 DCHECK_EQ(subscriber_, subscriber); 66 DCHECK_EQ(subscriber_, subscriber);
67 subscriber_ = NULL; 67 subscriber_ = NULL;
68 } 68 }
69 69
70 void HistogramController::GetHistogramDataFromChildProcesses( 70 void HistogramController::GetHistogramDataFromChildProcesses(
71 int sequence_number) { 71 int sequence_number) {
72 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 72 DCHECK_CURRENTLY_ON(BrowserThread::IO);
73 73
74 int pending_processes = 0; 74 int pending_processes = 0;
75 for (BrowserChildProcessHostIterator iter; !iter.Done(); ++iter) { 75 for (BrowserChildProcessHostIterator iter; !iter.Done(); ++iter) {
76 const ChildProcessData& data = iter.GetData(); 76 const ChildProcessData& data = iter.GetData();
77 int type = data.process_type; 77 int type = data.process_type;
78 if (type != PROCESS_TYPE_PLUGIN && 78 if (type != PROCESS_TYPE_PLUGIN &&
79 type != PROCESS_TYPE_GPU && 79 type != PROCESS_TYPE_GPU &&
80 type != PROCESS_TYPE_PPAPI_PLUGIN && 80 type != PROCESS_TYPE_PPAPI_PLUGIN &&
81 type != PROCESS_TYPE_PPAPI_BROKER) { 81 type != PROCESS_TYPE_PPAPI_BROKER) {
82 continue; 82 continue;
(...skipping 16 matching lines...) Expand all
99 FROM_HERE, 99 FROM_HERE,
100 base::Bind( 100 base::Bind(
101 &HistogramController::OnPendingProcesses, 101 &HistogramController::OnPendingProcesses,
102 base::Unretained(this), 102 base::Unretained(this),
103 sequence_number, 103 sequence_number,
104 pending_processes, 104 pending_processes,
105 true)); 105 true));
106 } 106 }
107 107
108 void HistogramController::GetHistogramData(int sequence_number) { 108 void HistogramController::GetHistogramData(int sequence_number) {
109 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 109 DCHECK_CURRENTLY_ON(BrowserThread::UI);
110 110
111 int pending_processes = 0; 111 int pending_processes = 0;
112 for (RenderProcessHost::iterator it(RenderProcessHost::AllHostsIterator()); 112 for (RenderProcessHost::iterator it(RenderProcessHost::AllHostsIterator());
113 !it.IsAtEnd(); it.Advance()) { 113 !it.IsAtEnd(); it.Advance()) {
114 ++pending_processes; 114 ++pending_processes;
115 if (!it.GetCurrentValue()->Send( 115 if (!it.GetCurrentValue()->Send(
116 new ChildProcessMsg_GetChildHistogramData(sequence_number))) { 116 new ChildProcessMsg_GetChildHistogramData(sequence_number))) {
117 --pending_processes; 117 --pending_processes;
118 } 118 }
119 } 119 }
120 OnPendingProcesses(sequence_number, pending_processes, false); 120 OnPendingProcesses(sequence_number, pending_processes, false);
121 121
122 BrowserThread::PostTask( 122 BrowserThread::PostTask(
123 BrowserThread::IO, 123 BrowserThread::IO,
124 FROM_HERE, 124 FROM_HERE,
125 base::Bind(&HistogramController::GetHistogramDataFromChildProcesses, 125 base::Bind(&HistogramController::GetHistogramDataFromChildProcesses,
126 base::Unretained(this), 126 base::Unretained(this),
127 sequence_number)); 127 sequence_number));
128 } 128 }
129 129
130 } // namespace content 130 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/gpu/shader_disk_cache.cc ('k') | content/browser/histogram_synchronizer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698