From 2162a3697e647b74984520821b35df624cca1728 Mon Sep 17 00:00:00 2001 From: Matthias Wachs Date: Fri, 27 Apr 2012 08:26:36 +0000 Subject: [PATCH] - some statistics for the plugin --- src/transport/plugin_transport_udp.c | 11 +++++++++++ src/transport/plugin_transport_unix.c | 12 ++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/transport/plugin_transport_udp.c b/src/transport/plugin_transport_udp.c index 8fc2c8f8d..5d512d9e4 100644 --- a/src/transport/plugin_transport_udp.c +++ b/src/transport/plugin_transport_udp.c @@ -653,6 +653,10 @@ disconnect_and_free_it (void *cls, const GNUNET_HashCode * key, void *value) &s->target.hashPubKey, s)); + GNUNET_STATISTICS_set(plugin->env->stats, + "# UDP sessions active", + GNUNET_CONTAINER_multihashmap_size(plugin->sessions), + GNUNET_NO); GNUNET_free (s); return GNUNET_OK; @@ -877,6 +881,11 @@ udp_plugin_get_session (void *cls, s, GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE)); + GNUNET_STATISTICS_set(plugin->env->stats, + "# UDP sessions active", + GNUNET_CONTAINER_multihashmap_size(plugin->sessions), + GNUNET_NO); + return s; } @@ -2105,6 +2114,8 @@ libgnunet_plugin_transport_udp_init (void *cls) return api; } + GNUNET_assert( NULL != env->stats); + /* Get port number */ if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_number (env->cfg, "transport-udp", "PORT", diff --git a/src/transport/plugin_transport_unix.c b/src/transport/plugin_transport_unix.c index ecfe15783..c01304b3f 100644 --- a/src/transport/plugin_transport_unix.c +++ b/src/transport/plugin_transport_unix.c @@ -261,6 +261,11 @@ get_session_delete_it (void *cls, const GNUNET_HashCode * key, void *value) GNUNET_assert (GNUNET_YES == GNUNET_CONTAINER_multihashmap_remove(plugin->session_map, &s->target.hashPubKey, s)); + GNUNET_STATISTICS_set(plugin->env->stats, + "# UNIX sessions active", + GNUNET_CONTAINER_multihashmap_size(plugin->session_map), + GNUNET_NO); + GNUNET_free (s); return GNUNET_YES; @@ -544,6 +549,12 @@ unix_plugin_get_session (void *cls, GNUNET_CONTAINER_multihashmap_put (plugin->session_map, &address->peer.hashPubKey, s, GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE); + + GNUNET_STATISTICS_set(plugin->env->stats, + "# UNIX sessions active", + GNUNET_CONTAINER_multihashmap_size(plugin->session_map), + GNUNET_NO); + #if DEBUG_UNIX GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Creating new session\n"); #endif @@ -1071,6 +1082,7 @@ libgnunet_plugin_transport_unix_init (void *cls) api->string_to_address = NULL; // FIXME! return api; } + GNUNET_assert( NULL != env->stats); if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_number (env->cfg, "transport-unix", "PORT", -- 2.25.1