summaryrefslogtreecommitdiff
path: root/src/counter.c
diff options
context:
space:
mode:
authorDaniel Wagner <daniel.wagner@bmw-carit.de>2010-07-08 15:32:02 +0200
committerMarcel Holtmann <marcel@holtmann.org>2010-07-08 10:35:46 -0300
commite9d553694c5863a89121ca9458ce95cdb478f3f1 (patch)
tree754b4d3b765bab61a924ca1a621be344ccf4ffcb /src/counter.c
parent94d84fcb66a9a2ffce3a2ae688c3e2e958a21a3f (diff)
downloadconnman-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.c35
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;