| Index: metrics_daemon.cc
|
| diff --git a/metrics_daemon.cc b/metrics_daemon.cc
|
| index 4d50cb5e5147c5686959807f82991d90637f19de..2f62330a1b6fd5a90a293a41afb45ffffe4b1148 100644
|
| --- a/metrics_daemon.cc
|
| +++ b/metrics_daemon.cc
|
| @@ -19,7 +19,6 @@ using std::string;
|
|
|
| #define SAFE_MESSAGE(e) (e.message ? e.message : "unknown error")
|
| #define DBUS_IFACE_CRASH_REPORTER "org.chromium.CrashReporter"
|
| -#define DBUS_IFACE_FLIMFLAM_MANAGER "org.chromium.flimflam.Manager"
|
| #define DBUS_IFACE_POWER_MANAGER "org.chromium.PowerManager"
|
| #define DBUS_IFACE_SESSION_MANAGER "org.chromium.SessionManagerInterface"
|
|
|
| @@ -51,13 +50,6 @@ const int MetricsDaemon::kMetricDailyUseTimeMin = 1;
|
| const int MetricsDaemon::kMetricDailyUseTimeMax = kMinutesPerDay;
|
| const int MetricsDaemon::kMetricDailyUseTimeBuckets = 50;
|
|
|
| -const char MetricsDaemon::kMetricTimeToNetworkDropName[] =
|
| - "Network.TimeToDrop";
|
| -const int MetricsDaemon::kMetricTimeToNetworkDropMin = 1;
|
| -const int MetricsDaemon::kMetricTimeToNetworkDropMax =
|
| - 8 /* hours */ * kMinutesPerHour * kSecondsPerMinute;
|
| -const int MetricsDaemon::kMetricTimeToNetworkDropBuckets = 50;
|
| -
|
| // crash interval metrics
|
| const char MetricsDaemon::kMetricKernelCrashIntervalName[] =
|
| "Logging.KernelCrashInterval";
|
| @@ -104,12 +96,6 @@ const char* MetricsDaemon::kDBusMatches_[] = {
|
| "member='UserCrash'",
|
|
|
| "type='signal',"
|
| - "sender='org.chromium.flimflam',"
|
| - "interface='" DBUS_IFACE_FLIMFLAM_MANAGER "',"
|
| - "path='/',"
|
| - "member='StateChanged'",
|
| -
|
| - "type='signal',"
|
| "interface='" DBUS_IFACE_POWER_MANAGER "',"
|
| "path='/'",
|
|
|
| @@ -121,12 +107,6 @@ const char* MetricsDaemon::kDBusMatches_[] = {
|
| };
|
|
|
| // static
|
| -const char* MetricsDaemon::kNetworkStates_[] = {
|
| -#define STATE(name, capname) #name,
|
| -#include "network_states.h"
|
| -};
|
| -
|
| -// static
|
| const char* MetricsDaemon::kPowerStates_[] = {
|
| #define STATE(name, capname) #name,
|
| #include "power_states.h"
|
| @@ -138,56 +118,8 @@ const char* MetricsDaemon::kSessionStates_[] = {
|
| #include "session_states.h"
|
| };
|
|
|
| -// Invokes a remote method over D-Bus that takes no input arguments
|
| -// and returns a string result. The method call is issued with a 2
|
| -// second blocking timeout. Returns an empty string on failure or
|
| -// timeout.
|
| -static string DBusGetString(DBusConnection* connection,
|
| - const string& destination,
|
| - const string& path,
|
| - const string& interface,
|
| - const string& method) {
|
| - DBusMessage* message =
|
| - dbus_message_new_method_call(destination.c_str(),
|
| - path.c_str(),
|
| - interface.c_str(),
|
| - method.c_str());
|
| - if (!message) {
|
| - DLOG(WARNING) << "DBusGetString: unable to allocate a message";
|
| - return "";
|
| - }
|
| -
|
| - DBusError error;
|
| - dbus_error_init(&error);
|
| - const int kTimeout = 2000; // ms
|
| - DLOG(INFO) << "DBusGetString: dest=" << destination << " path=" << path
|
| - << " iface=" << interface << " method=" << method;
|
| - DBusMessage* reply =
|
| - dbus_connection_send_with_reply_and_block(connection, message, kTimeout,
|
| - &error);
|
| - dbus_message_unref(message);
|
| - if (dbus_error_is_set(&error) || !reply) {
|
| - DLOG(WARNING) << "DBusGetString: call failed";
|
| - return "";
|
| - }
|
| - DBusMessageIter iter;
|
| - dbus_message_iter_init(reply, &iter);
|
| - if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING) {
|
| - NOTREACHED();
|
| - dbus_message_unref(reply);
|
| - return "";
|
| - }
|
| - const char* c_result = "";
|
| - dbus_message_iter_get_basic(&iter, &c_result);
|
| - string result = c_result;
|
| - DLOG(INFO) << "DBusGetString: result=" << result;
|
| - dbus_message_unref(reply);
|
| - return result;
|
| -}
|
| -
|
| MetricsDaemon::MetricsDaemon()
|
| - : network_state_(kUnknownNetworkState),
|
| - power_state_(kUnknownPowerState),
|
| + : power_state_(kUnknownPowerState),
|
| session_state_(kUnknownSessionState),
|
| user_active_(false),
|
| usemon_interval_(0),
|
| @@ -317,11 +249,6 @@ void MetricsDaemon::Init(bool testing, MetricsLibraryInterface* metrics_lib) {
|
| // the registered D-Bus matches is successful. The daemon is not
|
| // activated for D-Bus messages that don't match.
|
| CHECK(dbus_connection_add_filter(connection, MessageFilter, this, NULL));
|
| -
|
| - // Initializes the current network state by retrieving it from flimflam.
|
| - string state_name = DBusGetString(connection, "org.chromium.flimflam", "/",
|
| - DBUS_IFACE_FLIMFLAM_MANAGER, "GetState");
|
| - NetStateChanged(state_name.c_str(), TimeTicks::Now());
|
| }
|
|
|
| void MetricsDaemon::Loop() {
|
| @@ -355,13 +282,6 @@ DBusHandlerResult MetricsDaemon::MessageFilter(DBusConnection* connection,
|
| CHECK(strcmp(dbus_message_get_member(message),
|
| "UserCrash") == 0);
|
| daemon->ProcessUserCrash();
|
| - } else if (strcmp(interface, DBUS_IFACE_FLIMFLAM_MANAGER) == 0) {
|
| - CHECK(strcmp(dbus_message_get_member(message),
|
| - "StateChanged") == 0);
|
| -
|
| - char* state_name;
|
| - dbus_message_iter_get_basic(&iter, &state_name);
|
| - daemon->NetStateChanged(state_name, ticks);
|
| } else if (strcmp(interface, DBUS_IFACE_POWER_MANAGER) == 0) {
|
| const char* member = dbus_message_get_member(message);
|
| if (strcmp(member, "ScreenIsLocked") == 0) {
|
| @@ -388,43 +308,6 @@ DBusHandlerResult MetricsDaemon::MessageFilter(DBusConnection* connection,
|
| return DBUS_HANDLER_RESULT_HANDLED;
|
| }
|
|
|
| -void MetricsDaemon::NetStateChanged(const char* state_name, TimeTicks ticks) {
|
| - DLOG(INFO) << "network state: " << state_name;
|
| -
|
| - NetworkState state = LookupNetworkState(state_name);
|
| -
|
| - // Logs the time in seconds between the network going online to
|
| - // going offline (or, more precisely, going not online) in order to
|
| - // measure the mean time to network dropping. Going offline as part
|
| - // of suspend-to-RAM is not logged as network drop -- the assumption
|
| - // is that the message for suspend-to-RAM comes before the network
|
| - // offline message which seems to and should be the case.
|
| - if (state != kNetworkStateOnline &&
|
| - network_state_ == kNetworkStateOnline &&
|
| - power_state_ != kPowerStateMem) {
|
| - TimeDelta since_online = ticks - network_state_last_;
|
| - int online_time = static_cast<int>(since_online.InSeconds());
|
| - SendMetric(kMetricTimeToNetworkDropName, online_time,
|
| - kMetricTimeToNetworkDropMin,
|
| - kMetricTimeToNetworkDropMax,
|
| - kMetricTimeToNetworkDropBuckets);
|
| - }
|
| -
|
| - network_state_ = state;
|
| - network_state_last_ = ticks;
|
| -}
|
| -
|
| -MetricsDaemon::NetworkState
|
| -MetricsDaemon::LookupNetworkState(const char* state_name) {
|
| - for (int i = 0; i < kNumberNetworkStates; i++) {
|
| - if (strcmp(state_name, kNetworkStates_[i]) == 0) {
|
| - return static_cast<NetworkState>(i);
|
| - }
|
| - }
|
| - DLOG(WARNING) << "unknown network connection state: " << state_name;
|
| - return kUnknownNetworkState;
|
| -}
|
| -
|
| void MetricsDaemon::PowerStateChanged(const char* state_name, Time now) {
|
| DLOG(INFO) << "power state: " << state_name;
|
| power_state_ = LookupPowerState(state_name);
|
|
|