aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2015-10-06 15:21:56 +0200
committerJacob Erlbeck <jerlbeck@sysmocom.de>2015-10-28 23:51:12 +0100
commit738d9e22108a8e472458fad42509fd8d96994d6c (patch)
tree6f2a984f90708d4093a1adf298b3b8dba12e80ab
parent9732cb4a92a883c7e9f7dcd928b6e22976a797ca (diff)
stats: Add vty_out_stat_item_group
This functions dumps a whole stat item group to the VTY. Sponsored-by: On-Waves ehf
-rw-r--r--include/osmocom/vty/misc.h6
-rw-r--r--src/vty/utils.c22
-rw-r--r--tests/Makefile.am8
3 files changed, 31 insertions, 5 deletions
diff --git a/include/osmocom/vty/misc.h b/include/osmocom/vty/misc.h
index db552e7..ad878db 100644
--- a/include/osmocom/vty/misc.h
+++ b/include/osmocom/vty/misc.h
@@ -2,6 +2,7 @@
#include <osmocom/vty/vty.h>
#include <osmocom/core/rate_ctr.h>
+#include <osmocom/core/stat_item.h>
#include <osmocom/core/utils.h>
#define VTY_DO_LOWER 1
@@ -10,7 +11,10 @@ char *vty_cmd_string_from_valstr(void *ctx, const struct value_string *vals,
const char *end, int do_lower);
void vty_out_rate_ctr_group(struct vty *vty, const char *prefix,
- struct rate_ctr_group *ctrg);
+ struct rate_ctr_group *ctrg);
+
+void vty_out_stat_item_group(struct vty *vty, const char *prefix,
+ struct stat_item_group *statg);
int osmo_vty_write_config_file(const char *filename);
int osmo_vty_save_config_file(void);
diff --git a/src/vty/utils.c b/src/vty/utils.c
index d0ad431..e190337 100644
--- a/src/vty/utils.c
+++ b/src/vty/utils.c
@@ -29,6 +29,7 @@
#include <osmocom/core/talloc.h>
#include <osmocom/core/timer.h>
#include <osmocom/core/rate_ctr.h>
+#include <osmocom/core/stat_item.h>
#include <osmocom/core/utils.h>
#include <osmocom/vty/vty.h>
@@ -63,6 +64,27 @@ void vty_out_rate_ctr_group(struct vty *vty, const char *prefix,
};
}
+/*! \brief print a stat item group to given VTY
+ * \param[in] vty The VTY to which it should be printed
+ * \param[in] prefix Any additional log prefix ahead of each line
+ * \param[in] statg Stat item group to be printed
+ */
+void vty_out_stat_item_group(struct vty *vty, const char *prefix,
+ struct stat_item_group *statg)
+{
+ unsigned int i;
+
+ vty_out(vty, "%s%s:%s", prefix, statg->desc->group_description,
+ VTY_NEWLINE);
+ for (i = 0; i < statg->desc->num_items; i++) {
+ struct stat_item *item = statg->items[i];
+ vty_out(vty, " %s%s: %8" PRIi32 " %s%s",
+ prefix, item->desc->description,
+ stat_item_get_last(item),
+ item->desc->unit, VTY_NEWLINE);
+ };
+}
+
/*! \brief Generate a VTY command string from value_string */
char *vty_cmd_string_from_valstr(void *ctx, const struct value_string *vals,
const char *prefix, const char *sep,
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 223535f..6065c0d 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -67,19 +67,19 @@ ussd_ussd_test_SOURCES = ussd/ussd_test.c
ussd_ussd_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
gb_bssgp_fc_test_SOURCES = gb/bssgp_fc_test.c
-gb_bssgp_fc_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gb/libosmogb.la
+gb_bssgp_fc_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gb/libosmogb.la $(top_builddir)/src/vty/libosmovty.la
gb_gprs_bssgp_test_SOURCES = gb/gprs_bssgp_test.c
-gb_gprs_bssgp_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gb/libosmogb.la $(LIBRARY_DL)
+gb_gprs_bssgp_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gb/libosmogb.la $(top_builddir)/src/vty/libosmovty.la $(LIBRARY_DL)
gb_gprs_ns_test_SOURCES = gb/gprs_ns_test.c
-gb_gprs_ns_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gb/libosmogb.la $(LIBRARY_DL)
+gb_gprs_ns_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gb/libosmogb.la $(top_builddir)/src/vty/libosmovty.la $(LIBRARY_DL)
logging_logging_test_SOURCES = logging/logging_test.c
logging_logging_test_LDADD = $(top_builddir)/src/libosmocore.la
fr_fr_test_SOURCES = fr/fr_test.c
-fr_fr_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gb/libosmogb.la $(LIBRARY_DL)
+fr_fr_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gb/libosmogb.la $(top_builddir)/src/vty/libosmovty.la $(LIBRARY_DL)
loggingrb_loggingrb_test_SOURCES = loggingrb/loggingrb_test.c
loggingrb_loggingrb_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/vty/libosmovty.la