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

Side by Side Diff: chrome/browser/jankometer.cc

Issue 515033: Cleanup histogram classes mixing SetFlags into FactoryGet arguments... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 <limits> 5 #include <limits>
6 6
7 #include "chrome/browser/jankometer.h" 7 #include "chrome/browser/jankometer.h"
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 class JankObserver : public base::RefCountedThreadSafe<JankObserver>, 85 class JankObserver : public base::RefCountedThreadSafe<JankObserver>,
86 public MessageLoopForUI::Observer { 86 public MessageLoopForUI::Observer {
87 public: 87 public:
88 JankObserver(const char* thread_name, 88 JankObserver(const char* thread_name,
89 const TimeDelta& excessive_duration, 89 const TimeDelta& excessive_duration,
90 bool watchdog_enable) 90 bool watchdog_enable)
91 : MaxMessageDelay_(excessive_duration), 91 : MaxMessageDelay_(excessive_duration),
92 slow_processing_counter_(std::string("Chrome.SlowMsg") + thread_name), 92 slow_processing_counter_(std::string("Chrome.SlowMsg") + thread_name),
93 queueing_delay_counter_(std::string("Chrome.DelayMsg") + thread_name), 93 queueing_delay_counter_(std::string("Chrome.DelayMsg") + thread_name),
94 total_time_watchdog_(excessive_duration, thread_name, watchdog_enable) { 94 total_time_watchdog_(excessive_duration, thread_name, watchdog_enable) {
95 process_times_ = Histogram::HistogramFactoryGet( 95 process_times_ = Histogram::FactoryGet(
96 (std::string("Chrome.ProcMsgL ") + thread_name), 96 std::string("Chrome.ProcMsgL ") + thread_name,
97 1, 3600000, 50); 97 1, 3600000, 50, Histogram::kUmaTargetedHistogramFlag);
98 total_times_ = Histogram::HistogramFactoryGet( 98 total_times_ = Histogram::FactoryGet(
99 (std::string("Chrome.TotalMsgL ") + thread_name), 99 std::string("Chrome.TotalMsgL ") + thread_name,
100 1, 3600000, 50); 100 1, 3600000, 50, Histogram::kUmaTargetedHistogramFlag);
101 process_times_->SetFlags(kUmaTargetedHistogramFlag);
102 total_times_->SetFlags(kUmaTargetedHistogramFlag);
103 } 101 }
104 102
105 // Attaches the observer to the current thread's message loop. You can only 103 // Attaches the observer to the current thread's message loop. You can only
106 // attach to the current thread, so this function can be invoked on another 104 // attach to the current thread, so this function can be invoked on another
107 // thread to attach it. 105 // thread to attach it.
108 void AttachToCurrentThread() { 106 void AttachToCurrentThread() {
109 // TODO(darin): support monitoring jankiness on non-UI threads! 107 // TODO(darin): support monitoring jankiness on non-UI threads!
110 if (MessageLoop::current()->type() == MessageLoop::TYPE_UI) 108 if (MessageLoop::current()->type() == MessageLoop::TYPE_UI)
111 MessageLoopForUI::current()->AddObserver(this); 109 MessageLoopForUI::current()->AddObserver(this);
112 } 110 }
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 ui_observer->Release(); 265 ui_observer->Release();
268 ui_observer = NULL; 266 ui_observer = NULL;
269 } 267 }
270 if (io_observer) { 268 if (io_observer) {
271 // IO thread can't be running when we remove observers. 269 // IO thread can't be running when we remove observers.
272 DCHECK((!g_browser_process) || !(g_browser_process->io_thread())); 270 DCHECK((!g_browser_process) || !(g_browser_process->io_thread()));
273 io_observer->Release(); 271 io_observer->Release();
274 io_observer = NULL; 272 io_observer = NULL;
275 } 273 }
276 } 274 }
OLDNEW
« no previous file with comments | « chrome/browser/diagnostics/sqlite_diagnostics.cc ('k') | chrome/browser/metrics/metrics_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698