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 |