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

Side by Side Diff: chrome/browser/performance_monitor/event.h

Issue 23825004: PerformanceMonitor: UMA alert for high browser CPU usage. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 2 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) 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 #ifndef CHROME_BROWSER_PERFORMANCE_MONITOR_EVENT_H_ 5 #ifndef CHROME_BROWSER_PERFORMANCE_MONITOR_EVENT_H_
6 #define CHROME_BROWSER_PERFORMANCE_MONITOR_EVENT_H_ 6 #define CHROME_BROWSER_PERFORMANCE_MONITOR_EVENT_H_
7 7
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/time/time.h" 9 #include "base/time/time.h"
10 #include "base/values.h" 10 #include "base/values.h"
11 11
12 #include "chrome/browser/performance_monitor/event_type.h"
13
12 namespace performance_monitor { 14 namespace performance_monitor {
13 15
14 // IMPORTANT: To add new events, please
15 // - Place the new event above EVENT_NUMBER_OF_EVENTS.
16 // - Add a member to the EventKeyChar enum in key_builder.cc.
17 // - Add the appropriate messages in generated_resources.grd.
18 // - Add the appropriate functions in
19 // chrome/browser/ui/webui/performance_monitor/performance_monitor_l10n.h.
20 enum EventType {
21 EVENT_UNDEFINED,
22
23 // Extension-Related events
24 EVENT_EXTENSION_INSTALL,
25 EVENT_EXTENSION_UNINSTALL,
26 EVENT_EXTENSION_UPDATE,
27 EVENT_EXTENSION_ENABLE,
28 EVENT_EXTENSION_DISABLE,
29
30 // Chrome's version has changed.
31 EVENT_CHROME_UPDATE,
32
33 // Renderer-Failure related events; these correspond to the RENDERER_HANG
34 // event, and the two termination statuses ABNORMAL_EXIT and PROCESS_KILLED,
35 // respectively.
36 EVENT_RENDERER_HANG,
37 EVENT_RENDERER_CRASH,
38 EVENT_RENDERER_KILLED,
39
40 // Chrome did not shut down correctly.
41 EVENT_UNCLEAN_EXIT,
42
43 EVENT_NUMBER_OF_EVENTS
44 };
45
46 const char* EventTypeToString(EventType event_type); 16 const char* EventTypeToString(EventType event_type);
47 17
48 // The wrapper class for the JSON-generated event classes for the performance 18 // The wrapper class for the JSON-generated event classes for the performance
49 // monitor. This class is used so we can pass around events in a single class, 19 // monitor. This class is used so we can pass around events in a single class,
50 // rather than having a variety of different types (since JSON does not 20 // rather than having a variety of different types (since JSON does not
51 // currently support inheritance). Since the class will occasionally need to 21 // currently support inheritance). Since the class will occasionally need to
52 // be compared against other events, we construct it with type and time. Other 22 // be compared against other events, we construct it with type and time. Other
53 // information should not be needed commonly, and is stored in a JSON-generated 23 // information should not be needed commonly, and is stored in a JSON-generated
54 // DictionaryValue. 24 // DictionaryValue.
55 class Event { 25 class Event {
(...skipping 19 matching lines...) Expand all
75 // The time at which the event was recorded. 45 // The time at which the event was recorded.
76 base::Time time_; 46 base::Time time_;
77 // The full JSON-generated value representing the information of the event; 47 // The full JSON-generated value representing the information of the event;
78 // these data are described in chrome/browser/performance_monitor/events.json. 48 // these data are described in chrome/browser/performance_monitor/events.json.
79 scoped_ptr<base::DictionaryValue> data_; 49 scoped_ptr<base::DictionaryValue> data_;
80 }; 50 };
81 51
82 } // namespace performance_monitor 52 } // namespace performance_monitor
83 53
84 #endif // CHROME_BROWSER_PERFORMANCE_MONITOR_EVENT_H_ 54 #endif // CHROME_BROWSER_PERFORMANCE_MONITOR_EVENT_H_
OLDNEW
« no previous file with comments | « chrome/browser/performance_monitor/constants.h ('k') | chrome/browser/performance_monitor/event_type.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698