This extends the functionality provided by record in that it allows collection of data into a Clickhouse database, allowing aggregation of data from gNB and UE for functions like channel estimation for PUSCH transmissions that did not decode successfully at the gNB. It is intended to be used in conjunction with Aerial Data Lake but is not limited to it. Data access is simpler than in !3462, but could be improved using the metadata approach from !3462. The integration uses logfmt for fast logging, and a clickhouse DB client, both integrated using CPM. This change set also adds a docker-compose file for a UE on 100MHz, to be used with Aerial configurations, and builds the tracer for Aerial and nrUE docker files.
123 lines
3.8 KiB
Makefile
123 lines
3.8 KiB
Makefile
CC=gcc
|
|
CXX=g++
|
|
CFLAGS=-Wall -g -pthread -DT_TRACER -I. -I../incgen
|
|
CXXFLAGS=-Wall -g -pthread -DT_TRACER -I. -I../incgen -std=c++11
|
|
|
|
#CFLAGS += -O3 -ffast-math -fomit-frame-pointer
|
|
|
|
LIBS=-lm
|
|
XLIBS=-lX11 -lpng -lXft
|
|
|
|
all: record record_db replay extract_config textlog enb ue vcd macpdu2wireshark \
|
|
extract_input_subframe extract_output_subframe to_vcd extract multi \
|
|
gnb t_tracer_app_gnb t_tracer_app_ue gnb_mac csv
|
|
|
|
record: utils.o record.o database.o configuration.o
|
|
$(CC) $(CFLAGS) -o record $^ $(LIBS)
|
|
|
|
record_db: utils.o record_db.o database.o configuration.o
|
|
$(CXX) $(CXXFLAGS) -o record_db $^ $(LIBS) -lclickhouse-cpp-lib $(FMTLOG_LIBS)
|
|
|
|
replay: utils.o replay.o
|
|
$(CC) $(CFLAGS) -o replay $^ $(LIBS)
|
|
|
|
extract_config: extract_config.o
|
|
$(CC) $(CFLAGS) -o extract_config $^ $(LIBS)
|
|
|
|
extract_input_subframe: extract_input_subframe.o database.o event.o utils.o \
|
|
configuration.o
|
|
$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
|
|
|
|
extract_output_subframe: extract_output_subframe.o database.o event.o utils.o \
|
|
configuration.o
|
|
$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
|
|
|
|
extract: extract.o database.o event.o utils.o configuration.o
|
|
$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
|
|
|
|
textlog: utils.o textlog.o database.o event.o handler.o configuration.o \
|
|
view/view.a logger/logger.a filter/filter.a
|
|
$(CC) $(CFLAGS) -o textlog $^ $(LIBS)
|
|
|
|
enb: utils.o enb.o database.o event.o handler.o configuration.o \
|
|
event_selector.o view/view.a gui/gui.a logger/logger.a \
|
|
filter/filter.a
|
|
$(CC) $(CFLAGS) -o enb $^ $(LIBS) $(XLIBS)
|
|
|
|
ue: utils.o ue.o database.o event.o handler.o configuration.o \
|
|
event_selector.o view/view.a gui/gui.a logger/logger.a \
|
|
filter/filter.a
|
|
$(CC) $(CFLAGS) -o ue $^ $(LIBS) $(XLIBS)
|
|
|
|
vcd: utils.o vcd.o database.o event.o handler.o configuration.o \
|
|
event_selector.o view/view.a gui/gui.a logger/logger.a \
|
|
filter/filter.a
|
|
$(CC) $(CFLAGS) -o vcd $^ $(LIBS) $(XLIBS)
|
|
|
|
to_vcd: to_vcd.o database.o event.o handler.o utils.o configuration.o \
|
|
logger/logger.a filter/filter.a
|
|
$(CC) $(CFLAGS) -o to_vcd $^ $(LIBS)
|
|
|
|
macpdu2wireshark: macpdu2wireshark.o database.o utils.o handler.o event.o \
|
|
configuration.o
|
|
$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
|
|
|
|
multi: multi.o utils.o database.o configuration.o
|
|
$(CC) $(CFLAGS) -o multi $^ $(LIBS)
|
|
|
|
gnb: utils.o gnb.o database.o event.o handler.o configuration.o \
|
|
view/view.a gui/gui.a logger/logger.a \
|
|
filter/filter.a
|
|
$(CC) $(CFLAGS) -o gnb $^ $(LIBS) $(XLIBS)
|
|
|
|
t_tracer_app_gnb: utils.o t_tracer_app_gnb.o database.o event.o handler.o \
|
|
configuration.o logger/logger.a filter/filter.a
|
|
$(CC) $(CFLAGS) -o t_tracer_app_gnb $^ $(LIBS) $(XLIBS)
|
|
|
|
t_tracer_app_ue: utils.o t_tracer_app_ue.o database.o event.o handler.o \
|
|
configuration.o logger/logger.a filter/filter.a
|
|
$(CC) $(CFLAGS) -o t_tracer_app_ue $^ $(LIBS) $(XLIBS)
|
|
|
|
gnb_mac: gnb_mac.o gui/gui.a view/view.a logger/logger.a filter/filter.a \
|
|
utils.o database.o configuration.o handler.o event.o
|
|
$(CC) $(CFLAGS) -o gnb_mac $^ $(LIBS) $(XLIBS)
|
|
|
|
csv: csv.o database.o utils.o handler.o event.o configuration.o
|
|
$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
|
|
|
|
multi.o: ../incgen/T_IDs.h
|
|
|
|
../incgen/T_IDs.h: ../T_messages.txt
|
|
cd .. && $(MAKE)
|
|
|
|
.PHONY: all gui/gui.a view/view.a logger/logger.a filter/filter.a
|
|
|
|
gui/gui.a:
|
|
cd gui && $(MAKE)
|
|
|
|
view/view.a:
|
|
cd view && $(MAKE)
|
|
|
|
logger/logger.a:
|
|
cd logger && $(MAKE)
|
|
|
|
filter/filter.a:
|
|
cd filter && $(MAKE)
|
|
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
%.o: %.cpp
|
|
$(CXX) $(CXXFLAGS) -c -o $@ $<
|
|
|
|
clean:
|
|
rm -f *.o core tracer_remote textlog enb ue vcd record record_db replay
|
|
rm -f extract_config macpdu2wireshark extract_input_subframe
|
|
rm -f extract_output_subframe to_vcd extract multi gnb
|
|
rm -f t_tracer_app_gnb t_tracer_app_ue gnb_mac csv
|
|
cd gui && $(MAKE) clean
|
|
cd view && $(MAKE) clean
|
|
cd logger && $(MAKE) clean
|
|
cd filter && $(MAKE) clean
|
|
cd hacks && $(MAKE) clean
|