aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/osmocom/core/statistics.h2
-rw-r--r--src/statistics.c10
2 files changed, 12 insertions, 0 deletions
diff --git a/include/osmocom/core/statistics.h b/include/osmocom/core/statistics.h
index 1d56054a..2c159657 100644
--- a/include/osmocom/core/statistics.h
+++ b/include/osmocom/core/statistics.h
@@ -28,4 +28,6 @@ void counter_free(struct counter *ctr);
int counters_for_each(int (*handle_counter)(struct counter *, void *), void *data);
+struct counter *counter_get_by_name(const char *name);
+
#endif /* _STATISTICS_H */
diff --git a/src/statistics.c b/src/statistics.c
index 183005df..d1ffe526 100644
--- a/src/statistics.c
+++ b/src/statistics.c
@@ -64,3 +64,13 @@ int counters_for_each(int (*handle_counter)(struct counter *, void *), void *dat
return rc;
}
+struct counter *counter_get_by_name(const char *name)
+{
+ struct counter *ctr;
+
+ llist_for_each_entry(ctr, &counters, list) {
+ if (!strcmp(ctr->name, name))
+ return ctr;
+ }
+ return NULL;
+}