From 48a47f6b306d272ad20ac0bde2ff15b0a6618a99 Mon Sep 17 00:00:00 2001 From: MetanoKid Date: Fri, 24 Jul 2020 21:08:42 +0200 Subject: [PATCH] Renames Thread activities by prepending parent activity name (i.e. TopDownThread, CodeGenerationThread) --- .../Analyzers/BuildTimeline/BuildTimelineAnalyzer.cpp | 8 +++++++- .../Analyzers/BuildTimeline/BuildTimelineAnalyzer.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/BuildAnalyzer/Analyzers/BuildTimeline/BuildTimelineAnalyzer.cpp b/src/BuildAnalyzer/Analyzers/BuildTimeline/BuildTimelineAnalyzer.cpp index 74f2ee1..4bcb9ac 100644 --- a/src/BuildAnalyzer/Analyzers/BuildTimeline/BuildTimelineAnalyzer.cpp +++ b/src/BuildAnalyzer/Analyzers/BuildTimeline/BuildTimelineAnalyzer.cpp @@ -27,7 +27,8 @@ CppBI::AnalysisControl BuildTimelineAnalyzer::OnStartActivity(const CppBI::Event CppBI::MatchEventInMemberFunction(eventStack.Back(), this, &BuildTimelineAnalyzer::OnInvocation) || CppBI::MatchEventInMemberFunction(eventStack.Back(), this, &BuildTimelineAnalyzer::OnFrontEndFile) || CppBI::MatchEventInMemberFunction(eventStack.Back(), this, &BuildTimelineAnalyzer::OnFunction) || - CppBI::MatchEventStackInMemberFunction(eventStack, this, &BuildTimelineAnalyzer::OnTemplateInstantiation); + CppBI::MatchEventStackInMemberFunction(eventStack, this, &BuildTimelineAnalyzer::OnTemplateInstantiation) || + CppBI::MatchEventStackInMemberFunction(eventStack, this, &BuildTimelineAnalyzer::OnThread); return CppBI::AnalysisControl::CONTINUE; } @@ -113,6 +114,11 @@ void BuildTimelineAnalyzer::OnTemplateInstantiation(const CppBI::Activities::Tem result.first->second.push_back(templateInstantiation.EventInstanceId()); } +void BuildTimelineAnalyzer::OnThread(const CppBI::Activities::Activity& parent, const CppBI::Activities::Thread& thread) +{ + m_buildTimeline.UpdateEntryName(thread.EventInstanceId(), std::string(parent.EventName()) + std::string(thread.EventName())); +} + // ---------------------------------------------------------------------------- void BuildTimelineAnalyzer::OnSymbolNameEvent(const CppBI::SimpleEvents::SymbolName& event) diff --git a/src/BuildAnalyzer/Analyzers/BuildTimeline/BuildTimelineAnalyzer.h b/src/BuildAnalyzer/Analyzers/BuildTimeline/BuildTimelineAnalyzer.h index 9805ebd..914a0e5 100644 --- a/src/BuildAnalyzer/Analyzers/BuildTimeline/BuildTimelineAnalyzer.h +++ b/src/BuildAnalyzer/Analyzers/BuildTimeline/BuildTimelineAnalyzer.h @@ -39,6 +39,7 @@ class BuildTimelineAnalyzer : public CppBI::IAnalyzer void OnFrontEndFile(const CppBI::Activities::FrontEndFile& frontEndFile); void OnFunction(const CppBI::Activities::Function& function); void OnTemplateInstantiation(const CppBI::Activities::TemplateInstantiation& templateInstantiation); + void OnThread(const CppBI::Activities::Activity& parent, const CppBI::Activities::Thread& thread); // specific event handling void OnSymbolNameEvent(const CppBI::SimpleEvents::SymbolName& event);