| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium OS 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 #include "metrics_daemon.h" | 5 #include "metrics_daemon.h" |
| 6 | 6 |
| 7 #include <dbus/dbus-glib-lowlevel.h> | 7 #include <dbus/dbus-glib-lowlevel.h> |
| 8 #include <sys/file.h> | 8 #include <sys/file.h> |
| 9 | 9 |
| 10 #include <base/eintr_wrapper.h> | 10 #include <base/eintr_wrapper.h> |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 if (testing) | 118 if (testing) |
| 119 return; | 119 return; |
| 120 | 120 |
| 121 g_thread_init(NULL); | 121 g_thread_init(NULL); |
| 122 g_type_init(); | 122 g_type_init(); |
| 123 dbus_g_thread_init(); | 123 dbus_g_thread_init(); |
| 124 | 124 |
| 125 DBusError error; | 125 DBusError error; |
| 126 dbus_error_init(&error); | 126 dbus_error_init(&error); |
| 127 | 127 |
| 128 DBusConnection *connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error); | 128 DBusConnection* connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error); |
| 129 LOG_IF(FATAL, dbus_error_is_set(&error)) << | 129 LOG_IF(FATAL, dbus_error_is_set(&error)) << |
| 130 "No D-Bus connection: " << SAFE_MESSAGE(error); | 130 "No D-Bus connection: " << SAFE_MESSAGE(error); |
| 131 | 131 |
| 132 dbus_connection_setup_with_g_main(connection, NULL); | 132 dbus_connection_setup_with_g_main(connection, NULL); |
| 133 | 133 |
| 134 // Registers D-Bus matches for the signals we would like to catch. | 134 // Registers D-Bus matches for the signals we would like to catch. |
| 135 for (unsigned int m = 0; m < sizeof(kDBusMatches_) / sizeof(char *); m++) { | 135 for (unsigned int m = 0; m < sizeof(kDBusMatches_) / sizeof(char*); m++) { |
| 136 const char* match = kDBusMatches_[m]; | 136 const char* match = kDBusMatches_[m]; |
| 137 DLOG(INFO) << "adding dbus match: " << match; | 137 DLOG(INFO) << "adding dbus match: " << match; |
| 138 dbus_bus_add_match(connection, match, &error); | 138 dbus_bus_add_match(connection, match, &error); |
| 139 LOG_IF(FATAL, dbus_error_is_set(&error)) << | 139 LOG_IF(FATAL, dbus_error_is_set(&error)) << |
| 140 "unable to add a match: " << SAFE_MESSAGE(error); | 140 "unable to add a match: " << SAFE_MESSAGE(error); |
| 141 } | 141 } |
| 142 | 142 |
| 143 // Adds the D-Bus filter routine to be called back whenever one of | 143 // Adds the D-Bus filter routine to be called back whenever one of |
| 144 // the registered D-Bus matches is successful. The daemon is not | 144 // the registered D-Bus matches is successful. The daemon is not |
| 145 // activated for D-Bus messages that don't match. | 145 // activated for D-Bus messages that don't match. |
| (...skipping 24 matching lines...) Expand all Loading... |
| 170 CHECK(interface != NULL); | 170 CHECK(interface != NULL); |
| 171 | 171 |
| 172 MetricsDaemon* daemon = static_cast<MetricsDaemon*>(user_data); | 172 MetricsDaemon* daemon = static_cast<MetricsDaemon*>(user_data); |
| 173 | 173 |
| 174 DBusMessageIter iter; | 174 DBusMessageIter iter; |
| 175 dbus_message_iter_init(message, &iter); | 175 dbus_message_iter_init(message, &iter); |
| 176 if (strcmp(interface, DBUS_IFACE_FLIMFLAM_MANAGER) == 0) { | 176 if (strcmp(interface, DBUS_IFACE_FLIMFLAM_MANAGER) == 0) { |
| 177 CHECK(strcmp(dbus_message_get_member(message), | 177 CHECK(strcmp(dbus_message_get_member(message), |
| 178 "StateChanged") == 0); | 178 "StateChanged") == 0); |
| 179 | 179 |
| 180 char *state_name; | 180 char* state_name; |
| 181 dbus_message_iter_get_basic(&iter, &state_name); | 181 dbus_message_iter_get_basic(&iter, &state_name); |
| 182 daemon->NetStateChanged(state_name, ticks); | 182 daemon->NetStateChanged(state_name, ticks); |
| 183 } else if (strcmp(interface, DBUS_IFACE_POWER_MANAGER) == 0) { | 183 } else if (strcmp(interface, DBUS_IFACE_POWER_MANAGER) == 0) { |
| 184 CHECK(strcmp(dbus_message_get_member(message), | 184 CHECK(strcmp(dbus_message_get_member(message), |
| 185 "PowerStateChanged") == 0); | 185 "PowerStateChanged") == 0); |
| 186 | 186 |
| 187 char *state_name; | 187 char* state_name; |
| 188 dbus_message_iter_get_basic(&iter, &state_name); | 188 dbus_message_iter_get_basic(&iter, &state_name); |
| 189 daemon->PowerStateChanged(state_name, now); | 189 daemon->PowerStateChanged(state_name, now); |
| 190 } else if (strcmp(interface, DBUS_IFACE_SCREENSAVER_MANAGER) == 0) { | 190 } else if (strcmp(interface, DBUS_IFACE_SCREENSAVER_MANAGER) == 0) { |
| 191 CHECK(strcmp(dbus_message_get_member(message), | 191 CHECK(strcmp(dbus_message_get_member(message), |
| 192 "LockStateChanged") == 0); | 192 "LockStateChanged") == 0); |
| 193 | 193 |
| 194 char *state_name; | 194 char* state_name; |
| 195 dbus_message_iter_get_basic(&iter, &state_name); | 195 dbus_message_iter_get_basic(&iter, &state_name); |
| 196 daemon->ScreenSaverStateChanged(state_name, now); | 196 daemon->ScreenSaverStateChanged(state_name, now); |
| 197 } else if (strcmp(interface, DBUS_IFACE_SESSION_MANAGER) == 0) { | 197 } else if (strcmp(interface, DBUS_IFACE_SESSION_MANAGER) == 0) { |
| 198 CHECK(strcmp(dbus_message_get_member(message), | 198 CHECK(strcmp(dbus_message_get_member(message), |
| 199 "SessionStateChanged") == 0); | 199 "SessionStateChanged") == 0); |
| 200 | 200 |
| 201 char *state_name; | 201 char* state_name; |
| 202 dbus_message_iter_get_basic(&iter, &state_name); | 202 dbus_message_iter_get_basic(&iter, &state_name); |
| 203 daemon->SessionStateChanged(state_name, now); | 203 daemon->SessionStateChanged(state_name, now); |
| 204 } else { | 204 } else { |
| 205 DLOG(WARNING) << "unexpected interface: " << interface; | 205 DLOG(WARNING) << "unexpected interface: " << interface; |
| 206 return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; | 206 return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; |
| 207 } | 207 } |
| 208 | 208 |
| 209 return DBUS_HANDLER_RESULT_HANDLED; | 209 return DBUS_HANDLER_RESULT_HANDLED; |
| 210 } | 210 } |
| 211 | 211 |
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 454 usemon_source_ = NULL; | 454 usemon_source_ = NULL; |
| 455 usemon_interval_ = 0; | 455 usemon_interval_ = 0; |
| 456 } | 456 } |
| 457 | 457 |
| 458 void MetricsDaemon::SendMetric(const std::string& name, int sample, | 458 void MetricsDaemon::SendMetric(const std::string& name, int sample, |
| 459 int min, int max, int nbuckets) { | 459 int min, int max, int nbuckets) { |
| 460 DLOG(INFO) << "received metric: " << name << " " << sample << " " | 460 DLOG(INFO) << "received metric: " << name << " " << sample << " " |
| 461 << min << " " << max << " " << nbuckets; | 461 << min << " " << max << " " << nbuckets; |
| 462 metrics_lib_->SendToUMA(name, sample, min, max, nbuckets); | 462 metrics_lib_->SendToUMA(name, sample, min, max, nbuckets); |
| 463 } | 463 } |
| OLD | NEW |