12 namespace timelinedecoder
17 if (m_OnNewEntityCallback ==
nullptr)
21 m_OnNewEntityCallback(m_Model, entity);
28 if (m_OnNewEventClassCallback ==
nullptr)
32 m_OnNewEventClassCallback(m_Model, eventClass);
39 if (m_OnNewEventCallback ==
nullptr)
43 m_OnNewEventCallback(m_Model, event);
50 if (m_OnNewLabelCallback ==
nullptr)
54 m_OnNewLabelCallback(m_Model, label);
61 if (m_OnNewRelationshipCallback ==
nullptr)
65 m_OnNewRelationshipCallback(m_Model, relationship);
80 m_OnNewEntityCallback = cb;
90 m_OnNewEventClassCallback = cb;
100 m_OnNewEventCallback = cb;
110 m_OnNewLabelCallback = cb;
120 m_OnNewRelationshipCallback = cb;
157 std::cout <<
"No timeline packets received" << std::endl;
165 printRelationships();
168 void TimelineDecoder::printLabels()
173 header.append(
" | ");
177 std::cout <<
"\n" <<
"\n";
180 std::cout << std::string(header.size(),
'=') <<
"\n";
183 for (uint32_t i = 0; i < m_Model.
m_Labels.size(); ++i)
187 body.append(profiling::CentreAlignFormatting(std::to_string(m_Model.
m_Labels[i].m_Guid), 12));
189 body.append(profiling::CentreAlignFormatting(m_Model.
m_Labels[i].m_Name, 30));
192 std::cout << std::string(body.size(),
'-') <<
"\n";
197 void TimelineDecoder::printEntities()
203 std::cout <<
"\n" <<
"\n";
206 std::cout << std::string(header.size(),
'=') <<
"\n";
209 for (uint32_t i = 0; i < m_Model.
m_Entities.size(); ++i)
213 body.append(profiling::CentreAlignFormatting(std::to_string(m_Model.
m_Entities[i].m_Guid), 12));
216 std::cout << std::string(body.size(),
'-') <<
"\n";
221 void TimelineDecoder::printEventClasses()
227 std::cout <<
"\n" <<
"\n";
230 std::cout << std::string(header.size(),
'=') <<
"\n";
237 body.append(profiling::CentreAlignFormatting(std::to_string(m_Model.
m_EventClasses[i].m_Guid), 12));
240 std::cout << std::string(body.size(),
'-') <<
"\n";
245 void TimelineDecoder::printEvents()
250 header.append(
" | ");
252 header.append(
" | ");
256 std::cout <<
"\n" <<
"\n";
259 std::cout << std::string(header.size(),
'=') <<
"\n";
262 for (uint32_t i = 0; i < m_Model.
m_Events.size(); ++i)
266 body.append(profiling::CentreAlignFormatting(std::to_string(m_Model.
m_Events[i].m_TimeStamp), 12));
269 std::stringstream ss;
270 ss << m_Model.
m_Events[i].m_ThreadId;
271 std::string threadId = ss.str();;
273 body.append(profiling::CentreAlignFormatting(threadId, 12));
275 body.append(profiling::CentreAlignFormatting(std::to_string(m_Model.
m_Events[i].m_Guid), 12));
278 std::cout << std::string(body.size(),
'-') <<
"\n";
283 void TimelineDecoder::printRelationships()
287 header.append(
" | ");
289 header.append(
" | ");
291 header.append(
" | ");
295 std::cout <<
"\n" <<
"\n";
298 std::cout << std::string(header.size(),
'=') <<
"\n";
306 profiling::CentreAlignFormatting(std::to_string(static_cast<unsigned int>
310 body.append(profiling::CentreAlignFormatting(std::to_string(m_Model.
m_Relationships[i].m_Guid), 20));
312 body.append(profiling::CentreAlignFormatting(std::to_string(m_Model.
m_Relationships[i].m_HeadGuid), 12));
314 body.append(profiling::CentreAlignFormatting(std::to_string(m_Model.
m_Relationships[i].m_TailGuid), 12));
318 std::cout << std::string(body.size(),
'-') <<
"\n";
TimelineStatus SetRelationshipCallback(const OnNewRelationshipCallback)
std::vector< Label > m_Labels
std::vector< Entity > m_Entities
void SetDefaultCallbacks()
virtual TimelineStatus CreateEvent(const Event &) override
void(*)(Model &, const Relationship) OnNewRelationshipCallback
Copyright (c) 2020 ARM Limited.
virtual TimelineStatus CreateEntity(const Entity &) override
void(*)(Model &, const Event) OnNewEventCallback
virtual TimelineStatus CreateLabel(const Label &) override
TimelineStatus SetEventClassCallback(const OnNewEventClassCallback)
std::vector< Relationship > m_Relationships
void(*)(Model &, const Entity) OnNewEntityCallback
virtual TimelineStatus CreateRelationship(const Relationship &) override
std::vector< EventClass > m_EventClasses
void(*)(Model &, const EventClass) OnNewEventClassCallback
virtual TimelineStatus CreateEventClass(const EventClass &) override
void(*)(Model &, const Label) OnNewLabelCallback
TimelineStatus SetLabelCallback(const OnNewLabelCallback)
std::string CentreAlignFormatting(const std::string &stringToPass, const int spacingWidth)
std::vector< Event > m_Events
TimelineStatus SetEntityCallback(const OnNewEntityCallback)
TimelineStatus SetEventCallback(const OnNewEventCallback)