IVGCVSW-4734 Add an Attribute label guid to the relationship message to reduce traffic

Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: Ia55c52c12fe3d30eb47bc42c932a33c620dc9197
diff --git a/src/profiling/test/ProfilingTestUtils.cpp b/src/profiling/test/ProfilingTestUtils.cpp
index 73dbf88..ff25604 100644
--- a/src/profiling/test/ProfilingTestUtils.cpp
+++ b/src/profiling/test/ProfilingTestUtils.cpp
@@ -57,21 +57,21 @@
     unsigned int uint32_t_size = sizeof(uint32_t);
 
     // Check the TimelineEventClassBinaryPacket header
-    uint32_t entityBinaryPacketHeaderWord0 = ReadUint32(readableData, offset);
-    uint32_t entityBinaryPacketFamily      = (entityBinaryPacketHeaderWord0 >> 26) & 0x0000003F;
-    uint32_t entityBinaryPacketClass       = (entityBinaryPacketHeaderWord0 >> 19) & 0x0000007F;
-    uint32_t entityBinaryPacketType        = (entityBinaryPacketHeaderWord0 >> 16) & 0x00000007;
-    uint32_t entityBinaryPacketStreamId    = (entityBinaryPacketHeaderWord0 >>  0) & 0x00000007;
-    BOOST_CHECK(entityBinaryPacketFamily   == 1);
-    BOOST_CHECK(entityBinaryPacketClass    == 0);
-    BOOST_CHECK(entityBinaryPacketType     == 1);
-    BOOST_CHECK(entityBinaryPacketStreamId == 0);
+    uint32_t timelineBinaryPacketHeaderWord0 = ReadUint32(readableData, offset);
+    uint32_t timelineBinaryPacketFamily      = (timelineBinaryPacketHeaderWord0 >> 26) & 0x0000003F;
+    uint32_t timelineBinaryPacketClass       = (timelineBinaryPacketHeaderWord0 >> 19) & 0x0000007F;
+    uint32_t timelineBinaryPacketType        = (timelineBinaryPacketHeaderWord0 >> 16) & 0x00000007;
+    uint32_t timelineBinaryPacketStreamId    = (timelineBinaryPacketHeaderWord0 >>  0) & 0x00000007;
+    BOOST_CHECK(timelineBinaryPacketFamily   == 1);
+    BOOST_CHECK(timelineBinaryPacketClass    == 0);
+    BOOST_CHECK(timelineBinaryPacketType     == 1);
+    BOOST_CHECK(timelineBinaryPacketStreamId == 0);
     offset += uint32_t_size;
-    uint32_t entityBinaryPacketHeaderWord1   = ReadUint32(readableData, offset);
-    uint32_t eventBinaryPacketSequenceNumber = (entityBinaryPacketHeaderWord1 >> 24) & 0x00000001;
-    uint32_t eventBinaryPacketDataLength     = (entityBinaryPacketHeaderWord1 >>  0) & 0x00FFFFFF;
-    BOOST_CHECK(eventBinaryPacketSequenceNumber == 0);
-    BOOST_CHECK(eventBinaryPacketDataLength     == packetDataLength);
+    uint32_t timelineBinaryPacketHeaderWord1   = ReadUint32(readableData, offset);
+    uint32_t timelineBinaryPacketSequenceNumber = (timelineBinaryPacketHeaderWord1 >> 24) & 0x00000001;
+    uint32_t timelineBinaryPacketDataLength     = (timelineBinaryPacketHeaderWord1 >>  0) & 0x00FFFFFF;
+    BOOST_CHECK(timelineBinaryPacketSequenceNumber == 0);
+    BOOST_CHECK(timelineBinaryPacketDataLength     == packetDataLength);
     offset += uint32_t_size;
 }
 
@@ -144,6 +144,7 @@
                                             Optional<ProfilingGuid> relationshipGuid,
                                             Optional<ProfilingGuid> headGuid,
                                             Optional<ProfilingGuid> tailGuid,
+                                            Optional<ProfilingGuid> attributeGuid,
                                             const unsigned char* readableData,
                                             unsigned int& offset)
 {
@@ -217,6 +218,18 @@
         BOOST_CHECK(readTailRelationshipGuid != ProfilingGuid(0));
     }
 
