stasis: Add statistics gathering in developer mode.

This change adds statistics gathering to Stasis topics,
subscriptions, and message types. These can be viewed using
CLI commands and provide insight into how Stasis is used
and how long certain operations take to execute.

These are only available when Asterisk is compiled in
developer mode and do not have any impact under normal
operation.

ASTERISK-28117

Change-Id: I94411b53767f89ee01714daaecf0c2f1666e863f
This commit is contained in:
Joshua C. Colp
2018-11-30 07:40:40 -04:00
parent 1f8062c6a6
commit fe07093660
8 changed files with 848 additions and 14 deletions

View File

@@ -4070,6 +4070,8 @@ static void asterisk_daemon(int isroot, const char *runuser, const char *rungrou
check_init(ast_tps_init(), "Task Processor Core");
check_init(ast_fd_init(), "File Descriptor Debugging");
check_init(ast_pbx_init(), "ast_pbx_init");
check_init(aco_init(), "Configuration Option Framework");
check_init(stasis_init(), "Stasis");
#ifdef TEST_FRAMEWORK
check_init(ast_test_init(), "Test Framework");
#endif
@@ -4082,9 +4084,7 @@ static void asterisk_daemon(int isroot, const char *runuser, const char *rungrou
check_init(ast_format_init(), "Formats");
check_init(ast_format_cache_init(), "Format Cache");
check_init(ast_codec_builtin_init(), "Built-in Codecs");
check_init(aco_init(), "Configuration Option Framework");
check_init(ast_bucket_init(), "Bucket API");
check_init(stasis_init(), "Stasis");
check_init(ast_stasis_system_init(), "Stasis system-level information");
check_init(ast_endpoint_stasis_init(), "Stasis Endpoint");