aboutsummaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2020-09-26 18:35:01 +0200
committerlaforge <laforge@osmocom.org>2021-10-25 10:06:09 +0000
commit430954630becc415877b306a32e3622f654df78f (patch)
tree1c686284dc86d7c9d41bd59f6d7ea1604b4d003d /src/common
parent778aaedb952739af3c75901d94e735038b9a2fc7 (diff)
initial support for static userspace probes via systemtap
This adds a --enable-systemtap configure option, which will then add static tracepoints to the generated osmo-bts-* binary. At this point, only two sets of tracepoints are supported, and only in osmo-bts-trx: ul_data_{start,done} and dl_rts_{start,done}. The probes are intended to be used for analyzing the amount of time needed for processing of uplink bursts / generation of downlink bursts. Change-Id: Ibb4962253f1a195dc1a54405bac058ccb2545799
Diffstat (limited to 'src/common')
-rw-r--r--src/common/Makefile.am14
-rw-r--r--src/common/probes.d2
2 files changed, 15 insertions, 1 deletions
diff --git a/src/common/Makefile.am b/src/common/Makefile.am
index 72438c67..5b69b5c4 100644
--- a/src/common/Makefile.am
+++ b/src/common/Makefile.am
@@ -1,4 +1,4 @@
-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include
+AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)/include
AM_CFLAGS = -Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOTRAU_CFLAGS) $(LIBOSMOCODEC_CFLAGS)
LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOTRAU_LIBS) $(LIBOSMOCODEC_LIBS)
@@ -44,6 +44,18 @@ libbts_a_SOURCES = \
nm_bb_transc_fsm.c \
nm_channel_fsm.c \
nm_radio_carrier_fsm.c \
+ probes.d \
$(NULL)
libl1sched_a_SOURCES = scheduler.c
+
+if ENABLE_SYSTEMTAP
+probes.h: probes.d
+ $(DTRACE) -C -h -s $< -o $@
+
+probes.lo: probes.d
+ $(LIBTOOL) --mode=compile $(AM_V_lt) --tag=CC env CFLAGS="$(CFLAGS)" $(DTRACE) -C -G -s $< -o $@
+
+BUILT_SOURCES = probes.h probes.lo
+libbts_la_LDADD = probes.lo
+endif
diff --git a/src/common/probes.d b/src/common/probes.d
new file mode 100644
index 00000000..aaf9030e
--- /dev/null
+++ b/src/common/probes.d
@@ -0,0 +1,2 @@
+provider osmo_bts {
+};