add tracer.hpp and tracertest