diff --git a/include/osmocore/Makefile.am b/include/osmocore/Makefile.am
index 56f926b..fde0102 100644
--- a/include/osmocore/Makefile.am
+++ b/include/osmocore/Makefile.am
@@ -1,7 +1,7 @@
 osmocore_HEADERS = signal.h linuxlist.h timer.h select.h msgb.h \
 		   tlv.h bitvec.h comp128.h statistics.h gsm_utils.h utils.h \
 		   gsmtap.h write_queue.h rsl.h gsm48.h rxlev_stat.h mncc.h \
-		   gsm48_ie.h logging.h gsm0808.h
+		   gsm48_ie.h logging.h gsm0808.h rate_ctr.h
 
 if ENABLE_TALLOC
 osmocore_HEADERS += talloc.h
diff --git a/include/osmocore/rate_ctr.h b/include/osmocore/rate_ctr.h
new file mode 100644
index 0000000..c6a1ace
--- /dev/null
+++ b/include/osmocore/rate_ctr.h
@@ -0,0 +1,81 @@
+#ifndef _RATE_CTR_H
+#define _RATE_CTR_H
+
+#include <stdint.h>
+
+#include <osmocore/linuxlist.h>
+
+#define RATE_CTR_INTV_NUM	4
+
+enum rate_ctr_intv {
+	RATE_CTR_INTV_SEC,
+	RATE_CTR_INTV_MIN,
+	RATE_CTR_INTV_HOUR,
+	RATE_CTR_INTV_DAY,
+};
+
+/* for each of the intervals, we keep the following values */
+struct rate_ctr_per_intv {
+	uint64_t last;
+	uint64_t rate;
+};
+
+/* for each actual value, we keep the following data */
+struct rate_ctr {
+	uint64_t current;
+	struct rate_ctr_per_intv intv[RATE_CTR_INTV_NUM];
+};
+
+struct rate_ctr_desc {
+	const char *name;
+	const char *description;
+};
+
+/* Describe a counter group class */
+struct rate_ctr_group_desc {
+	/* The prefix / format string to be used for all counters */
+	char *group_prefix_fmt;
+	/* The human-readable description of the group */
+	char *group_description;
+	/* The number of counters in this group */
+	unsigned int num_ctr;
+	/* Pointer to array of counter names */
+	struct rate_ctr_desc *ctr_desc;
+};
+
+/* One instance of a counter group class */
+struct rate_ctr_group {
+	/* Linked list of all counter groups in the system */
+	struct llist_head list;
+	/* Pointer to the counter group class */
+	const struct rate_ctr_group_desc *desc;
+	/* The name prefix generated from desc->group_prefix_fmt and index */
+	char *name_prefix;
+	/* Actual counter structures below */
+	struct rate_ctr ctr[0];
+};
+
+/* Allocate a new group of counters according to description */
+struct rate_ctr_group *rate_ctr_group_alloc(void *ctx,
+					    const struct rate_ctr_group_desc *desc,
+					    unsigned int idx);
+
+/* Free the memory for the specified group of counters */
+void rate_ctr_group_free(struct rate_ctr_group *grp);
+
+/* Add a number to the counter */
+void rate_ctr_add(struct rate_ctr *ctr, int inc);
+
+/* Increment the counter by 1 */
+static inline void rate_ctr_inc(struct rate_ctr *ctr)
+{
+	rate_ctr_add(ctr, 1);
+}
+
+/* Initialize the counter module */
+int rate_ctr_init(void *tall_ctx);
+
+struct vty;
+void vty_out_rate_ctr_group(struct vty *vty, const char *prefix,
+			    struct rate_ctr_group *ctrg);
+#endif /* RATE_CTR_H */