+    // Check the tail of relationship GUID
+    offset += uint64_t_size;
+    uint64_t readAttributeRelationshipGuid = ReadUint64(readableData, offset);
+    if (attributeGuid.has_value())
+    {
+        BOOST_CHECK(readAttributeRelationshipGuid == attributeGuid.value());
+    }
+    else
+    {
+        BOOST_CHECK(readAttributeRelationshipGuid == ProfilingGuid(0));
+    }
+
     // Update the offset to allow parsing to be continued after this function returns
     offset += uint64_t_size;
 }
@@ -396,7 +409,7 @@
     BOOST_CHECK(readableBuffer != nullptr);
 
     unsigned int size = readableBuffer->GetSize();
-    BOOST_CHECK(size == 1556);
+    BOOST_CHECK(size == 1244);
 
     const unsigned char* readableData = readableBuffer->GetReadableData();
     BOOST_CHECK(readableData != nullptr);
@@ -404,7 +417,7 @@
     unsigned int offset = 0;
 
     // Verify Header
-    VerifyTimelineHeaderBinary(readableData, offset, 1548);
+    VerifyTimelineHeaderBinary(readableData, offset, 1236);
 
     // Post-optimisation network
     // Network entity
@@ -415,13 +428,6 @@
                                                EmptyOptional(),
                                                optNetGuid,
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -438,38 +444,31 @@
                                                EmptyOptional(),
                                                input->GetGuid(),
                                                EmptyOptional(),
+                                               LabelsAndEventClasses::NAME_GUID,
                                                readableData,
                                                offset);
 
     // Name label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
-                                               LabelsAndEventClasses::NAME_GUID,
-                                               readableData,
-                                               offset);
+
 
     // Entity - Type relationship
     VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
                                                EmptyOptional(),
                                                input->GetGuid(),
                                                EmptyOptional(),
+                                               LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
 
     // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
