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/armnn/test/RuntimeTests.cpp b/src/armnn/test/RuntimeTests.cpp
index c4a9626..ba921d3 100644
--- a/src/armnn/test/RuntimeTests.cpp
+++ b/src/armnn/test/RuntimeTests.cpp
@@ -414,7 +414,7 @@
     BOOST_CHECK(readableBuffer != nullptr);
 
     unsigned int size = readableBuffer->GetSize();
-    BOOST_CHECK(size == 1068);
+    BOOST_CHECK(size == 852);
 
     const unsigned char* readableData = readableBuffer->GetReadableData();
     BOOST_CHECK(readableData != nullptr);
@@ -422,7 +422,7 @@
     unsigned int offset = 0;
 
     // Verify Header
-    VerifyTimelineHeaderBinary(readableData, offset, 1060);
+    VerifyTimelineHeaderBinary(readableData, offset, 844);
 
     // Post-optimisation network
     // Network entity
@@ -434,13 +434,6 @@
                                                EmptyOptional(),
                                                optNetGuid,
                                                LabelsAndEventClasses::NETWORK_GUID,
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -457,13 +450,6 @@
                                                EmptyOptional(),
                                                input->GetGuid(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Name label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::NAME_GUID,
                                                readableData,
                                                offset);
@@ -473,13 +459,6 @@
                                                EmptyOptional(),
                                                input->GetGuid(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -489,6 +468,7 @@
                                                EmptyOptional(),
                                                optNetGuid,
                                                input->GetGuid(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -504,13 +484,6 @@
                                                EmptyOptional(),
                                                normalize->GetGuid(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Name label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::NAME_GUID,
                                                readableData,
                                                offset);
@@ -520,13 +493,6 @@
                                                EmptyOptional(),
                                                normalize->GetGuid(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -536,6 +502,7 @@
                                                EmptyOptional(),
                                                optNetGuid,
                                                normalize->GetGuid(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -544,6 +511,7 @@
                                                EmptyOptional(),
                                                input->GetGuid(),
                                                normalize->GetGuid(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -552,13 +520,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                LabelsAndEventClasses::CONNECTION_GUID,
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -572,13 +533,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -591,13 +545,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // BackendId label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::BACKENDID_GUID,
                                                readableData,
                                                offset);
@@ -607,6 +554,7 @@
                                                EmptyOptional(),
                                                normalize->GetGuid(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -622,13 +570,6 @@
                                                EmptyOptional(),
                                                output->GetGuid(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Name label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::NAME_GUID,
                                                readableData,
                                                offset);
@@ -638,13 +579,6 @@
                                                EmptyOptional(),
                                                output->GetGuid(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -654,6 +588,7 @@
                                                EmptyOptional(),
                                                optNetGuid,
                                                output->GetGuid(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -662,6 +597,7 @@
                                                EmptyOptional(),
                                                normalize->GetGuid(),
                                                output->GetGuid(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -670,13 +606,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                LabelsAndEventClasses::CONNECTION_GUID,
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -713,7 +642,7 @@
 
     // Validate input workload data
     size = inputReadableBuffer->GetSize();
-    BOOST_CHECK(size == 204);
+    BOOST_CHECK(size == 164);
 
     readableData = inputReadableBuffer->GetReadableData();
     BOOST_CHECK(readableData != nullptr);
@@ -721,7 +650,7 @@
     offset = 0;
 
     // Verify Header
-    VerifyTimelineHeaderBinary(readableData, offset, 196);
+    VerifyTimelineHeaderBinary(readableData, offset, 156);
 
     // Input workload
     // Input workload entity
@@ -732,13 +661,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -751,13 +673,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // BackendId label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::BACKENDID_GUID,
                                                readableData,
                                                offset);
@@ -767,6 +682,7 @@
                                                EmptyOptional(),
                                                input->GetGuid(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -774,7 +690,7 @@
 
     // Validate output workload data
     size = outputReadableBuffer->GetSize();
-    BOOST_CHECK(size == 204);
+    BOOST_CHECK(size == 164);
 
     readableData = outputReadableBuffer->GetReadableData();
     BOOST_CHECK(readableData != nullptr);
@@ -782,7 +698,7 @@
     offset = 0;
 
     // Verify Header
-    VerifyTimelineHeaderBinary(readableData, offset, 196);
+    VerifyTimelineHeaderBinary(readableData, offset, 156);
 
     // Output workload
     // Output workload entity
@@ -793,13 +709,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -812,13 +721,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // BackendId label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::BACKENDID_GUID,
                                                readableData,
                                                offset);
@@ -828,6 +730,7 @@
                                                EmptyOptional(),
                                                output->GetGuid(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -835,7 +738,7 @@
 
     // Validate inference data
     size = inferenceReadableBuffer->GetSize();
-    BOOST_CHECK(size == 1208 + 8 * ThreadIdSize);
+    BOOST_CHECK(size == 976 + 8 * ThreadIdSize);
 
     readableData = inferenceReadableBuffer->GetReadableData();
     BOOST_CHECK(readableData != nullptr);
@@ -843,7 +746,7 @@
     offset = 0;
 
     // Verify Header
-    VerifyTimelineHeaderBinary(readableData, offset, 1200 + 8 * ThreadIdSize);
+    VerifyTimelineHeaderBinary(readableData, offset, 968 + 8 * ThreadIdSize);
 
     // Inference timeline trace
     // Inference entity
@@ -854,13 +757,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                LabelsAndEventClasses::INFERENCE_GUID,
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -870,6 +766,7 @@
                                                EmptyOptional(),
                                                optNetGuid,
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -882,13 +779,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS,
                                                readableData,
                                                offset);
@@ -903,13 +793,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                LabelsAndEventClasses::WORKLOAD_EXECUTION_GUID,
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -919,6 +802,7 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -927,6 +811,7 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -939,13 +824,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS,
                                                readableData,
                                                offset);
@@ -959,13 +837,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS,
                                                readableData,
                                                offset);
@@ -979,13 +850,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                LabelsAndEventClasses::WORKLOAD_EXECUTION_GUID,
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -995,6 +859,7 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -1003,6 +868,7 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -1015,13 +881,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS,
                                                readableData,
                                                offset);
@@ -1035,13 +894,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS,
                                                readableData,
                                                offset);
@@ -1055,13 +907,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                LabelsAndEventClasses::WORKLOAD_EXECUTION_GUID,
-                                               readableData,
-                                               offset);
-
-    // Type label relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::TYPE_GUID,
                                                readableData,
                                                offset);
@@ -1071,6 +916,7 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -1079,6 +925,7 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
+                                               EmptyOptional(),
                                                readableData,
                                                offset);
 
@@ -1091,17 +938,11 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS,
                                                readableData,
                                                offset);
 
+
     // End of Normalize workload execution life
     // Event packet - timeline, threadId, eventGuid
     VerifyTimelineEventBinaryPacket(EmptyOptional(), EmptyOptional(), EmptyOptional(), readableData, offset);
@@ -1111,13 +952,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS,
                                                readableData,
                                                offset);
@@ -1131,13 +965,6 @@
                                                EmptyOptional(),
                                                EmptyOptional(),
                                                EmptyOptional(),
-                                               readableData,
-                                               offset);
-
-    // Event - event class relationship
-    VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
-                                               EmptyOptional(),
-                                               EmptyOptional(),
                                                LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS,
                                                readableData,
                                                offset);