aboutsummaryrefslogtreecommitdiff
path: root/src/profiling/test
diff options
context:
space:
mode:
authorFinn Williams <Finn.Williams@arm.com>2020-05-11 15:39:58 +0100
committerJim Flynn <jim.flynn@arm.com>2020-05-24 15:20:27 +0000
commit0a336dce464a822bbd9563b5dc021a37c6671515 (patch)
tree1c00ba9bc68eb8f9decf7aeafa38ddbf376b4617 /src/profiling/test
parent6feca6cc9bce5a4d2092c7b99a278f2c7a8e606f (diff)
downloadarmnn-0a336dce464a822bbd9563b5dc021a37c6671515.tar.gz
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
Diffstat (limited to 'src/profiling/test')
-rw-r--r--src/profiling/test/ProfilingTestUtils.cpp329
-rw-r--r--src/profiling/test/ProfilingTestUtils.hpp1
-rw-r--r--src/profiling/test/TimelinePacketTests.cpp45
-rw-r--r--src/profiling/test/TimelineUtilityMethodsTests.cpp61
4 files changed, 117 insertions, 319 deletions
diff --git a/src/profiling/test/ProfilingTestUtils.cpp b/src/profiling/test/ProfilingTestUtils.cpp
index 73dbf881b3..ff256047be 100644
--- a/src/profiling/test/ProfilingTestUtils.cpp
+++ b/src/profiling/test/ProfilingTestUtils.cpp
@@ -57,21 +57,21 @@ void VerifyTimelineHeaderBinary(const unsigned char* readableData,
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 @@ void VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType relati
Optional<ProfilingGuid> relationshipGuid,
Optional<ProfilingGuid> headGuid,
Optional<ProfilingGuid> tailGuid,
+ Optional<ProfilingGuid> attributeGuid,
const unsigned char* readableData,
unsigned int& offset)
{
@@ -217,6 +218,18 @@ void VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType relati
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
unsigned int offset = 0;
// Verify Header
- VerifyTimelineHeaderBinary(readableData, offset, 1548);
+ VerifyTimelineHeaderBinary(readableData, offset, 1236);
// Post-optimisation network
// Network entity
@@ -415,13 +428,6 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
optNetGuid,
EmptyOptional(),
- readableData,
- offset);
-
- // Type label relationship
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::TYPE_GUID,
readableData,
offset);
@@ -438,38 +444,31 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
conv2d->GetGuid(),
EmptyOptional(),
- readableData,
- offset);
-
- // Name label relationship
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::NAME_GUID,
readableData,
offset);
@@ -501,22 +493,17 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
input->GetGuid(),
conv2d->GetGuid(),
+ EmptyOptional(),
readableData,
offset);
@@ -533,17 +521,12 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
activation->GetGuid(),
EmptyOptional(),
- readableData,
- offset);
-
- // Name label relationship
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::NAME_GUID,
readableData,
offset);
@@ -619,13 +584,6 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
activation->GetGuid(),
EmptyOptional(),
- readableData,
- offset);
-
- // Type label relationship
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::TYPE_GUID,
readableData,
offset);
@@ -635,6 +593,7 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
optNetGuid,
activation->GetGuid(),
+ EmptyOptional(),
readableData,
offset);
@@ -643,6 +602,7 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
conv2d->GetGuid(),
activation->GetGuid(),
+ EmptyOptional(),
readableData,
offset);
@@ -651,13 +611,6 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
LabelsAndEventClasses::CONNECTION_GUID,
- readableData,
- offset);
-
- // Type label relationship
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::TYPE_GUID,
readableData,
offset);
@@ -671,13 +624,6 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
- readableData,
- offset);
-
- // Type label relationship
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::TYPE_GUID,
readableData,
offset);
@@ -690,13 +636,6 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
- readableData,
- offset);
-
- // BackendId label relationship
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::BACKENDID_GUID,
readableData,
offset);
@@ -706,6 +645,7 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
activation->GetGuid(),
EmptyOptional(),
+ EmptyOptional(),
readableData,
offset);
@@ -721,13 +661,6 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
output->GetGuid(),
EmptyOptional(),
- readableData,
- offset);
-
- // Name label relationship
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::NAME_GUID,
readableData,
offset);
@@ -737,13 +670,6 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
output->GetGuid(),
EmptyOptional(),
- readableData,
- offset);
-
- // Type label relationship
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::TYPE_GUID,
readableData,
offset);
@@ -753,6 +679,7 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
optNetGuid,
output->GetGuid(),
+ EmptyOptional(),
readableData,
offset);
@@ -761,6 +688,7 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
activation->GetGuid(),
output->GetGuid(),
+ EmptyOptional(),
readableData,
offset);
@@ -769,13 +697,6 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
LabelsAndEventClasses::CONNECTION_GUID,
- readableData,
- offset);
-
- // Type label relationship
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::TYPE_GUID,
readableData,
offset);
@@ -812,7 +733,7 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
// 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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
offset = 0;
// Verify Header
- VerifyTimelineHeaderBinary(readableData, offset, 196);
+ VerifyTimelineHeaderBinary(readableData, offset, 156);
// Input workload
// Input workload entity
@@ -831,13 +752,6 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
- readableData,
- offset);
-
- // Type label relationship
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::TYPE_GUID,
readableData,
offset);
@@ -850,13 +764,6 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
- readableData,
- offset);
-
- // BackendId label relationship
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::BACKENDID_GUID,
readableData,
offset);
@@ -866,6 +773,7 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
input->GetGuid(),
EmptyOptional(),
+ EmptyOptional(),
readableData,
offset);
@@ -873,7 +781,7 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
// 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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
offset = 0;
// Verify Header
- VerifyTimelineHeaderBinary(readableData, offset, 196);
+ VerifyTimelineHeaderBinary(readableData, offset, 156);
// Output workload
// Output workload entity
@@ -892,13 +800,6 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
- readableData,
- offset);
-
- // Type label relationship
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::TYPE_GUID,
readableData,
offset);
@@ -911,13 +812,6 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
- readableData,
- offset);
-
- // BackendId label relationship
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::BACKENDID_GUID,
readableData,
offset);
@@ -927,6 +821,7 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
output->GetGuid(),
EmptyOptional(),
+ EmptyOptional(),
readableData,
offset);
@@ -935,7 +830,7 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
// 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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
LabelsAndEventClasses::INFERENCE_GUID,
- readableData,
- offset);
-
- // Type label relationship
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::TYPE_GUID,
readableData,
offset);
@@ -970,6 +858,7 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
optNetGuid,
EmptyOptional(),
+ EmptyOptional(),
readableData,
offset);
@@ -982,13 +871,6 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
+ EmptyOptional(),
readableData,
offset);
@@ -1027,6 +903,7 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
+ EmptyOptional(),
readableData,
offset);
@@ -1039,13 +916,6 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
+ EmptyOptional(),
readableData,
offset);
@@ -1103,6 +960,7 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
+ EmptyOptional(),
readableData,
offset);
@@ -1115,13 +973,6 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
+ EmptyOptional(),
readableData,
offset);
@@ -1179,6 +1017,7 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
+ EmptyOptional(),
readableData,
offset);
@@ -1191,13 +1030,6 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
+ EmptyOptional(),
readableData,
offset);
@@ -1255,6 +1074,7 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
+ EmptyOptional(),
readableData,
offset);
@@ -1267,13 +1087,6 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
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 @@ void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
- readableData,
- offset);
-
- // Event - event class relationship
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS,
readableData,
offset);
diff --git a/src/profiling/test/ProfilingTestUtils.hpp b/src/profiling/test/ProfilingTestUtils.hpp
index 428ffa22e3..7e4f399eba 100644
--- a/src/profiling/test/ProfilingTestUtils.hpp
+++ b/src/profiling/test/ProfilingTestUtils.hpp
@@ -40,6 +40,7 @@ void VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType relati
Optional<ProfilingGuid> relationshipGuid,
Optional<ProfilingGuid> headGuid,
Optional<ProfilingGuid> tailGuid,
+ Optional<ProfilingGuid> attributeGuid,
const unsigned char* readableData,
unsigned int& offset);
diff --git a/src/profiling/test/TimelinePacketTests.cpp b/src/profiling/test/TimelinePacketTests.cpp
index e57ed2a652..8cce520da2 100644
--- a/src/profiling/test/TimelinePacketTests.cpp
+++ b/src/profiling/test/TimelinePacketTests.cpp
@@ -122,11 +122,13 @@ BOOST_AUTO_TEST_CASE(TimelineRelationshipPacketNullBufferTest)
const uint64_t relationshipGuid = 123456u;
const uint64_t headGuid = 234567u;
const uint64_t tailGuid = 345678u;
+ const uint64_t attributeGuid = 876345u;
unsigned int numberOfBytesWritten = 789u;
TimelinePacketStatus result = WriteTimelineRelationshipBinary(relationshipType,
relationshipGuid,
headGuid,
tailGuid,
+ attributeGuid,
nullptr,
512u,
numberOfBytesWritten);
@@ -142,11 +144,13 @@ BOOST_AUTO_TEST_CASE(TimelineRelationshipPacketZeroBufferSizeTest)
const uint64_t relationshipGuid = 123456u;
const uint64_t headGuid = 234567u;
const uint64_t tailGuid = 345678u;
+ const uint64_t attributeGuid = 876345u;
unsigned int numberOfBytesWritten = 789u;
TimelinePacketStatus result = WriteTimelineRelationshipBinary(relationshipType,
relationshipGuid,
headGuid,
tailGuid,
+ attributeGuid,
buffer.data(),
0,
numberOfBytesWritten);
@@ -162,12 +166,14 @@ BOOST_AUTO_TEST_CASE(TimelineRelationshipPacketSmallBufferSizeTest)
const uint64_t relationshipGuid = 123456u;
const uint64_t headGuid = 234567u;
const uint64_t tailGuid = 345678u;
+ const uint64_t attributeGuid = 876345u;
unsigned int numberOfBytesWritten = 789u;
TimelinePacketStatus result =
WriteTimelineRelationshipBinary(relationshipType,
relationshipGuid,
headGuid,
tailGuid,
+ attributeGuid,
buffer.data(),
boost::numeric_cast<unsigned int>(buffer.size()),
numberOfBytesWritten);
@@ -182,12 +188,15 @@ BOOST_AUTO_TEST_CASE(TimelineRelationshipPacketInvalidRelationTest)
const uint64_t relationshipGuid = 123456u;
const uint64_t headGuid = 234567u;
const uint64_t tailGuid = 345678u;
+ const uint64_t attributeGuid = 876345u;
+
unsigned int numberOfBytesWritten = 789u;
BOOST_CHECK_THROW(WriteTimelineRelationshipBinary(relationshipType,
relationshipGuid,
headGuid,
tailGuid,
+ attributeGuid,
buffer.data(),
boost::numeric_cast<unsigned int>(buffer.size()),
numberOfBytesWritten),
@@ -204,17 +213,19 @@ BOOST_AUTO_TEST_CASE(TimelineRelationshipPacketTestDataConstruction)
const uint64_t relationshipGuid = 123456u;
const uint64_t headGuid = 234567u;
const uint64_t tailGuid = 345678u;
+ const uint64_t attributeGuid = 876345u;
unsigned int numberOfBytesWritten = 789u;
TimelinePacketStatus result =
WriteTimelineRelationshipBinary(relationshipType,
relationshipGuid,
headGuid,
tailGuid,
+ attributeGuid,
buffer.data(),
boost::numeric_cast<unsigned int>(buffer.size()),
numberOfBytesWritten);
BOOST_CHECK(result == TimelinePacketStatus::Ok);
- BOOST_CHECK(numberOfBytesWritten == 32);
+ BOOST_CHECK(numberOfBytesWritten == 40);
unsigned int uint32_t_size = sizeof(uint32_t);
unsigned int uint64_t_size = sizeof(uint64_t);
@@ -244,6 +255,11 @@ BOOST_AUTO_TEST_CASE(TimelineRelationshipPacketTestDataConstruction)
offset += uint64_t_size;
uint64_t readTailGuid = ReadUint64(buffer.data(), offset);
BOOST_CHECK(readTailGuid == tailGuid);
+
+ // Check the attribute GUID
+ offset += uint64_t_size;
+ uint64_t readAttributeGuid = ReadUint64(buffer.data(), offset);
+ BOOST_CHECK(readAttributeGuid == attributeGuid);
}
BOOST_AUTO_TEST_CASE(TimelineRelationshipPacketExecutionLinkTestDataConstruction)
@@ -254,17 +270,19 @@ BOOST_AUTO_TEST_CASE(TimelineRelationshipPacketExecutionLinkTestDataConstruction
const uint64_t relationshipGuid = 123456u;
const uint64_t headGuid = 234567u;
const uint64_t tailGuid = 345678u;
+ const uint64_t attributeGuid = 876345u;
unsigned int numberOfBytesWritten = 789u;
TimelinePacketStatus result =
WriteTimelineRelationshipBinary(relationshipType,
relationshipGuid,
headGuid,
tailGuid,
+ attributeGuid,
buffer.data(),
boost::numeric_cast<unsigned int>(buffer.size()),
numberOfBytesWritten);
BOOST_CHECK(result == TimelinePacketStatus::Ok);
- BOOST_CHECK(numberOfBytesWritten == 32);
+ BOOST_CHECK(numberOfBytesWritten == 40);
unsigned int uint32_t_size = sizeof(uint32_t);
unsigned int uint64_t_size = sizeof(uint64_t);
@@ -292,6 +310,11 @@ BOOST_AUTO_TEST_CASE(TimelineRelationshipPacketExecutionLinkTestDataConstruction
offset += uint64_t_size;
uint64_t readTailGuid = ReadUint64(buffer.data(), offset);
BOOST_CHECK(readTailGuid == tailGuid);
+
+ // Check the attribute GUID
+ offset += uint64_t_size;
+ uint64_t readAttributeGuid = ReadUint64(buffer.data(), offset);
+ BOOST_CHECK(readAttributeGuid == attributeGuid);
}
@@ -303,17 +326,19 @@ BOOST_AUTO_TEST_CASE(TimelineRelationshipPacketDataLinkTestDataConstruction)
const uint64_t relationshipGuid = 123456u;
const uint64_t headGuid = 234567u;
const uint64_t tailGuid = 345678u;
+ const uint64_t attributeGuid = 876345u;
unsigned int numberOfBytesWritten = 789u;
TimelinePacketStatus result =
WriteTimelineRelationshipBinary(relationshipType,
relationshipGuid,
headGuid,
tailGuid,
+ attributeGuid,
buffer.data(),
boost::numeric_cast<unsigned int>(buffer.size()),
numberOfBytesWritten);
BOOST_CHECK(result == TimelinePacketStatus::Ok);
- BOOST_CHECK(numberOfBytesWritten == 32);
+ BOOST_CHECK(numberOfBytesWritten == 40);
unsigned int uint32_t_size = sizeof(uint32_t);
unsigned int uint64_t_size = sizeof(uint64_t);
@@ -341,6 +366,11 @@ BOOST_AUTO_TEST_CASE(TimelineRelationshipPacketDataLinkTestDataConstruction)
offset += uint64_t_size;
uint64_t readTailGuid = ReadUint64(buffer.data(), offset);
BOOST_CHECK(readTailGuid == tailGuid);
+
+ // Check the attribute GUID
+ offset += uint64_t_size;
+ uint64_t readAttributeGuid = ReadUint64(buffer.data(), offset);
+ BOOST_CHECK(readAttributeGuid == attributeGuid);
}
@@ -352,17 +382,19 @@ BOOST_AUTO_TEST_CASE(TimelineRelationshipPacketLabelLinkTestDataConstruction)
const uint64_t relationshipGuid = 123456u;
const uint64_t headGuid = 234567u;
const uint64_t tailGuid = 345678u;
+ const uint64_t attributeGuid = 876345u;
unsigned int numberOfBytesWritten = 789u;
TimelinePacketStatus result =
WriteTimelineRelationshipBinary(relationshipType,
relationshipGuid,
headGuid,
tailGuid,
+ attributeGuid,
buffer.data(),
boost::numeric_cast<unsigned int>(buffer.size()),
numberOfBytesWritten);
BOOST_CHECK(result == TimelinePacketStatus::Ok);
- BOOST_CHECK(numberOfBytesWritten == 32);
+ BOOST_CHECK(numberOfBytesWritten == 40);
unsigned int uint32_t_size = sizeof(uint32_t);
unsigned int uint64_t_size = sizeof(uint64_t);
@@ -391,6 +423,11 @@ BOOST_AUTO_TEST_CASE(TimelineRelationshipPacketLabelLinkTestDataConstruction)
offset += uint64_t_size;
uint64_t readTailGuid = ReadUint64(buffer.data(), offset);
BOOST_CHECK(readTailGuid == tailGuid);
+
+ // Check the attribute GUID
+ offset += uint64_t_size;
+ uint64_t readAttributeGuid = ReadUint64(buffer.data(), offset);
+ BOOST_CHECK(readAttributeGuid == attributeGuid);
}
BOOST_AUTO_TEST_CASE(TimelineMessageDirectoryPacketTestNoBuffer)
diff --git a/src/profiling/test/TimelineUtilityMethodsTests.cpp b/src/profiling/test/TimelineUtilityMethodsTests.cpp
index 388d38acc4..8fd8c369f4 100644
--- a/src/profiling/test/TimelineUtilityMethodsTests.cpp
+++ b/src/profiling/test/TimelineUtilityMethodsTests.cpp
@@ -44,7 +44,7 @@ BOOST_AUTO_TEST_CASE(CreateTypedLabelTest)
auto readableBuffer = mockBufferManager.GetReadableBuffer();
BOOST_CHECK(readableBuffer != nullptr);
unsigned int size = readableBuffer->GetSize();
- BOOST_CHECK(size == 100);
+ BOOST_CHECK(size == 76);
const unsigned char* readableData = readableBuffer->GetReadableData();
BOOST_CHECK(readableData != nullptr);
@@ -52,7 +52,7 @@ BOOST_AUTO_TEST_CASE(CreateTypedLabelTest)
unsigned int offset = 0;
// Verify Header
- VerifyTimelineHeaderBinary(readableData, offset, 92);
+ VerifyTimelineHeaderBinary(readableData, offset, 68);
// First dataset sent: TimelineLabelBinaryPacket
VerifyTimelineLabelBinaryPacketData(EmptyOptional(), entityName, readableData, offset);
@@ -62,13 +62,6 @@ BOOST_AUTO_TEST_CASE(CreateTypedLabelTest)
EmptyOptional(),
entityGuid,
EmptyOptional(),
- readableData,
- offset);
-
- // Third dataset sent: TimelineRelationshipBinaryPacket
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
labelTypeGuid,
readableData,
offset);
@@ -210,7 +203,7 @@ BOOST_AUTO_TEST_CASE(CreateNamedTypedChildEntityTest)
auto readableBuffer = mockBufferManager.GetReadableBuffer();
BOOST_CHECK(readableBuffer != nullptr);
unsigned int size = readableBuffer->GetSize();
- BOOST_CHECK(size == 236);
+ BOOST_CHECK(size == 196);
const unsigned char* readableData = readableBuffer->GetReadableData();
BOOST_CHECK(readableData != nullptr);
@@ -218,7 +211,7 @@ BOOST_AUTO_TEST_CASE(CreateNamedTypedChildEntityTest)
unsigned int offset = 0;
// Verify Header
- VerifyTimelineHeaderBinary(readableData, offset, 228);
+ VerifyTimelineHeaderBinary(readableData, offset, 188);
// First dataset sent: TimelineEntityBinaryPacket
VerifyTimelineEntityBinaryPacketData(EmptyOptional(), readableData, offset);
@@ -231,13 +224,6 @@ BOOST_AUTO_TEST_CASE(CreateNamedTypedChildEntityTest)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
- readableData,
- offset);
-
- // Fourth dataset sent: TimelineRelationshipBinaryPacket
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::NAME_GUID,
readableData,
offset);
@@ -250,22 +236,17 @@ BOOST_AUTO_TEST_CASE(CreateNamedTypedChildEntityTest)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
- readableData,
- offset);
-
- // Seventh dataset sent: TimelineRelationshipBinaryPacket
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::TYPE_GUID,
readableData,
offset);
+
// Eighth dataset sent: TimelineRelationshipBinaryPacket
VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::RetentionLink,
EmptyOptional(),
parentEntityGuid,
EmptyOptional(),
+ EmptyOptional(),
readableData,
offset);
@@ -350,7 +331,7 @@ BOOST_AUTO_TEST_CASE(CreateNameTypeEntityTest)
auto readableBuffer = mockBufferManager.GetReadableBuffer();
BOOST_CHECK(readableBuffer != nullptr);
unsigned int size = readableBuffer->GetSize();
- BOOST_CHECK(size == 196);
+ BOOST_CHECK(size == 148);
const unsigned char* readableData = readableBuffer->GetReadableData();
BOOST_CHECK(readableData != nullptr);
@@ -358,7 +339,7 @@ BOOST_AUTO_TEST_CASE(CreateNameTypeEntityTest)
unsigned int offset = 0;
// Verify Header
- VerifyTimelineHeaderBinary(readableData, offset, 188);
+ VerifyTimelineHeaderBinary(readableData, offset, 140);
// First dataset sent: TimelineEntityBinaryPacket
VerifyTimelineEntityBinaryPacketData(guid, readableData, offset);
@@ -372,13 +353,6 @@ BOOST_AUTO_TEST_CASE(CreateNameTypeEntityTest)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
- readableData,
- offset);
-
- // Third dataset sent: TimelineRelationshipBinaryPacket
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::NAME_GUID,
readableData,
offset);
@@ -392,17 +366,11 @@ BOOST_AUTO_TEST_CASE(CreateNameTypeEntityTest)
EmptyOptional(),
EmptyOptional(),
EmptyOptional(),
- readableData,
- offset);
-
- // Third dataset sent: TimelineRelationshipBinaryPacket
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::LabelLink,
- EmptyOptional(),
- EmptyOptional(),
LabelsAndEventClasses::TYPE_GUID,
readableData,
offset);
+
// Mark the buffer as read
mockBufferManager.MarkRead(readableBuffer);
}
@@ -430,7 +398,7 @@ BOOST_AUTO_TEST_CASE(RecordEventTest)
BOOST_CHECK(readableBuffer != nullptr);
unsigned int size = readableBuffer->GetSize();
- BOOST_CHECK(size == 92 + ThreadIdSize);
+ BOOST_CHECK(size == 68 + ThreadIdSize);
const unsigned char* readableData = readableBuffer->GetReadableData();
BOOST_CHECK(readableData != nullptr);
@@ -439,7 +407,7 @@ BOOST_AUTO_TEST_CASE(RecordEventTest)
unsigned int offset = 0;
// Verify Header
- VerifyTimelineHeaderBinary(readableData, offset, 84 + ThreadIdSize);
+ VerifyTimelineHeaderBinary(readableData, offset, 60 + ThreadIdSize);
// First dataset sent: TimelineEntityBinaryPacket
VerifyTimelineEventBinaryPacket(EmptyOptional(), EmptyOptional(), EmptyOptional(), readableData, offset);
@@ -448,13 +416,6 @@ BOOST_AUTO_TEST_CASE(RecordEventTest)
VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::ExecutionLink,
EmptyOptional(),
entityGuid,
- EmptyOptional(),
- readableData,
- offset);
-
- // Third dataset sent: TimelineRelationshipBinaryPacket
- VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType::DataLink,
- EmptyOptional(),
eventGuid,
eventClassGuid,
readableData,