-                                               LabelsAndEventClasses::TYPE_GUID,
-                                               readableData,
-                                               offset);
+
 
     // Network - Input layer relationship
     VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::RetentionLink,
                                                EmptyOptional(),
                                                optNetGuid,
                                                input->GetGuid(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -485,13 +484,6 @@
                                                EmptyOptional(),
                                                conv2d->GetGuid(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Name label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::NAME_GUID,
                                                readableData,
                                                offset);
@@ -501,22 +493,17 @@
                                                EmptyOptional(),
                                                conv2d->GetGuid(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
 
+
     // Network - Conv2d layer relationship
     VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::RetentionLink,
                                                EmptyOptional(),
                                                optNetGuid,
                                                conv2d->GetGuid(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -525,6 +512,7 @@
                                                EmptyOptional(),
                                                input->GetGuid(),
                                                conv2d->GetGuid(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -533,17 +521,12 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                LabelsAndEventClasses::CONNECTION_GUID,
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
 
+
+
     // Conv2d workload
     // Conv2d workload entity
     VerifyTimelineEntityBinaryPacketData(EmptyOptional(), readableData, offset);
@@ -553,17 +536,11 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
 
+
     // BackendId entity
     VerifyTimelineLabelBinaryPacketData(EmptyOptional(), backendId.Get(), readableData, offset);
 
@@ -572,22 +549,17 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // BackendId label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::BACKENDID_GUID,
                                                readableData,
                                                offset);
 
+
     // Conv2d layer - Conv2d workload relationship
     VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::RetentionLink,
                                                EmptyOptional(),
                                                conv2d->GetGuid(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -603,13 +575,6 @@
                                                EmptyOptional(),
                                                activation->GetGuid(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Name label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::NAME_GUID,
                                                readableData,
                                                offset);
@@ -619,13 +584,6 @@
                                                EmptyOptional(),
                                                activation->GetGuid(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -635,6 +593,7 @@
                                                EmptyOptional(),
                                                optNetGuid,
                                                activation->GetGuid(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -643,6 +602,7 @@
                                                EmptyOptional(),
                                                conv2d->GetGuid(),
                                                activation->GetGuid(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -651,13 +611,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                LabelsAndEventClasses::CONNECTION_GUID,
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -671,13 +624,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -690,13 +636,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // BackendId label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::BACKENDID_GUID,
                                                readableData,
                                                offset);
@@ -706,6 +645,7 @@
                                                EmptyOptional(),
                                                activation->GetGuid(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -721,13 +661,6 @@
                                                EmptyOptional(),
                                                output->GetGuid(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Name label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::NAME_GUID,
                                                readableData,
                                                offset);
@@ -737,13 +670,6 @@
                                                EmptyOptional(),
                                                output->GetGuid(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -753,6 +679,7 @@
                                                EmptyOptional(),
                                                optNetGuid,
                                                output->GetGuid(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -761,6 +688,7 @@
                                                EmptyOptional(),
                                                activation->GetGuid(),
                                                output->GetGuid(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -769,13 +697,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                LabelsAndEventClasses::CONNECTION_GUID,
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -812,7 +733,7 @@
 
     // Validate input workload data
     size = inputReadableBuffer->GetSize();
-    BOOST_CHECK(size == 204);
+    BOOST_CHECK(size == 164);
 
     readableData = inputReadableBuffer->GetReadableData();
     BOOST_CHECK(readableData != nullptr);
@@ -820,7 +741,7 @@
     offset = 0;
 
     // Verify Header
-    VerifyTimelineHeaderBinary(readableData, offset, 196);
+    VerifyTimelineHeaderBinary(readableData, offset, 156);
 
     // Input workload
     // Input workload entity
@@ -831,13 +752,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -850,13 +764,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // BackendId label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::BACKENDID_GUID,
                                                readableData,
                                                offset);
@@ -866,6 +773,7 @@
                                                EmptyOptional(),
                                                input->GetGuid(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -873,7 +781,7 @@
 
     // Validate output workload data
     size = outputReadableBuffer->GetSize();
-    BOOST_CHECK(size == 204);
+    BOOST_CHECK(size == 164);
 
     readableData = outputReadableBuffer->GetReadableData();
     BOOST_CHECK(readableData != nullptr);
@@ -881,7 +789,7 @@
     offset = 0;
 
     // Verify Header
-    VerifyTimelineHeaderBinary(readableData, offset, 196);
+    VerifyTimelineHeaderBinary(readableData, offset, 156);
 
     // Output workload
     // Output workload entity
@@ -892,13 +800,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -911,13 +812,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // BackendId label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::BACKENDID_GUID,
                                                readableData,
                                                offset);
@@ -927,6 +821,7 @@
                                                EmptyOptional(),
                                                output->GetGuid(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -935,7 +830,7 @@
     // Validate inference data
     size = inferenceReadableBuffer->GetSize();
 
-    BOOST_CHECK(size == 1516 + 10 * ThreadIdSize);
+    BOOST_CHECK(size == 1228 + 10 * ThreadIdSize);
 
     readableData = inferenceReadableBuffer->GetReadableData();
     BOOST_CHECK(readableData != nullptr);
@@ -943,7 +838,7 @@
     offset = 0;
 
     // Verify Header
-    VerifyTimelineHeaderBinary(readableData, offset, 1508 + 10 * ThreadIdSize);
+    VerifyTimelineHeaderBinary(readableData, offset, 1220 + 10 * ThreadIdSize);
 
     // Inference timeline trace
     // Inference entity
@@ -954,13 +849,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                LabelsAndEventClasses::INFERENCE_GUID,
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -970,6 +858,7 @@
                                                EmptyOptional(),
                                                optNetGuid,
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -982,13 +871,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS,
                                                readableData,
                                                offset);
@@ -1003,13 +885,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                LabelsAndEventClasses::WORKLOAD_EXECUTION_GUID,
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -1019,6 +894,7 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -1027,6 +903,7 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -1039,13 +916,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS,
                                                readableData,
                                                offset);
@@ -1059,13 +929,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS,
                                                readableData,
                                                offset);
@@ -1079,13 +942,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                LabelsAndEventClasses::WORKLOAD_EXECUTION_GUID,
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -1095,6 +951,7 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -1103,6 +960,7 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -1115,13 +973,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS,
                                                readableData,
                                                offset);
@@ -1135,13 +986,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS,
                                                readableData,
                                                offset);
@@ -1155,13 +999,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                LabelsAndEventClasses::WORKLOAD_EXECUTION_GUID,
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -1171,6 +1008,7 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -1179,6 +1017,7 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -1191,13 +1030,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS,
                                                readableData,
                                                offset);
@@ -1211,13 +1043,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS,
                                                readableData,
                                                offset);
@@ -1231,13 +1056,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                LabelsAndEventClasses::WORKLOAD_EXECUTION_GUID,
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -1247,6 +1065,7 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -1255,6 +1074,7 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -1267,13 +1087,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS,
                                                readableData,
                                                offset);
@@ -1287,13 +1100,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS,
                                                readableData,
                                                offset);
@@ -1307,13 +1113,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS,
                                                readableData,
                                                offset);