From 77c11bb90f699f08ffee2742e92836e84f1044db Mon Sep 17 00:00:00 2001 From: Zygo Blaxell Date: Thu, 8 Dec 2016 23:47:17 -0500 Subject: [PATCH] bees: add version string and put it in main() and stats file Now that we have more than one bees release it's somewhat important to know which one each bug report is for... --- src/.gitignore | 1 + src/Makefile | 4 +++- src/bees-hash.cc | 2 ++ src/bees.cc | 5 ++++- 4 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 src/.gitignore diff --git a/src/.gitignore b/src/.gitignore new file mode 100644 index 0000000..dfe700b --- /dev/null +++ b/src/.gitignore @@ -0,0 +1 @@ +bees-version.h diff --git a/src/Makefile b/src/Makefile index 1db2927..4f7cb20 100644 --- a/src/Makefile +++ b/src/Makefile @@ -11,6 +11,8 @@ LIBS = -lcrucible -lpthread LDFLAGS = -L../lib -Wl,-rpath=$(shell realpath ../lib) depends.mk: Makefile *.cc + echo "#define BEES_VERSION \"$(shell git describe --always --dirty || echo UNKNOWN)\"" > bees-version.new.h + mv -f bees-version.new.h bees-version.h for x in *.cc; do $(CXX) $(CXXFLAGS) -M "$$x"; done > depends.mk.new mv -fv depends.mk.new depends.mk @@ -36,4 +38,4 @@ BEES_OBJS = \ $(CXX) $(CXXFLAGS) -o "$@" $(BEES_OBJS) $(LDFLAGS) $(LIBS) clean: - -rm -fv *.o + -rm -fv *.o bees-version.h diff --git a/src/bees-hash.cc b/src/bees-hash.cc index 873153c..32a3480 100644 --- a/src/bees-hash.cc +++ b/src/bees-hash.cc @@ -1,3 +1,4 @@ +#include "bees-version.h" #include "bees.h" #include "crucible/crc64.h" @@ -259,6 +260,7 @@ BeesHashTable::prefetch_loop() graph_blob << "Now: " << format_time(time(NULL)) << "\n"; graph_blob << "Uptime: " << m_ctx->total_timer().age() << " seconds\n"; + graph_blob << "Version: " << BEES_VERSION << "\n"; graph_blob << "\nHash table page occupancy histogram (" << occupied_count << "/" << total_count << " cells occupied, " << (occupied_count * 100 / total_count) << "%)\n" diff --git a/src/bees.cc b/src/bees.cc index 64e4b32..206119e 100644 --- a/src/bees.cc +++ b/src/bees.cc @@ -1,3 +1,4 @@ +#include "bees-version.h" #include "bees.h" #include "crucible/interp.h" @@ -557,7 +558,7 @@ bees_main(ArgList args) list> all_contexts; shared_ptr bc; - // Subscribe to fanotify events + // Create a context and start crawlers bool did_subscription = false; for (string arg : args) { catch_all([&]() { @@ -585,6 +586,8 @@ bees_main(ArgList args) int main(int argc, const char **argv) { + cerr << "bees version " << BEES_VERSION << endl; + if (argc < 2) { do_cmd_help(argv); return 2;