aboutsummaryrefslogtreecommitdiff
path: root/src/mm-base-bearer.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2020-03-28 06:57:42 +0100
committerAleksander Morgado <aleksander@aleksander.es>2020-04-10 11:45:03 +0000
commit073043ca6bf8644881d768041d6b7779ebfbd88d (patch)
tree176bd3273c4ac91ed0173b54204e1a9ed08db09a /src/mm-base-bearer.c
parenteebd7582bbd7a47d32838e5031a1315f15317f59 (diff)
base-bearer: log stats on disconnection
Diffstat (limited to 'src/mm-base-bearer.c')
-rw-r--r--src/mm-base-bearer.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mm-base-bearer.c b/src/mm-base-bearer.c
index be702132..e01c082b 100644
--- a/src/mm-base-bearer.c
+++ b/src/mm-base-bearer.c
@@ -439,6 +439,8 @@ bearer_update_status (MMBaseBearer *self,
/* Ensure that we don't expose any connection related data in the
* interface when going into disconnected state. */
if (self->priv->status == MM_BEARER_STATUS_DISCONNECTED) {
+ g_autoptr(GString) report = NULL;
+
bearer_reset_interface_status (self);
/* Cleanup flag to ignore disconnection reports */
self->priv->ignore_disconnection_reports = FALSE;
@@ -446,6 +448,19 @@ bearer_update_status (MMBaseBearer *self,
bearer_stats_stop (self);
/* Stop connection monitoring */
connection_monitor_stop (self);
+
+ /* Build and log report */
+ report = g_string_new (NULL);
+ g_string_append_printf (report,
+ "connection #%u finished: duration %us",
+ mm_bearer_stats_get_attempts (self->priv->stats),
+ mm_bearer_stats_get_duration (self->priv->stats));
+ if (!self->priv->reload_stats_unsupported)
+ g_string_append_printf (report,
+ ", tx: %" G_GUINT64_FORMAT " bytes, rx :%" G_GUINT64_FORMAT " bytes",
+ mm_bearer_stats_get_tx_bytes (self->priv->stats),
+ mm_bearer_stats_get_rx_bytes (self->priv->stats));
+ mm_obj_info (self, "%s", report->str);
}
}