diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2020-03-28 06:57:42 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2020-04-10 11:45:03 +0000 |
commit | 073043ca6bf8644881d768041d6b7779ebfbd88d (patch) | |
tree | 176bd3273c4ac91ed0173b54204e1a9ed08db09a /src/mm-base-bearer.c | |
parent | eebd7582bbd7a47d32838e5031a1315f15317f59 (diff) |
base-bearer: log stats on disconnection
Diffstat (limited to 'src/mm-base-bearer.c')
-rw-r--r-- | src/mm-base-bearer.c | 15 |
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); } } |