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

Unified Diff: dbus/object_proxy.cc

Issue 11363173: Add DBusStatistics and DBusLogSource to log and show dbus stats (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 8 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « dbus/dbus_statistics_unittest.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: dbus/object_proxy.cc
diff --git a/dbus/object_proxy.cc b/dbus/object_proxy.cc
index 5e9bf5b4c06c118a04fc16aba084f5256e35cb26..87950d1adb867b596ebb3aed2f7a77a2a3892a1f 100644
--- a/dbus/object_proxy.cc
+++ b/dbus/object_proxy.cc
@@ -12,6 +12,7 @@
#include "base/stringprintf.h"
#include "base/threading/thread.h"
#include "base/threading/thread_restrictions.h"
+#include "dbus/dbus_statistics.h"
#include "dbus/message.h"
#include "dbus/object_path.h"
#include "dbus/object_proxy.h"
@@ -25,7 +26,7 @@ const char kErrorServiceUnknown[] = "org.freedesktop.DBus.Error.ServiceUnknown";
const int kSuccessRatioHistogramMaxValue = 2;
// The path of D-Bus Object sending NameOwnerChanged signal.
-const char kDbusSystemObjectPath[] = "/org/freedesktop/DBus";
+const char kDBusSystemObjectPath[] = "/org/freedesktop/DBus";
// Gets the absolute signal name by concatenating the interface name and
// the signal name. Used for building keys for method_table_ in
@@ -83,6 +84,9 @@ Response* ObjectProxy::CallMethodAndBlock(MethodCall* method_call,
UMA_HISTOGRAM_ENUMERATION("DBus.SyncMethodCallSuccess",
response_message ? 1 : 0,
kSuccessRatioHistogramMaxValue);
+ statistics::AddBlockingSentMethodCall(service_name_,
+ method_call->GetInterface(),
+ method_call->GetMember());
if (!response_message) {
LogMethodCallFailure(method_call->GetInterface(),
@@ -144,6 +148,10 @@ void ObjectProxy::CallMethodWithErrorCallback(MethodCall* method_call,
callback,
error_callback,
start_time);
+ statistics::AddSentMethodCall(service_name_,
+ method_call->GetInterface(),
+ method_call->GetMember());
+
// Wait for the response in the D-Bus thread.
bus_->PostTaskToDBusThread(FROM_HERE, task);
}
@@ -433,7 +441,7 @@ DBusHandlerResult ObjectProxy::HandleMessage(
// allow other object proxies to handle instead.
const dbus::ObjectPath path = signal->GetPath();
if (path != object_path_) {
- if (path.value() == kDbusSystemObjectPath &&
+ if (path.value() == kDBusSystemObjectPath &&
signal->GetMember() == "NameOwnerChanged") {
// Handle NameOwnerChanged separately
return HandleNameOwnerChanged(signal.Pass());
@@ -444,6 +452,8 @@ DBusHandlerResult ObjectProxy::HandleMessage(
const std::string interface = signal->GetInterface();
const std::string member = signal->GetMember();
+ statistics::AddReceivedSignal(service_name_, interface, member);
+
// Check if we know about the signal.
const std::string absolute_signal_name = GetAbsoluteSignalName(
interface, member);
« no previous file with comments | « dbus/dbus_statistics_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698