Add metrics to the framework

This change adds support for a metrics class which provides
the API allowing an xAPP to easily create and send a set of
measurements to a central collector for forwarding.

Issue-ID: RIC381

Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I0926b26d4862df308ab0863260805fe057785bdc
diff --git a/test/Makefile b/test/Makefile
index 691f365..b7c843b 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -3,15 +3,19 @@
 
 binaries = unit_test
 
-tests::	unit_test jhash_test
+tests::	unit_test jhash_test metrics_test
+
+include_list = -I ../src/metrics -I ../src/alarm -I ../src/messaging
 
 # RMR emulation
 rmr_em.o::	rmr_em.c
 	cc -g rmr_em.c -c
 
+# include the emulated rmr stuff, but we still need the rmr lib for symtab things which we cannot hope to
+# emulate (and don't need to)
+#
 unit_test:: unit_test.cpp rmr_em.o
-	# do NOT link the xapp lib; we include all modules in the test programme
-	g++ -g $(coverage_opts) -I ../src/alarm -I ../src/messaging unit_test.cpp -o unit_test rmr_em.o  -lpthread
+	g++ -g $(coverage_opts) $(include_list) unit_test.cpp -o unit_test -L../.build -lricxfcpp rmr_em.o  -lrmr_si -lpthread
 
 # build a special jwrapper object with coverage settings
 jwrapper_test.o:: ../src/json/jwrapper.c ../src/json/jwrapper.h
@@ -21,6 +25,10 @@
 	# do NOT link the xapp lib; we include all modules in the test programme
 	g++ -g $(coverage_opts) -I ../src/json -I ../ext/jsmn jhash_test.cpp -o jhash_test jwrapper_test.o -lrmr_si -lpthread
 
+metrics_test:: metrics_test.cpp rmr_em.o
+	# do NOT link the xapp lib; we include all modules in the test programme
+	g++ -g $(coverage_opts) $(include_list) metrics_test.cpp -o metrics_test -L../.build -lricxfcpp rmr_em.o -l rmr_si -lpthread
+
 # prune gcov files generated by system include files
 clean::
 	rm -f *.h.gcov *.c.gcov