Chromium Code Reviews| Index: chrome/browser/extensions/event_router.cc |
| diff --git a/chrome/browser/extensions/event_router.cc b/chrome/browser/extensions/event_router.cc |
| index df5b2f7b31e39475914e9f955aea02a1c2b5bac4..e7a556be86217544c8c51fb80798d0c4c8acd6ed 100644 |
| --- a/chrome/browser/extensions/event_router.cc |
| +++ b/chrome/browser/extensions/event_router.cc |
| @@ -9,6 +9,7 @@ |
| #include "base/bind.h" |
| #include "base/command_line.h" |
| #include "base/message_loop.h" |
| +#include "base/metrics/histogram.h" |
| #include "base/stl_util.h" |
| #include "base/values.h" |
| #include "base/version.h" |
| @@ -30,6 +31,7 @@ |
| #include "chrome/common/chrome_notification_types.h" |
| #include "chrome/common/chrome_switches.h" |
| #include "chrome/common/extensions/api/extension_api.h" |
| +#include "chrome/common/extensions/api/generated_api.h" |
| #include "chrome/common/extensions/extension.h" |
| #include "chrome/common/extensions/extension_messages.h" |
| #include "chrome/common/view_type.h" |
| @@ -186,6 +188,9 @@ EventRouter::EventRouter(Profile* profile, ExtensionPrefs* extension_prefs) |
| registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_INSTALLED, |
| content::Source<Profile>(profile_)); |
| + extensions::api::GeneratedEventHistogramMap:: |
| + AddAll(histogram_values_); |
| + |
| // NULL in unit_tests. |
| if (extension_prefs) { |
| // Check if registered events are up-to-date. We need to do this before |
| @@ -203,6 +208,7 @@ void EventRouter::AddEventListener(const std::string& event_name, |
| const std::string& extension_id) { |
| listeners_.AddListener(scoped_ptr<EventListener>(new EventListener( |
| event_name, extension_id, process, scoped_ptr<DictionaryValue>()))); |
| + RecordEventListenerAdded(event_name); |
|
koz (OOO until 15th September)
2013/03/13 01:00:27
This might be trickier than it seems. Extensions /
|
| } |
| void EventRouter::RemoveEventListener(const std::string& event_name, |
| @@ -592,6 +598,11 @@ void EventRouter::DispatchPendingEvent(const linked_ptr<Event>& event, |
| } |
| } |
| +void EventRouter::RecordEventListenerAdded(const std::string& event_name) { |
| + UMA_HISTOGRAM_ENUMERATION("Extensions.AddEventListener", |
| + histogram_values_[event_name], extensions::events::ENUM_BOUNDARY); |
| +} |
| + |
| void EventRouter::Observe(int type, |
| const content::NotificationSource& source, |
| const content::NotificationDetails& details) { |