From 216338c369fcfc6f2b90f6bf784288258c9b5603 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 15 Oct 2017 19:46:19 +0200 Subject: Rename 'statistics.c' to 'counter.c' With stat_item, stats.c and stats_statsd.c, it is becoming a bit difficult to understand file naming. Also, the 'statistics.c' file actually only contained osmo_counter handling, so let's rename it to counter.c altogether. Change-Id: I2cfb2310543902b7da46cb15a76e2da317eaed7d --- include/Makefile.am | 1 + include/osmocom/core/counter.h | 60 +++++++++++++++++++++++++++ include/osmocom/core/statistics.h | 62 +--------------------------- src/Makefile.am | 2 +- src/counter.c | 85 +++++++++++++++++++++++++++++++++++++++ src/ctrl/control_if.c | 2 +- src/statistics.c | 85 --------------------------------------- src/stats.c | 2 +- src/vty/stats_vty.c | 2 +- src/vty/utils.c | 2 +- 10 files changed, 153 insertions(+), 150 deletions(-) create mode 100644 include/osmocom/core/counter.h create mode 100644 src/counter.c delete mode 100644 src/statistics.c diff --git a/include/Makefile.am b/include/Makefile.am index 4e92d553..47140031 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -12,6 +12,7 @@ nobase_include_HEADERS = \ osmocom/core/bitcomp.h \ osmocom/core/byteswap.h \ osmocom/core/conv.h \ + osmocom/core/counter.h \ osmocom/core/crc16.h \ osmocom/core/crc16gen.h \ osmocom/core/crc32gen.h \ diff --git a/include/osmocom/core/counter.h b/include/osmocom/core/counter.h new file mode 100644 index 00000000..f4429cdb --- /dev/null +++ b/include/osmocom/core/counter.h @@ -0,0 +1,60 @@ +#pragma once + +/*! \file counter.h + * Common routines regarding counter handling */ + +/*! structure representing a single counter */ +struct osmo_counter { + struct llist_head list; /*!< internal list head */ + const char *name; /*!< human-readable name */ + const char *description; /*!< humn-readable description */ + unsigned long value; /*!< current value */ + unsigned long previous; /*!< previous value */ +}; + +/*! Decrement counter */ +static inline void osmo_counter_dec(struct osmo_counter *ctr) +{ + ctr->value--; +} + +/*! Increment counter */ +static inline void osmo_counter_inc(struct osmo_counter *ctr) +{ + ctr->value++; +} + +/*! Get current value of counter */ +static inline unsigned long osmo_counter_get(struct osmo_counter *ctr) +{ + return ctr->value; +} + +/*! Reset current value of counter to 0 */ +static inline void osmo_counter_reset(struct osmo_counter *ctr) +{ + ctr->value = 0; +} + +/*! Allocate a new counter */ +struct osmo_counter *osmo_counter_alloc(const char *name); + +/*! Free the specified counter + * \param[in] ctr Counter + */ +void osmo_counter_free(struct osmo_counter *ctr); + +/*! Iterate over all counters + * \param[in] handle_counter Call-back function, aborts if rc < 0 + * \param[in] data Private dtata handed through to \a handle_counter + */ +int osmo_counters_for_each(int (*handle_counter)(struct osmo_counter *, void *), void *data); + +/*! Resolve counter by human-readable name + * \param[in] name human-readable name of counter + * \returns pointer to counter (\ref osmo_counter) or NULL otherwise + */ +struct osmo_counter *osmo_counter_get_by_name(const char *name); + +/*! Return the counter difference since the last call to this function */ +int osmo_counter_difference(struct osmo_counter *ctr); diff --git a/include/osmocom/core/statistics.h b/include/osmocom/core/statistics.h index 5ebb5fc0..e7da72a3 100644 --- a/include/osmocom/core/statistics.h +++ b/include/osmocom/core/statistics.h @@ -1,60 +1,2 @@ -#pragma once - -/*! \file statistics.h - * Common routines regarding statistics */ - -/*! structure representing a single counter */ -struct osmo_counter { - struct llist_head list; /*!< internal list head */ - const char *name; /*!< human-readable name */ - const char *description; /*!< humn-readable description */ - unsigned long value; /*!< current value */ - unsigned long previous; /*!< previous value */ -}; - -/*! Decrement counter */ -static inline void osmo_counter_dec(struct osmo_counter *ctr) -{ - ctr->value--; -} - -/*! Increment counter */ -static inline void osmo_counter_inc(struct osmo_counter *ctr) -{ - ctr->value++; -} - -/*! Get current value of counter */ -static inline unsigned long osmo_counter_get(struct osmo_counter *ctr) -{ - return ctr->value; -} - -/*! Reset current value of counter to 0 */ -static inline void osmo_counter_reset(struct osmo_counter *ctr) -{ - ctr->value = 0; -} - -/*! Allocate a new counter */ -struct osmo_counter *osmo_counter_alloc(const char *name); - -/*! Free the specified counter - * \param[in] ctr Counter - */ -void osmo_counter_free(struct osmo_counter *ctr); - -/*! Iterate over all counters - * \param[in] handle_counter Call-back function, aborts if rc < 0 - * \param[in] data Private dtata handed through to \a handle_counter - */ -int osmo_counters_for_each(int (*handle_counter)(struct osmo_counter *, void *), void *data); - -/*! Resolve counter by human-readable name - * \param[in] name human-readable name of counter - * \returns pointer to counter (\ref osmo_counter) or NULL otherwise - */ -struct osmo_counter *osmo_counter_get_by_name(const char *name); - -/*! Return the counter difference since the last call to this function */ -int osmo_counter_difference(struct osmo_counter *ctr); +/* wrapper for legacy code, when counter.h was called statistics.h */ +#include diff --git a/src/Makefile.am b/src/Makefile.am index 8e7ef4b4..4925eeda 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -14,7 +14,7 @@ lib_LTLIBRARIES = libosmocore.la libosmocore_la_LIBADD = $(BACKTRACE_LIB) $(TALLOC_LIBS) libosmocore_la_SOURCES = timer.c timer_gettimeofday.c select.c signal.c msgb.c bits.c \ - bitvec.c bitcomp.c statistics.c fsm.c \ + bitvec.c bitcomp.c counter.c fsm.c \ write_queue.c utils.c socket.c \ logging.c logging_syslog.c logging_gsmtap.c rate_ctr.c \ gsmtap_util.c crc16.c panic.c backtrace.c \ diff --git a/src/counter.c b/src/counter.c new file mode 100644 index 00000000..6fa87ba3 --- /dev/null +++ b/src/counter.c @@ -0,0 +1,85 @@ +/*! \file counter.c + * utility routines for keeping some statistics. */ +/* + * (C) 2009 by Harald Welte + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include + +#include +#include +#include + +static LLIST_HEAD(counters); + +void *tall_ctr_ctx; + +struct osmo_counter *osmo_counter_alloc(const char *name) +{ + struct osmo_counter *ctr = talloc_zero(tall_ctr_ctx, struct osmo_counter); + + if (!ctr) + return NULL; + + ctr->name = name; + llist_add_tail(&ctr->list, &counters); + + return ctr; +} + +void osmo_counter_free(struct osmo_counter *ctr) +{ + llist_del(&ctr->list); + talloc_free(ctr); +} + +int osmo_counters_for_each(int (*handle_counter)(struct osmo_counter *, void *), + void *data) +{ + struct osmo_counter *ctr; + int rc = 0; + + llist_for_each_entry(ctr, &counters, list) { + rc = handle_counter(ctr, data); + if (rc < 0) + return rc; + } + + return rc; +} + +struct osmo_counter *osmo_counter_get_by_name(const char *name) +{ + struct osmo_counter *ctr; + + llist_for_each_entry(ctr, &counters, list) { + if (!strcmp(ctr->name, name)) + return ctr; + } + return NULL; +} + +int osmo_counter_difference(struct osmo_counter *ctr) +{ + int delta = ctr->value - ctr->previous; + ctr->previous = ctr->value; + + return delta; +} diff --git a/src/ctrl/control_if.c b/src/ctrl/control_if.c index 47efb253..d50ddd0d 100644 --- a/src/ctrl/control_if.c +++ b/src/ctrl/control_if.c @@ -50,7 +50,7 @@ #include #include #include -#include +#include #include #include diff --git a/src/statistics.c b/src/statistics.c deleted file mode 100644 index fc808f58..00000000 --- a/src/statistics.c +++ /dev/null @@ -1,85 +0,0 @@ -/*! \file statistics.c - * utility routines for keeping some statistics. */ -/* - * (C) 2009 by Harald Welte - * - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - */ - -#include - -#include -#include -#include - -static LLIST_HEAD(counters); - -void *tall_ctr_ctx; - -struct osmo_counter *osmo_counter_alloc(const char *name) -{ - struct osmo_counter *ctr = talloc_zero(tall_ctr_ctx, struct osmo_counter); - - if (!ctr) - return NULL; - - ctr->name = name; - llist_add_tail(&ctr->list, &counters); - - return ctr; -} - -void osmo_counter_free(struct osmo_counter *ctr) -{ - llist_del(&ctr->list); - talloc_free(ctr); -} - -int osmo_counters_for_each(int (*handle_counter)(struct osmo_counter *, void *), - void *data) -{ - struct osmo_counter *ctr; - int rc = 0; - - llist_for_each_entry(ctr, &counters, list) { - rc = handle_counter(ctr, data); - if (rc < 0) - return rc; - } - - return rc; -} - -struct osmo_counter *osmo_counter_get_by_name(const char *name) -{ - struct osmo_counter *ctr; - - llist_for_each_entry(ctr, &counters, list) { - if (!strcmp(ctr->name, name)) - return ctr; - } - return NULL; -} - -int osmo_counter_difference(struct osmo_counter *ctr) -{ - int delta = ctr->value - ctr->previous; - ctr->previous = ctr->value; - - return delta; -} diff --git a/src/stats.c b/src/stats.c index b39ec53c..d9df2325 100644 --- a/src/stats.c +++ b/src/stats.c @@ -46,7 +46,7 @@ #include #include #include -#include +#include #include #define STATS_DEFAULT_INTERVAL 5 /* secs */ diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c index a4c73fa0..95f04bc6 100644 --- a/src/vty/stats_vty.c +++ b/src/vty/stats_vty.c @@ -35,7 +35,7 @@ #include #include -#include +#include #include #define CFG_STATS_STR "Configure stats sub-system\n" diff --git a/src/vty/utils.c b/src/vty/utils.c index 9d1bdf9e..e7aeb889 100644 --- a/src/vty/utils.c +++ b/src/vty/utils.c @@ -33,7 +33,7 @@ #include #include #include -#include +#include #include -- cgit v1.2.3