From 1a1de33bf99c950f1414565c287e49b26e8c4217 Mon Sep 17 00:00:00 2001 From: Daniel Willmann Date: Tue, 14 Jul 2020 18:11:14 +0200 Subject: stats: Add stats commands related to testing * Allow to set the reporting interval to 0 for manual reporting * stats reset command to reset all statistics * stats report command to manually trigger statistics reporting Change-Id: I9febcb65650abfd538caedfbca77a787e66d517a Related: SYS#4877 --- src/vty/stats_vty.c | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) (limited to 'src/vty') diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c index 46282817..1483eaa5 100644 --- a/src/vty/stats_vty.c +++ b/src/vty/stats_vty.c @@ -43,6 +43,8 @@ #define SHOW_STATS_STR "Show statistical values\n" +#define STATS_STR "Stats related commands\n" + /*! \file stats_vty.c * VTY interface for statsd / statistic items * @@ -351,9 +353,9 @@ DEFUN(cfg_no_stats_reporter_log, cfg_no_stats_reporter_log_cmd, } DEFUN(cfg_stats_interval, cfg_stats_interval_cmd, - "stats interval <1-65535>", + "stats interval <0-65535>", CFG_STATS_STR "Set the reporting interval\n" - "Interval in seconds\n") + "Interval in seconds (0 disables the reporting interval)\n") { int rc; int interval = atoi(argv[0]); @@ -567,6 +569,37 @@ DEFUN(show_rate_counters, return CMD_SUCCESS; } +DEFUN(stats_report, + stats_report_cmd, + "stats report", + STATS_STR "Manurally trigger reporting of stats\n") +{ + osmo_stats_report(); + return CMD_SUCCESS; +} + +static int reset_rate_ctr_group_handler(struct rate_ctr_group *ctrg, void *sctx_) +{ + rate_ctr_group_reset(ctrg); + return 0; +} + +static int reset_osmo_stat_item_group_handler(struct osmo_stat_item_group *statg, void *sctx_) +{ + osmo_stat_item_group_reset(statg); + return 0; +} + +DEFUN(stats_reset, + stats_reset_cmd, + "stats reset", + STATS_STR "Reset all stats\n") +{ + rate_ctr_for_each_group(reset_rate_ctr_group_handler, NULL); + osmo_stat_item_for_each_group(reset_osmo_stat_item_group_handler, NULL); + return CMD_SUCCESS; +} + static int config_write_stats_reporter(struct vty *vty, struct osmo_stats_reporter *srep) { if (srep == NULL) @@ -666,4 +699,7 @@ void osmo_stats_vty_add_cmds() install_element_ve(&show_stats_asciidoc_table_cmd); install_element_ve(&show_rate_counters_cmd); + + install_element(ENABLE_NODE, &stats_report_cmd); + install_element(ENABLE_NODE, &stats_reset_cmd); } -- cgit v1.2.3