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) { |