blob: dfe5fd060941e56de7231c59159a21afdd5d6d2c [file] [log] [blame]
Éanna Ó Catháin0de47122020-04-01 15:40:12 +01001//
Jan Eilers1f249442020-07-01 15:37:50 +01002// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
Éanna Ó Catháin0de47122020-04-01 15:40:12 +01003// SPDX-License-Identifier: MIT
4//
5
6#include <JSONTimelineDecoder.hpp>
Jim Flynnbbfe6032020-07-20 16:57:44 +01007#include <server/include/timelineDecoder/TimelineCaptureCommandHandler.hpp>
8#include <server/include/timelineDecoder/TimelineDecoder.hpp>
Francis Murtagh532a29d2020-06-29 11:50:01 +01009#include <Filesystem.hpp>
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010010
11#include <boost/test/test_tools.hpp>
12#include <boost/test/unit_test_suite.hpp>
13
14#include <fstream>
15
16BOOST_AUTO_TEST_SUITE(JSONTimelineDecoderTests)
17
18using namespace armnn;
19using namespace timelinedecoder;
20
21void RunSimpleModelThroughDecoder(JSONTimelineDecoder& timelineDecoder)
22{
23 /*
24 * Building Simple model structure to test
25 */
Jim Flynnbbfe6032020-07-20 16:57:44 +010026 arm::pipe::ITimelineDecoder::Label name;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010027 name.m_Guid = uint64_t(10420554295983197538U);
28 name.m_Name = "name";
29 timelineDecoder.CreateLabel(name);
30
Jim Flynnbbfe6032020-07-20 16:57:44 +010031 arm::pipe::ITimelineDecoder::Label type;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010032 type.m_Guid = uint64_t(14196220359693045352U);
33 type.m_Name = "type";
34 timelineDecoder.CreateLabel(type);
35
Jim Flynnbbfe6032020-07-20 16:57:44 +010036 arm::pipe::ITimelineDecoder::Label index;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010037 index.m_Guid = uint64_t(13922236767355949814U);
38 index.m_Name = "index";
39 timelineDecoder.CreateLabel(index);
40
Jim Flynnbbfe6032020-07-20 16:57:44 +010041 arm::pipe::ITimelineDecoder::Label backendId;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010042 backendId.m_Guid = uint64_t(10874037804557439415U);
43 backendId.m_Name = "backendId";
44 timelineDecoder.CreateLabel(backendId);
45
Jim Flynnbbfe6032020-07-20 16:57:44 +010046 arm::pipe::ITimelineDecoder::Label layer;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010047 layer.m_Guid = uint64_t(14761340794127440397U);
48 layer.m_Name = "layer";
49 timelineDecoder.CreateLabel(layer);
50
Jim Flynnbbfe6032020-07-20 16:57:44 +010051 arm::pipe::ITimelineDecoder::Label workload;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010052 workload.m_Guid = uint64_t(15704252740552608110U);
53 workload.m_Name = "workload";
54 timelineDecoder.CreateLabel(workload);
55
Jim Flynnbbfe6032020-07-20 16:57:44 +010056 arm::pipe::ITimelineDecoder::Label network;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010057 network.m_Guid = uint64_t(16862199137063532871U);
58 network.m_Name = "network";
59 timelineDecoder.CreateLabel(network);
60
Jim Flynnbbfe6032020-07-20 16:57:44 +010061 arm::pipe::ITimelineDecoder::Label connection;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010062 connection.m_Guid = uint64_t(15733717748792475675U);
63 connection.m_Name = "connection";
64 timelineDecoder.CreateLabel(connection);
65
Jim Flynnbbfe6032020-07-20 16:57:44 +010066 arm::pipe::ITimelineDecoder::Label inference;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010067 inference.m_Guid = uint64_t(15026600058430441282U);
68 inference.m_Name = "inference";
69 timelineDecoder.CreateLabel(inference);
70
Jim Flynnbbfe6032020-07-20 16:57:44 +010071 arm::pipe::ITimelineDecoder::Label workload_execution;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010072 workload_execution.m_Guid = uint64_t(10172155312650606003U);
73 workload_execution.m_Name = "workload_execution";
74 timelineDecoder.CreateLabel(workload_execution);
75
Jim Flynnbbfe6032020-07-20 16:57:44 +010076 arm::pipe::ITimelineDecoder::EventClass eventClass1;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010077 eventClass1.m_Guid = uint64_t(17170418158534996719U);
78 timelineDecoder.CreateEventClass(eventClass1);
79
Jim Flynnbbfe6032020-07-20 16:57:44 +010080 arm::pipe::ITimelineDecoder::EventClass eventClass2;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010081 eventClass2.m_Guid = uint64_t(10812061579584851344U);
82 timelineDecoder.CreateEventClass(eventClass2);
83
Jim Flynnbbfe6032020-07-20 16:57:44 +010084 arm::pipe::ITimelineDecoder::Entity entity6;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010085 entity6.m_Guid = uint64_t(6);
86 timelineDecoder.CreateEntity(entity6);
87
Jim Flynnbbfe6032020-07-20 16:57:44 +010088 arm::pipe::ITimelineDecoder::Relationship relationship7;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010089 relationship7.m_Guid = uint64_t(7);
Jim Flynnbbfe6032020-07-20 16:57:44 +010090 relationship7.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010091 relationship7.m_HeadGuid = uint64_t(6);
92 relationship7.m_TailGuid = uint64_t(16862199137063532871U);
93 timelineDecoder.CreateRelationship(relationship7);
94
Jim Flynnbbfe6032020-07-20 16:57:44 +010095 arm::pipe::ITimelineDecoder::Relationship relationship8;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010096 relationship8.m_Guid = uint64_t(8);
Jim Flynnbbfe6032020-07-20 16:57:44 +010097 relationship8.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +010098 relationship8.m_HeadGuid = uint64_t(7);
99 relationship8.m_TailGuid = uint64_t(14196220359693045352U);
100 timelineDecoder.CreateRelationship(relationship8);
101
102 // Adding normalization layer
Jim Flynnbbfe6032020-07-20 16:57:44 +0100103 arm::pipe::ITimelineDecoder::Entity entity0;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100104 entity0.m_Guid = uint64_t(0);
105 timelineDecoder.CreateEntity(entity0);
106
Jim Flynnbbfe6032020-07-20 16:57:44 +0100107 arm::pipe::ITimelineDecoder::Label input;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100108 input.m_Guid = uint64_t(18179123836411086572U);
109 input.m_Name = "input";
110 timelineDecoder.CreateLabel(input);
111
Jim Flynnbbfe6032020-07-20 16:57:44 +0100112 arm::pipe::ITimelineDecoder::Relationship relationship9;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100113 relationship9.m_Guid = uint64_t(9);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100114 relationship9.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100115 relationship9.m_HeadGuid = uint64_t(0);
116 relationship9.m_TailGuid = uint64_t(18179123836411086572U);
117 timelineDecoder.CreateRelationship(relationship9);
118
Jim Flynnbbfe6032020-07-20 16:57:44 +0100119 arm::pipe::ITimelineDecoder::Relationship relationship10;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100120 relationship10.m_Guid = uint64_t(10);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100121 relationship10.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100122 relationship10.m_HeadGuid = uint64_t(9);
123 relationship10.m_TailGuid = uint64_t(10420554295983197538U);
124 timelineDecoder.CreateRelationship(relationship10);
125
Jim Flynnbbfe6032020-07-20 16:57:44 +0100126 arm::pipe::ITimelineDecoder::Relationship relationship11;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100127 relationship11.m_Guid = uint64_t(11);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100128 relationship11.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100129 relationship11.m_HeadGuid = uint64_t(0);
130 relationship11.m_TailGuid = uint64_t(14761340794127440397U);
131 timelineDecoder.CreateRelationship(relationship11);
132
Jim Flynnbbfe6032020-07-20 16:57:44 +0100133 arm::pipe::ITimelineDecoder::Relationship relationship12;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100134 relationship12.m_Guid = uint64_t(12);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100135 relationship12.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100136 relationship12.m_HeadGuid = uint64_t(11);
137 relationship12.m_TailGuid = uint64_t(14196220359693045352U);
138 timelineDecoder.CreateRelationship(relationship12);
139
Jim Flynnbbfe6032020-07-20 16:57:44 +0100140 arm::pipe::ITimelineDecoder::Relationship relationship13;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100141 relationship13.m_Guid = uint64_t(13);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100142 relationship13.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::RetentionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100143 relationship13.m_HeadGuid = uint64_t(6);
144 relationship13.m_TailGuid = uint64_t(0);
145 timelineDecoder.CreateRelationship(relationship13);
146
147
148 // Adding normalization layer
Jim Flynnbbfe6032020-07-20 16:57:44 +0100149 arm::pipe::ITimelineDecoder::Entity entity1;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100150 entity1.m_Guid = uint64_t(1);
151 timelineDecoder.CreateEntity(entity1);
152
Jim Flynnbbfe6032020-07-20 16:57:44 +0100153 arm::pipe::ITimelineDecoder::Label normalization;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100154 normalization.m_Guid = uint64_t(15955949569988957863U);
155 normalization.m_Name = "normalization";
156 timelineDecoder.CreateLabel(normalization);
157
Jim Flynnbbfe6032020-07-20 16:57:44 +0100158 arm::pipe::ITimelineDecoder::Relationship relationship14;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100159 relationship14.m_Guid = uint64_t(14);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100160 relationship14.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100161 relationship14.m_HeadGuid = uint64_t(1);
162 relationship14.m_TailGuid = uint64_t(15955949569988957863U);
163 timelineDecoder.CreateRelationship(relationship14);
164
Jim Flynnbbfe6032020-07-20 16:57:44 +0100165 arm::pipe::ITimelineDecoder::Relationship relationship15;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100166 relationship15.m_Guid = uint64_t(15);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100167 relationship15.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100168 relationship15.m_HeadGuid = uint64_t(14);
169 relationship15.m_TailGuid = uint64_t(10420554295983197538U);
170 timelineDecoder.CreateRelationship(relationship15);
171
Jim Flynnbbfe6032020-07-20 16:57:44 +0100172 arm::pipe::ITimelineDecoder::Relationship relationship16;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100173 relationship16.m_Guid = uint64_t(16);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100174 relationship16.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100175 relationship16.m_HeadGuid = uint64_t(1);
176 relationship16.m_TailGuid = uint64_t(14761340794127440397U);
177 timelineDecoder.CreateRelationship(relationship16);
178
Jim Flynnbbfe6032020-07-20 16:57:44 +0100179 arm::pipe::ITimelineDecoder::Relationship relationship17;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100180 relationship17.m_Guid = uint64_t(17);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100181 relationship17.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100182 relationship17.m_HeadGuid = uint64_t(16);
183 relationship17.m_TailGuid = uint64_t(14196220359693045352U);
184 timelineDecoder.CreateRelationship(relationship17);
185
Jim Flynnbbfe6032020-07-20 16:57:44 +0100186 arm::pipe::ITimelineDecoder::Relationship relationship18;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100187 relationship18.m_Guid = uint64_t(18);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100188 relationship18.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::RetentionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100189 relationship18.m_HeadGuid = uint64_t(6);
190 relationship18.m_TailGuid = uint64_t(1);
191 timelineDecoder.CreateRelationship(relationship18);
192
Jim Flynnbbfe6032020-07-20 16:57:44 +0100193 arm::pipe::ITimelineDecoder::Relationship relationship19;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100194 relationship19.m_Guid = uint64_t(19);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100195 relationship19.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::RetentionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100196 relationship19.m_HeadGuid = uint64_t(0);
197 relationship19.m_TailGuid = uint64_t(1);
198 timelineDecoder.CreateRelationship(relationship19);
199
Jim Flynnbbfe6032020-07-20 16:57:44 +0100200 arm::pipe::ITimelineDecoder::Relationship relationship20;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100201 relationship20.m_Guid = uint64_t(20);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100202 relationship20.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100203 relationship20.m_HeadGuid = uint64_t(19);
204 relationship20.m_TailGuid = uint64_t(15733717748792475675U);
205 timelineDecoder.CreateRelationship(relationship20);
206
Jim Flynnbbfe6032020-07-20 16:57:44 +0100207 arm::pipe::ITimelineDecoder::Relationship relationship21;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100208 relationship21.m_Guid = uint64_t(21);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100209 relationship21.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100210 relationship21.m_HeadGuid = uint64_t(20);
211 relationship21.m_TailGuid = uint64_t(14196220359693045352U);
212 timelineDecoder.CreateRelationship(relationship21);
213
214
Jim Flynnbbfe6032020-07-20 16:57:44 +0100215 arm::pipe::ITimelineDecoder::Entity entity22;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100216 entity22.m_Guid = uint64_t(22);
217 timelineDecoder.CreateEntity(entity22);
218
Jim Flynnbbfe6032020-07-20 16:57:44 +0100219 arm::pipe::ITimelineDecoder::Relationship relationship23;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100220 relationship23.m_Guid = uint64_t(23);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100221 relationship23.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100222 relationship23.m_HeadGuid = uint64_t(22);
223 relationship23.m_TailGuid = uint64_t(15704252740552608110U);
224 timelineDecoder.CreateRelationship(relationship23);
225
Jim Flynnbbfe6032020-07-20 16:57:44 +0100226 arm::pipe::ITimelineDecoder::Relationship relationship24;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100227 relationship24.m_Guid = uint64_t(24);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100228 relationship24.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100229 relationship24.m_HeadGuid = uint64_t(23);
230 relationship24.m_TailGuid = uint64_t(14196220359693045352U);
231 timelineDecoder.CreateRelationship(relationship24);
232
233
Jim Flynnbbfe6032020-07-20 16:57:44 +0100234 arm::pipe::ITimelineDecoder::Label CpuRef;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100235 CpuRef.m_Guid = uint64_t(9690680943817437852U);
236 CpuRef.m_Name = "CpuRef";
237 timelineDecoder.CreateLabel(CpuRef);
238
239
Jim Flynnbbfe6032020-07-20 16:57:44 +0100240 arm::pipe::ITimelineDecoder::Relationship relationship25;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100241 relationship25.m_Guid = uint64_t(25);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100242 relationship25.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100243 relationship25.m_HeadGuid = uint64_t(22);
244 relationship25.m_TailGuid = uint64_t(9690680943817437852U);
245 timelineDecoder.CreateRelationship(relationship25);
246
Jim Flynnbbfe6032020-07-20 16:57:44 +0100247 arm::pipe::ITimelineDecoder::Relationship relationship26;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100248 relationship26.m_Guid = uint64_t(26);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100249 relationship26.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100250 relationship26.m_HeadGuid = uint64_t(25);
251 relationship26.m_TailGuid = uint64_t(10874037804557439415U);
252 timelineDecoder.CreateRelationship(relationship26);
253
Jim Flynnbbfe6032020-07-20 16:57:44 +0100254 arm::pipe::ITimelineDecoder::Relationship relationship27;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100255 relationship27.m_Guid = uint64_t(27);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100256 relationship27.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::RetentionLink ;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100257 relationship27.m_HeadGuid = uint64_t(1);
258 relationship27.m_TailGuid = uint64_t(22);
259 timelineDecoder.CreateRelationship(relationship27);
260
261 // Adding output layer
Jim Flynnbbfe6032020-07-20 16:57:44 +0100262 arm::pipe::ITimelineDecoder::Entity entity2;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100263 entity2.m_Guid = uint64_t(2);
264 timelineDecoder.CreateEntity(entity2);
265
Jim Flynnbbfe6032020-07-20 16:57:44 +0100266 arm::pipe::ITimelineDecoder::Label output;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100267 output.m_Guid = uint64_t(18419179028513879730U);
268 output.m_Name = "output";
269 timelineDecoder.CreateLabel(output);
270
Jim Flynnbbfe6032020-07-20 16:57:44 +0100271 arm::pipe::ITimelineDecoder::Relationship relationship28;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100272 relationship28.m_Guid = uint64_t(28);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100273 relationship28.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100274 relationship28.m_HeadGuid = uint64_t(2);
275 relationship28.m_TailGuid = uint64_t(18419179028513879730U);
276 timelineDecoder.CreateRelationship(relationship28);
277
Jim Flynnbbfe6032020-07-20 16:57:44 +0100278 arm::pipe::ITimelineDecoder::Relationship relationship29;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100279 relationship29.m_Guid = uint64_t(29);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100280 relationship29.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100281 relationship29.m_HeadGuid = uint64_t(28);
282 relationship29.m_TailGuid = uint64_t(10420554295983197538U);
283 timelineDecoder.CreateRelationship(relationship29);
284
Jim Flynnbbfe6032020-07-20 16:57:44 +0100285 arm::pipe::ITimelineDecoder::Relationship relationship30;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100286 relationship30.m_Guid = uint64_t(30);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100287 relationship30.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100288 relationship30.m_HeadGuid = uint64_t(2);
289 relationship30.m_TailGuid = uint64_t(14761340794127440397U);
290 timelineDecoder.CreateRelationship(relationship30);
291
Jim Flynnbbfe6032020-07-20 16:57:44 +0100292 arm::pipe::ITimelineDecoder::Relationship relationship31;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100293 relationship31.m_Guid = uint64_t(31);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100294 relationship31.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100295 relationship31.m_HeadGuid = uint64_t(30);
296 relationship31.m_TailGuid = uint64_t(14196220359693045352U);
297 timelineDecoder.CreateRelationship(relationship31);
298
Jim Flynnbbfe6032020-07-20 16:57:44 +0100299 arm::pipe::ITimelineDecoder::Relationship relationship32;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100300 relationship32.m_Guid = uint64_t(32);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100301 relationship32.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::RetentionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100302 relationship32.m_HeadGuid = uint64_t(6);
303 relationship32.m_TailGuid = uint64_t(2);
304 timelineDecoder.CreateRelationship(relationship32);
305
Jim Flynnbbfe6032020-07-20 16:57:44 +0100306 arm::pipe::ITimelineDecoder::Relationship relationship33;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100307 relationship33.m_Guid = uint64_t(33);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100308 relationship33.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::RetentionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100309 relationship33.m_HeadGuid = uint64_t(1);
310 relationship33.m_TailGuid = uint64_t(2);
311 timelineDecoder.CreateRelationship(relationship33);
312
Jim Flynnbbfe6032020-07-20 16:57:44 +0100313 arm::pipe::ITimelineDecoder::Relationship relationship34;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100314 relationship34.m_Guid = uint64_t(34);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100315 relationship34.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100316 relationship34.m_HeadGuid = uint64_t(33);
317 relationship34.m_TailGuid = uint64_t(15733717748792475675U);
318 timelineDecoder.CreateRelationship(relationship34);
319
Jim Flynnbbfe6032020-07-20 16:57:44 +0100320 arm::pipe::ITimelineDecoder::Relationship relationship35;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100321 relationship35.m_Guid = uint64_t(35);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100322 relationship35.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100323 relationship35.m_HeadGuid = uint64_t(34);
324 relationship35.m_TailGuid = uint64_t(14196220359693045352U);
325 timelineDecoder.CreateRelationship(relationship35);
326
327
Jim Flynnbbfe6032020-07-20 16:57:44 +0100328 arm::pipe::ITimelineDecoder::Entity entity36;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100329 entity36.m_Guid = uint64_t(36);
330 timelineDecoder.CreateEntity(entity36);
331
Jim Flynnbbfe6032020-07-20 16:57:44 +0100332 arm::pipe::ITimelineDecoder::Relationship relationship37;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100333 relationship37.m_Guid = uint64_t(37);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100334 relationship37.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100335 relationship37.m_HeadGuid = uint64_t(36);
336 relationship37.m_TailGuid = uint64_t(15704252740552608110U);
337 timelineDecoder.CreateRelationship(relationship37);
338
Jim Flynnbbfe6032020-07-20 16:57:44 +0100339 arm::pipe::ITimelineDecoder::Relationship relationship38;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100340 relationship38.m_Guid = uint64_t(38);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100341 relationship38.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100342 relationship38.m_HeadGuid = uint64_t(37);
343 relationship38.m_TailGuid = uint64_t(14196220359693045352U);
344 timelineDecoder.CreateRelationship(relationship38);
345
Jim Flynnbbfe6032020-07-20 16:57:44 +0100346 arm::pipe::ITimelineDecoder::Relationship relationship39;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100347 relationship39.m_Guid = uint64_t(39);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100348 relationship39.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100349 relationship39.m_HeadGuid = uint64_t(36);
350 relationship39.m_TailGuid = uint64_t(9690680943817437852U);
351 timelineDecoder.CreateRelationship(relationship39);
352
Jim Flynnbbfe6032020-07-20 16:57:44 +0100353 arm::pipe::ITimelineDecoder::Relationship relationship40;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100354 relationship40.m_Guid = uint64_t(40);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100355 relationship40.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100356 relationship40.m_HeadGuid = uint64_t(39);
357 relationship40.m_TailGuid = uint64_t(10874037804557439415U);
358 timelineDecoder.CreateRelationship(relationship40);
359
Jim Flynnbbfe6032020-07-20 16:57:44 +0100360 arm::pipe::ITimelineDecoder::Relationship relationship41;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100361 relationship41.m_Guid = uint64_t(41);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100362 relationship41.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::RetentionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100363 relationship41.m_HeadGuid = uint64_t(0);
364 relationship41.m_TailGuid = uint64_t(36);
365 timelineDecoder.CreateRelationship(relationship41);
366
367
Jim Flynnbbfe6032020-07-20 16:57:44 +0100368 arm::pipe::ITimelineDecoder::Entity entity42;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100369 entity42.m_Guid = uint64_t(42);
370 timelineDecoder.CreateEntity(entity42);
371
Jim Flynnbbfe6032020-07-20 16:57:44 +0100372 arm::pipe::ITimelineDecoder::Relationship relationship43;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100373 relationship43.m_Guid = uint64_t(43);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100374 relationship43.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100375 relationship43.m_HeadGuid = uint64_t(42);
376 relationship43.m_TailGuid = uint64_t(15704252740552608110U);
377 timelineDecoder.CreateRelationship(relationship43);
378
Jim Flynnbbfe6032020-07-20 16:57:44 +0100379 arm::pipe::ITimelineDecoder::Relationship relationship44;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100380 relationship44.m_Guid = uint64_t(44);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100381 relationship44.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100382 relationship44.m_HeadGuid = uint64_t(43);
383 relationship44.m_TailGuid = uint64_t(14196220359693045352U);
384 timelineDecoder.CreateRelationship(relationship44);
385
Jim Flynnbbfe6032020-07-20 16:57:44 +0100386 arm::pipe::ITimelineDecoder::Relationship relationship45;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100387 relationship45.m_Guid = uint64_t(45);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100388 relationship45.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100389 relationship45.m_HeadGuid = uint64_t(42);
390 relationship45.m_TailGuid = uint64_t(9690680943817437852U);
391 timelineDecoder.CreateRelationship(relationship45);
392
Jim Flynnbbfe6032020-07-20 16:57:44 +0100393 arm::pipe::ITimelineDecoder::Relationship relationship46;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100394 relationship46.m_Guid = uint64_t(46);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100395 relationship46.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100396 relationship46.m_HeadGuid = uint64_t(45);
397 relationship46.m_TailGuid = uint64_t(10874037804557439415U);
398 timelineDecoder.CreateRelationship(relationship46);
399
Jim Flynnbbfe6032020-07-20 16:57:44 +0100400 arm::pipe::ITimelineDecoder::Relationship relationship47;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100401 relationship47.m_Guid = uint64_t(47);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100402 relationship47.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::RetentionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100403 relationship47.m_HeadGuid = uint64_t(2);
404 relationship47.m_TailGuid = uint64_t(42);
405 timelineDecoder.CreateRelationship(relationship47);
406
Jim Flynnbbfe6032020-07-20 16:57:44 +0100407 arm::pipe::ITimelineDecoder::Entity entity48;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100408 entity48.m_Guid = uint64_t(48);
409 timelineDecoder.CreateEntity(entity48);
410
Jim Flynnbbfe6032020-07-20 16:57:44 +0100411 arm::pipe::ITimelineDecoder::Relationship relationship49;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100412 relationship49.m_Guid = uint64_t(49);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100413 relationship49.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100414 relationship49.m_HeadGuid = uint64_t(48);
415 relationship49.m_TailGuid = uint64_t(15026600058430441282U);
416 timelineDecoder.CreateRelationship(relationship49);
417
Jim Flynnbbfe6032020-07-20 16:57:44 +0100418 arm::pipe::ITimelineDecoder::Relationship relationship50;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100419 relationship50.m_Guid = uint64_t(50);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100420 relationship50.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100421 relationship50.m_HeadGuid = uint64_t(49);
422 relationship50.m_TailGuid = uint64_t(14196220359693045352U);
423 timelineDecoder.CreateRelationship(relationship50);
424
Jim Flynnbbfe6032020-07-20 16:57:44 +0100425 arm::pipe::ITimelineDecoder::Relationship relationship51;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100426 relationship51.m_Guid = uint64_t(51);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100427 relationship51.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::RetentionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100428 relationship51.m_HeadGuid = uint64_t(6);
429 relationship51.m_TailGuid = uint64_t(48);
430 timelineDecoder.CreateRelationship(relationship51);
431
Jim Flynnbbfe6032020-07-20 16:57:44 +0100432 arm::pipe::ITimelineDecoder::Relationship relationship53;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100433 relationship53.m_Guid = uint64_t(53);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100434 relationship53.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::DataLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100435 relationship53.m_HeadGuid = uint64_t(48);
436 relationship53.m_TailGuid = uint64_t(52);
437 timelineDecoder.CreateRelationship(relationship53);
438
Jim Flynnbbfe6032020-07-20 16:57:44 +0100439 arm::pipe::ITimelineDecoder::Relationship relationship54;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100440 relationship54.m_Guid = uint64_t(54);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100441 relationship54.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::ExecutionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100442 relationship54.m_HeadGuid = uint64_t(52);
443 relationship54.m_TailGuid = uint64_t(17170418158534996719U);
444 timelineDecoder.CreateRelationship(relationship54);
445
446
Jim Flynnbbfe6032020-07-20 16:57:44 +0100447 arm::pipe::ITimelineDecoder::Entity entity55;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100448 entity55.m_Guid = uint64_t(55);
449 timelineDecoder.CreateEntity(entity55);
450
Jim Flynnbbfe6032020-07-20 16:57:44 +0100451 arm::pipe::ITimelineDecoder::Relationship relationship56;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100452 relationship56.m_Guid = uint64_t(56);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100453 relationship56.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100454 relationship56.m_HeadGuid = uint64_t(55);
455 relationship56.m_TailGuid = uint64_t(10172155312650606003U);
456 timelineDecoder.CreateRelationship(relationship56);
457
Jim Flynnbbfe6032020-07-20 16:57:44 +0100458 arm::pipe::ITimelineDecoder::Relationship relationship57;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100459 relationship57.m_Guid = uint64_t(57);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100460 relationship57.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100461 relationship57.m_HeadGuid = uint64_t(56);
462 relationship57.m_TailGuid = uint64_t(14196220359693045352U);
463 timelineDecoder.CreateRelationship(relationship57);
464
Jim Flynnbbfe6032020-07-20 16:57:44 +0100465 arm::pipe::ITimelineDecoder::Relationship relationship58;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100466 relationship58.m_Guid = uint64_t(58);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100467 relationship58.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::RetentionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100468 relationship58.m_HeadGuid = uint64_t(48);
469 relationship58.m_TailGuid = uint64_t(55);
470 timelineDecoder.CreateRelationship(relationship58);
471
Jim Flynnbbfe6032020-07-20 16:57:44 +0100472 arm::pipe::ITimelineDecoder::Relationship relationship59;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100473 relationship59.m_Guid = uint64_t(59);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100474 relationship59.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::RetentionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100475 relationship59.m_HeadGuid = uint64_t(36);
476 relationship59.m_TailGuid = uint64_t(55);
477 timelineDecoder.CreateRelationship(relationship59);
478
Jim Flynnbbfe6032020-07-20 16:57:44 +0100479 arm::pipe::ITimelineDecoder::Event event60;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100480 event60.m_Guid = uint64_t(60);
481 event60.m_TimeStamp = uint64_t(96557081111036);
482 event60.m_ThreadId = uint64_t(140522431862592);
483 timelineDecoder.CreateEvent(event60);
484
Jim Flynnbbfe6032020-07-20 16:57:44 +0100485 arm::pipe::ITimelineDecoder::Relationship relationship61;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100486 relationship61.m_Guid = uint64_t(61);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100487 relationship61.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::ExecutionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100488 relationship61.m_HeadGuid = uint64_t(55);
489 relationship61.m_TailGuid = uint64_t(60);
490 timelineDecoder.CreateRelationship(relationship61);
491
Jim Flynnbbfe6032020-07-20 16:57:44 +0100492 arm::pipe::ITimelineDecoder::Relationship relationship62;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100493 relationship62.m_Guid = uint64_t(62);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100494 relationship62.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::DataLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100495 relationship62.m_HeadGuid = uint64_t(60);
496 relationship62.m_TailGuid = uint64_t(17170418158534996719U);
497 timelineDecoder.CreateRelationship(relationship62);
498
Jim Flynnbbfe6032020-07-20 16:57:44 +0100499 arm::pipe::ITimelineDecoder::Event event63;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100500 event63.m_Guid = uint64_t(63);
501 event63.m_TimeStamp = uint64_t(96557081149730);
502 event63.m_ThreadId = uint64_t(140522431862592);
503 timelineDecoder.CreateEvent(event63);
504
Jim Flynnbbfe6032020-07-20 16:57:44 +0100505 arm::pipe::ITimelineDecoder::Relationship relationship64;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100506 relationship64.m_Guid = uint64_t(61);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100507 relationship64.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::ExecutionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100508 relationship64.m_HeadGuid = uint64_t(55);
509 relationship64.m_TailGuid = uint64_t(63);
510 timelineDecoder.CreateRelationship(relationship64);
511
Jim Flynnbbfe6032020-07-20 16:57:44 +0100512 arm::pipe::ITimelineDecoder::Relationship relationship65;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100513 relationship65.m_Guid = uint64_t(62);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100514 relationship65.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::DataLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100515 relationship65.m_HeadGuid = uint64_t(63);
516 relationship65.m_TailGuid = uint64_t(10812061579584851344U);
517 timelineDecoder.CreateRelationship(relationship65);
518
519
Jim Flynnbbfe6032020-07-20 16:57:44 +0100520 arm::pipe::ITimelineDecoder::Entity entity66;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100521 entity66.m_Guid = uint64_t(66);
522 timelineDecoder.CreateEntity(entity66);
523
Jim Flynnbbfe6032020-07-20 16:57:44 +0100524 arm::pipe::ITimelineDecoder::Relationship relationship67;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100525 relationship67.m_Guid = uint64_t(67);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100526 relationship67.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100527 relationship67.m_HeadGuid = uint64_t(66);
528 relationship67.m_TailGuid = uint64_t(10172155312650606003U);
529 timelineDecoder.CreateRelationship(relationship67);
530
Jim Flynnbbfe6032020-07-20 16:57:44 +0100531 arm::pipe::ITimelineDecoder::Relationship relationship68;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100532 relationship68.m_Guid = uint64_t(68);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100533 relationship68.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100534 relationship68.m_HeadGuid = uint64_t(67);
535 relationship68.m_TailGuid = uint64_t(14196220359693045352U);
536 timelineDecoder.CreateRelationship(relationship68);
537
Jim Flynnbbfe6032020-07-20 16:57:44 +0100538 arm::pipe::ITimelineDecoder::Relationship relationship69;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100539 relationship69.m_Guid = uint64_t(69);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100540 relationship69.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::RetentionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100541 relationship69.m_HeadGuid = uint64_t(48);
542 relationship69.m_TailGuid = uint64_t(66);
543 timelineDecoder.CreateRelationship(relationship69);
544
Jim Flynnbbfe6032020-07-20 16:57:44 +0100545 arm::pipe::ITimelineDecoder::Relationship relationship70;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100546 relationship70.m_Guid = uint64_t(70);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100547 relationship70.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::RetentionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100548 relationship70.m_HeadGuid = uint64_t(22);
549 relationship70.m_TailGuid = uint64_t(66);
550 timelineDecoder.CreateRelationship(relationship70);
551
552
Jim Flynnbbfe6032020-07-20 16:57:44 +0100553 arm::pipe::ITimelineDecoder::Event event71;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100554 event71.m_Guid = uint64_t(71);
555 event71.m_TimeStamp = uint64_t(96557081156464);
556 event71.m_ThreadId = uint64_t(140522431862592);
557 timelineDecoder.CreateEvent(event71);
558
Jim Flynnbbfe6032020-07-20 16:57:44 +0100559 arm::pipe::ITimelineDecoder::Relationship relationship72;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100560 relationship72.m_Guid = uint64_t(72);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100561 relationship72.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::ExecutionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100562 relationship72.m_HeadGuid = uint64_t(66);
563 relationship72.m_TailGuid = uint64_t(71);
564 timelineDecoder.CreateRelationship(relationship72);
565
Jim Flynnbbfe6032020-07-20 16:57:44 +0100566 arm::pipe::ITimelineDecoder::Relationship relationship73;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100567 relationship73.m_Guid = uint64_t(73);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100568 relationship73.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::DataLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100569 relationship73.m_HeadGuid = uint64_t(71);
570 relationship73.m_TailGuid = uint64_t(17170418158534996719U);
571 timelineDecoder.CreateRelationship(relationship73);
572
Jim Flynnbbfe6032020-07-20 16:57:44 +0100573 arm::pipe::ITimelineDecoder::Event event74;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100574 event74.m_Guid = uint64_t(74);
575 event74.m_TimeStamp = uint64_t(96557081220825);
576 event74.m_ThreadId = uint64_t(140522431862592);
577 timelineDecoder.CreateEvent(event74);
578
Jim Flynnbbfe6032020-07-20 16:57:44 +0100579 arm::pipe::ITimelineDecoder::Relationship relationship75;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100580 relationship75.m_Guid = uint64_t(75);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100581 relationship75.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::ExecutionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100582 relationship75.m_HeadGuid = uint64_t(66);
583 relationship75.m_TailGuid = uint64_t(74);
584 timelineDecoder.CreateRelationship(relationship75);
585
Jim Flynnbbfe6032020-07-20 16:57:44 +0100586 arm::pipe::ITimelineDecoder::Relationship relationship76;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100587 relationship76.m_Guid = uint64_t(76);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100588 relationship76.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::DataLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100589 relationship76.m_HeadGuid = uint64_t(74);
590 relationship76.m_TailGuid = uint64_t(10812061579584851344U);
591 timelineDecoder.CreateRelationship(relationship76);
592
Jim Flynnbbfe6032020-07-20 16:57:44 +0100593 arm::pipe::ITimelineDecoder::Entity entity77;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100594 entity77.m_Guid = uint64_t(77);
595 timelineDecoder.CreateEntity(entity77);
596
Jim Flynnbbfe6032020-07-20 16:57:44 +0100597 arm::pipe::ITimelineDecoder::Relationship relationship78;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100598 relationship78.m_Guid = uint64_t(78);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100599 relationship78.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100600 relationship78.m_HeadGuid = uint64_t(77);
601 relationship78.m_TailGuid = uint64_t(10172155312650606003U);
602 timelineDecoder.CreateRelationship(relationship78);
603
Jim Flynnbbfe6032020-07-20 16:57:44 +0100604 arm::pipe::ITimelineDecoder::Relationship relationship79;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100605 relationship79.m_Guid = uint64_t(79);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100606 relationship79.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::LabelLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100607 relationship79.m_HeadGuid = uint64_t(78);
608 relationship79.m_TailGuid = uint64_t(14196220359693045352U);
609 timelineDecoder.CreateRelationship(relationship79);
610
Jim Flynnbbfe6032020-07-20 16:57:44 +0100611 arm::pipe::ITimelineDecoder::Relationship relationship80;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100612 relationship80.m_Guid = uint64_t(80);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100613 relationship80.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::RetentionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100614 relationship80.m_HeadGuid = uint64_t(48);
615 relationship80.m_TailGuid = uint64_t(77);
616 timelineDecoder.CreateRelationship(relationship80);
617
Jim Flynnbbfe6032020-07-20 16:57:44 +0100618 arm::pipe::ITimelineDecoder::Relationship relationship81;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100619 relationship81.m_Guid = uint64_t(81);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100620 relationship81.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::RetentionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100621 relationship81.m_HeadGuid = uint64_t(42);
622 relationship81.m_TailGuid = uint64_t(77);
623 timelineDecoder.CreateRelationship(relationship81);
624
Jim Flynnbbfe6032020-07-20 16:57:44 +0100625 arm::pipe::ITimelineDecoder::Event event82;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100626 event82.m_Guid = uint64_t(82);
627 event82.m_TimeStamp = uint64_t(96557081227643);
628 event82.m_ThreadId = uint64_t(140522431862592);
629 timelineDecoder.CreateEvent(event82);
630
Jim Flynnbbfe6032020-07-20 16:57:44 +0100631 arm::pipe::ITimelineDecoder::Relationship relationship83;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100632 relationship83.m_Guid = uint64_t(83);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100633 relationship83.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::ExecutionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100634 relationship83.m_HeadGuid = uint64_t(77);
635 relationship83.m_TailGuid = uint64_t(82);
636 timelineDecoder.CreateRelationship(relationship83);
637
Jim Flynnbbfe6032020-07-20 16:57:44 +0100638 arm::pipe::ITimelineDecoder::Relationship relationship84;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100639 relationship84.m_Guid = uint64_t(84);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100640 relationship84.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::DataLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100641 relationship84.m_HeadGuid = uint64_t(82);
642 relationship84.m_TailGuid = uint64_t(17170418158534996719U);
643 timelineDecoder.CreateRelationship(relationship84);
644
Jim Flynnbbfe6032020-07-20 16:57:44 +0100645 arm::pipe::ITimelineDecoder::Event event85;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100646 event85.m_Guid = uint64_t(85);
647 event85.m_TimeStamp = uint64_t(96557081240332);
648 event85.m_ThreadId = uint64_t(140522431862592);
649 timelineDecoder.CreateEvent(event85);
650
Jim Flynnbbfe6032020-07-20 16:57:44 +0100651 arm::pipe::ITimelineDecoder::Relationship relationship86;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100652 relationship86.m_Guid = uint64_t(86);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100653 relationship86.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::ExecutionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100654 relationship86.m_HeadGuid = uint64_t(77);
655 relationship86.m_TailGuid = uint64_t(85);
656 timelineDecoder.CreateRelationship(relationship86);
657
Jim Flynnbbfe6032020-07-20 16:57:44 +0100658 arm::pipe::ITimelineDecoder::Relationship relationship87;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100659 relationship87.m_Guid = uint64_t(87);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100660 relationship87.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::DataLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100661 relationship87.m_HeadGuid = uint64_t(85);
662 relationship87.m_TailGuid = uint64_t(10812061579584851344U);
663 timelineDecoder.CreateRelationship(relationship87);
664
Jim Flynnbbfe6032020-07-20 16:57:44 +0100665 arm::pipe::ITimelineDecoder::Event event88;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100666 event88.m_Guid = uint64_t(88);
667 event88.m_TimeStamp = uint64_t(96557081243146);
668 event88.m_ThreadId = uint64_t(140522431862592);
669 timelineDecoder.CreateEvent(event88);
670
Jim Flynnbbfe6032020-07-20 16:57:44 +0100671 arm::pipe::ITimelineDecoder::Relationship relationship89;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100672 relationship89.m_Guid = uint64_t(89);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100673 relationship89.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::ExecutionLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100674 relationship89.m_HeadGuid = uint64_t(48);
675 relationship89.m_TailGuid = uint64_t(88);
676 timelineDecoder.CreateRelationship(relationship89);
677
Jim Flynnbbfe6032020-07-20 16:57:44 +0100678 arm::pipe::ITimelineDecoder::Relationship relationship90;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100679 relationship90.m_Guid = uint64_t(90);
Jim Flynnbbfe6032020-07-20 16:57:44 +0100680 relationship90.m_RelationshipType = arm::pipe::ITimelineDecoder::RelationshipType::DataLink;
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100681 relationship90.m_HeadGuid = uint64_t(88);
682 relationship90.m_TailGuid = uint64_t(10812061579584851344U);
683 timelineDecoder.CreateRelationship(relationship90);
684}
685
686BOOST_AUTO_TEST_CASE(JSONTimelineDecoderTestStructure)
687{
688 JSONTimelineDecoder timelineDecoder;
689 RunSimpleModelThroughDecoder(timelineDecoder);
690
691 JSONTimelineDecoder::Model model = timelineDecoder.GetModel();
692 BOOST_CHECK(model.jsonEntities.size() == 20);
693 JSONTimelineDecoder::JSONEntity rootEntity = model.jsonEntities.at(6);
694 BOOST_CHECK(rootEntity.childEntities.size() == 4);
695
696 // Testing input layer model
697 JSONTimelineDecoder::JSONEntity entity0 = model.jsonEntities.at(rootEntity.childEntities[0]);
698 BOOST_CHECK(entity0.GetName() == "input");
699 BOOST_CHECK(entity0.GetType() == "layer");
700
701 BOOST_CHECK(entity0.childEntities.size() == 1);
702 JSONTimelineDecoder::JSONEntity input_workload_entity = model.jsonEntities.at(entity0.childEntities[0]);
703 BOOST_CHECK(input_workload_entity.childEntities.size() == 1);
704 BOOST_CHECK(input_workload_entity.GetType() == "workload");
705 BOOST_CHECK(input_workload_entity.extendedData.at("backendId") == "CpuRef");
706
707 JSONTimelineDecoder::JSONEntity input_workload_execution_entity = model.jsonEntities
708 .at(input_workload_entity.childEntities[0]);
709 BOOST_CHECK(input_workload_execution_entity.childEntities.size() == 2);
710 BOOST_CHECK(input_workload_execution_entity.GetType() == "workload_execution");
711
712 JSONTimelineDecoder::JSONEntity input_workload_execution_event0 = model.jsonEntities
713 .at(input_workload_execution_entity.childEntities[0]);
714 BOOST_CHECK(input_workload_execution_event0.GetType() == "Event");
715 BOOST_CHECK(input_workload_execution_event0.childEntities.size() == 0);
716 BOOST_CHECK(model.events.at(input_workload_execution_event0.GetGuid()).m_ThreadId > uint64_t(0));
717 BOOST_CHECK(model.events.at(input_workload_execution_event0.GetGuid()).m_TimeStamp > uint64_t(0));
718
719 JSONTimelineDecoder::JSONEntity input_workload_execution_event1 = model.jsonEntities
720 .at(input_workload_execution_entity.childEntities[1]);
721 BOOST_CHECK(input_workload_execution_event0.GetType() == "Event");
722 BOOST_CHECK(input_workload_execution_event1.childEntities.size() == 0);
723 BOOST_CHECK(model.events.at(input_workload_execution_event1.GetGuid()).m_ThreadId > uint64_t(0));
724 BOOST_CHECK(model.events.at(input_workload_execution_event1.GetGuid()).m_TimeStamp > uint64_t(0));
725
726 // Testing normalization layer model
727 JSONTimelineDecoder::JSONEntity entity1 = model.jsonEntities.at(rootEntity.childEntities[1]);
728 BOOST_CHECK(entity1.GetName() == "normalization");
729 BOOST_CHECK(entity1.GetType() == "layer");
730
731 JSONTimelineDecoder::JSONEntity normalization_workload_entity = model.jsonEntities
732 .at(entity1.childEntities[0]);
733 BOOST_CHECK(normalization_workload_entity.GetType() == "workload");
734 BOOST_CHECK(normalization_workload_entity.extendedData.at("backendId") == "CpuRef");
735
736 JSONTimelineDecoder::JSONEntity normalization_workload_execution_entity = model.jsonEntities
737 .at(normalization_workload_entity.childEntities[0]);
738 BOOST_CHECK(normalization_workload_execution_entity.GetType() == "workload_execution");
739
740 JSONTimelineDecoder::JSONEntity normalization_workload_execution_event0 = model.jsonEntities
741 .at(normalization_workload_execution_entity.childEntities[0]);
742 BOOST_CHECK(normalization_workload_execution_event0.GetType() == "Event");
743 BOOST_CHECK(model.events.at(normalization_workload_execution_event0.GetGuid()).m_ThreadId > uint64_t(0));
744 BOOST_CHECK(model.events.at(normalization_workload_execution_event0.GetGuid()).m_TimeStamp > uint64_t(0));
745
746 JSONTimelineDecoder::JSONEntity normalization_workload_execution_event1 = model.jsonEntities
747 .at(normalization_workload_execution_entity.childEntities[1]);
748 BOOST_CHECK(normalization_workload_execution_event1.GetType() == "Event");
749 BOOST_CHECK(model.events.at(normalization_workload_execution_event1.GetGuid()).m_ThreadId > uint64_t(0));
750 BOOST_CHECK(model.events.at(normalization_workload_execution_event1.GetGuid()).m_TimeStamp > uint64_t(0));
751
752 // Testing output layer model
753 JSONTimelineDecoder::JSONEntity entity2 = model.jsonEntities.at(rootEntity.childEntities[2]);
754 BOOST_CHECK(entity2.GetName() == "output");
755 BOOST_CHECK(entity2.GetType() == "layer");
756
757 JSONTimelineDecoder::JSONEntity output_workload_entity = model.jsonEntities.at(entity2.childEntities[0]);
758 BOOST_CHECK(output_workload_entity.GetType() == "workload");
759 BOOST_CHECK(output_workload_entity.extendedData.at("backendId") == "CpuRef");
760
761 JSONTimelineDecoder::JSONEntity output_workload_execution_entity = model.jsonEntities
762 .at(output_workload_entity.childEntities[0]);
763 BOOST_CHECK(output_workload_execution_entity.GetType() == "workload_execution");
764
765 JSONTimelineDecoder::JSONEntity output_workload_execution_event0 = model.jsonEntities
766 .at(output_workload_execution_entity.childEntities[0]);
767 BOOST_CHECK(output_workload_execution_event0.GetType() == "Event");
768 BOOST_CHECK(model.events.at(output_workload_execution_event0.GetGuid()).m_ThreadId > uint64_t(0));
769 BOOST_CHECK(model.events.at(output_workload_execution_event0.GetGuid()).m_TimeStamp > uint64_t(0));
770
771 JSONTimelineDecoder::JSONEntity output_workload_execution_event1 = model.jsonEntities
772 .at(output_workload_execution_entity.childEntities[1]);
773 BOOST_CHECK(output_workload_execution_event1.GetType() == "Event");
774 BOOST_CHECK(model.events.at(output_workload_execution_event1.GetGuid()).m_ThreadId > uint64_t(0));
775 BOOST_CHECK(model.events.at(output_workload_execution_event1.GetGuid()).m_TimeStamp > uint64_t(0));
776
777 JSONTimelineDecoder::JSONEntity entity48 = model.jsonEntities.at(rootEntity.childEntities[3]);
778 BOOST_CHECK(entity48.GetName() == "");
779 BOOST_CHECK(entity48.GetType() == "inference");
780}
781
782BOOST_AUTO_TEST_CASE(JSONTimelineDecoderTestJSON)
783{
784 JSONTimelineDecoder timelineDecoder;
785 RunSimpleModelThroughDecoder(timelineDecoder);
786
787 JSONTimelineDecoder::Model model = timelineDecoder.GetModel();
788 JSONTimelineDecoder::JSONEntity rootEntity = model.jsonEntities.at(6);
789
790 std::string jsonString = timelineDecoder.GetJSONString(rootEntity);
791 BOOST_CHECK(jsonString != "");
792 BOOST_CHECK(jsonString.find("input_0: {")!=std::string::npos);
793 BOOST_CHECK(jsonString.find("type: Measurement,\n"
794 "\t\t\tbackendId :CpuRef,")!=std::string::npos);
795 BOOST_CHECK(jsonString.find("normalization_2: {")!=std::string::npos);
796 BOOST_CHECK(jsonString.find("output_4: {")!=std::string::npos);
797
Jan Eilers1f249442020-07-01 15:37:50 +0100798 // Create a temporary file to write Json output to
799 fs::path tempFile = armnnUtils::Filesystem::NamedTempFile("JSONTimelineDecoderTestJSON.json");
800 // open temp file
801 std::ofstream ofs{tempFile};
802 // tell the timeline decoder to print into our temp file (you could also use std::cout)
803 timelineDecoder.PrintJSON(rootEntity, ofs);
804 // close temp file
805 ofs.close();
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100806
Jan Eilers1f249442020-07-01 15:37:50 +0100807 // Now everything in opposite order
Francis Murtagh532a29d2020-06-29 11:50:01 +0100808 fs::ifstream inFile;
Jan Eilers1f249442020-07-01 15:37:50 +0100809 //reopen the file this time for reading
810 inFile.open(tempFile);
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100811
812 std::stringstream strStream;
813 strStream << inFile.rdbuf(); //read the file
Jan Eilers1f249442020-07-01 15:37:50 +0100814 inFile.close();
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100815 std::string outfileJson = strStream.str();
816
817 BOOST_CHECK(outfileJson != "");
818 BOOST_CHECK(outfileJson.find("input_0: {")!=std::string::npos);
819 BOOST_CHECK(outfileJson.find("type: Measurement,\n"
820 "\t\t\tbackendId :CpuRef,")!=std::string::npos);
821 BOOST_CHECK(outfileJson.find("normalization_2: {")!=std::string::npos);
822 BOOST_CHECK(outfileJson.find("output_4: {")!=std::string::npos);
Jan Eilers1f249442020-07-01 15:37:50 +0100823
824 // Remove temporary file
825 fs::remove(tempFile);
Éanna Ó Catháin0de47122020-04-01 15:40:12 +0100826}
827BOOST_AUTO_TEST_SUITE_END()