diff options
author | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2010-07-08 15:32:02 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2010-07-08 10:35:46 -0300 |
commit | e9d553694c5863a89121ca9458ce95cdb478f3f1 (patch) | |
tree | 754b4d3b765bab61a924ca1a621be344ccf4ffcb /src/counter.c | |
parent | 94d84fcb66a9a2ffce3a2ae688c3e2e958a21a3f (diff) | |
download | connman-e9d553694c5863a89121ca9458ce95cdb478f3f1.tar.gz connman-e9d553694c5863a89121ca9458ce95cdb478f3f1.tar.bz2 connman-e9d553694c5863a89121ca9458ce95cdb478f3f1.zip |
Add additionals statistics counters
Adding rx_packets, tx_packets, rx_errors, tx_errors,
rx_dropped and tx_dropped counters.
Diffstat (limited to 'src/counter.c')
-rw-r--r-- | src/counter.c | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/src/counter.c b/src/counter.c index a4613ca1..a457a226 100644 --- a/src/counter.c +++ b/src/counter.c @@ -133,8 +133,14 @@ static void send_usage(struct connman_counter *counter, DBusMessage *message; DBusMessageIter array, dict; const char *service_path; + unsigned long rx_packets; + unsigned long tx_packets; unsigned long rx_bytes; unsigned long tx_bytes; + unsigned long rx_errors; + unsigned long tx_errors; + unsigned long rx_dropped; + unsigned long tx_dropped; unsigned long time; message = dbus_message_new_method_call(counter->owner, counter->path, @@ -152,14 +158,32 @@ static void send_usage(struct connman_counter *counter, connman_dbus_dict_open(&array, &dict); + rx_packets = __connman_service_stats_get_rx_packets(service); + tx_packets = __connman_service_stats_get_tx_packets(service); rx_bytes = __connman_service_stats_get_rx_bytes(service); tx_bytes = __connman_service_stats_get_tx_bytes(service); + rx_errors = __connman_service_stats_get_rx_errors(service); + tx_errors = __connman_service_stats_get_tx_errors(service); + rx_dropped = __connman_service_stats_get_rx_dropped(service); + tx_dropped = __connman_service_stats_get_tx_dropped(service); time = __connman_service_stats_get_time(service); + connman_dbus_dict_append_basic(&dict, "RX.Packets", DBUS_TYPE_UINT32, + &rx_packets); + connman_dbus_dict_append_basic(&dict, "TX.Packets", DBUS_TYPE_UINT32, + &tx_packets); connman_dbus_dict_append_basic(&dict, "RX.Bytes", DBUS_TYPE_UINT32, &rx_bytes); connman_dbus_dict_append_basic(&dict, "TX.Bytes", DBUS_TYPE_UINT32, &tx_bytes); + connman_dbus_dict_append_basic(&dict, "RX.Errors", DBUS_TYPE_UINT32, + &rx_errors); + connman_dbus_dict_append_basic(&dict, "TX.Errors", DBUS_TYPE_UINT32, + &tx_errors); + connman_dbus_dict_append_basic(&dict, "RX.Dropped", DBUS_TYPE_UINT32, + &rx_dropped); + connman_dbus_dict_append_basic(&dict, "TX.Dropped", DBUS_TYPE_UINT32, + &tx_dropped); connman_dbus_dict_append_basic(&dict, "Time", DBUS_TYPE_UINT32, &time); @@ -169,7 +193,10 @@ static void send_usage(struct connman_counter *counter, } void __connman_counter_notify(struct connman_ipconfig *config, - unsigned int rx_bytes, unsigned int tx_bytes) + unsigned int rx_packets, unsigned int tx_packets, + unsigned int rx_bytes, unsigned int tx_bytes, + unsigned int rx_errors, unsigned int tx_errors, + unsigned int rx_dropped, unsigned int tx_dropped) { struct counter_data *data; GHashTableIter iter; @@ -179,7 +206,11 @@ void __connman_counter_notify(struct connman_ipconfig *config, if (data == NULL) return; - __connman_service_stats_update(data->service, rx_bytes, tx_bytes); + __connman_service_stats_update(data->service, + rx_packets, tx_packets, + rx_bytes, tx_bytes, + rx_errors, tx_errors, + rx_dropped, tx_dropped); if (data->first_update == TRUE) { data->first_update = FALSE; |