utility: Added Tracer for collecting time measurements

* define TRACING_ENABLED in utility/tracing.h to enable tracing
* invoke TraceEvent by writing TRACE() at start of function or scope
* provide an event name with TRACE("name")
* press SPACE to show collected traces history and report with accumulated times
This commit is contained in:
Eberhard Graether
2016-06-16 12:03:34 +02:00
parent 6b31a43f75
commit 9560cc4ea6
14 changed files with 401 additions and 9 deletions
@@ -5,6 +5,7 @@
#include "utility/file/FileRegister.h"
#include "utility/logging/logging.h"
#include "utility/text/TextAccess.h"
#include "utility/tracing.h"
#include "data/parser/cxx/ASTActionFactory.h"
#include "data/parser/cxx/CxxCompilationDatabaseSingle.h"
@@ -195,6 +196,8 @@ void CxxParser::setupParsingCDB(const Arguments& arguments)
void CxxParser::runTool(const std::vector<std::string>& files)
{
TRACE();
clang::tooling::ClangTool tool(*m_compilationDatabase, files);
tool.setDiagnosticConsumer(m_diagnostics.get());
@@ -204,6 +207,8 @@ void CxxParser::runTool(const std::vector<std::string>& files)
void CxxParser::runTool(clang::tooling::CompileCommand command, const Arguments& arguments)
{
TRACE();
std::vector<std::string> args = getCommandlineArgumentsEssential(arguments);
command.CommandLine.insert(command.CommandLine.end(), args.begin(), args.end());