aboutsummaryrefslogtreecommitdiff
path: root/src/profiling/test/ProfilingTests.cpp
AgeCommit message (Collapse)Author
2021-08-05IVGCVSW-6258 'Unittest failures'Sadik Armagan
* Fixed unit test failures happening on threads. Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I2a6048f75ece4a9f4c2116306838ff55385aabe7
2021-06-11IVGCVSW-5963 'Move unit tests to new framework'Sadik Armagan
* Used doctest in ArmNN unit tests Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ia9cf5fc72775878885c5f864abf2c56b3a935f1a
2021-05-11IVGCVSW-6001 Fix CheckProfilingObjectUids test failing on Ubuntu 21.04Francis Murtagh
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: I68a9397db974c91d29d6c8a8f9b5f7e32950f141
2021-02-08IVGCVSW-4873 Implement Pimpl Idiom for IRuntimeKevin May
Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I52448938735b2aa678c47e0f3061c87fa0c693b1
2021-01-12IVGCVSW-5630 Unittest failure on mipsel/s390x/ppc64/powerpcFrancis Murtagh
* Use ECONNREFUSED #define instead for connection refused error no. * As error code on mips for example is 146 Change-Id: I2c725dc93ab8951d4f42a3ba51e747e01ced3a68 Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
2020-09-29IVGCVSW-5301 Remove all boost::numeric_cast from armnn/src/profilingMatthew Sloyan
* Replaced with armnn/utility/NumericCast.hpp Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I14e89c00cd1dd607315113d5b8ca56c2e9f6c363
2020-07-29IVGCVSW-5166 Pull out the common and server side code into standalone librariesJim Flynn
Change-Id: I180f84c493a9b2be4b93b25d312ebdd9e71b1735 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2020-06-17IVGCVSW-4900 Update Timeline Directory Message with new fieldsJim Flynn
Change-Id: I68097e176f7471a18498492b50339e68004dddd5 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2020-05-27Catch exceptions by const referencePavel Macenauer
Change-Id: I4b4d8ae419dfb8470e8937e75cd3bab85f03b935 Signed-off-by: Pavel Macenauer <pavel.macenauer@nxp.com>
2020-05-13IVGCVSW-4794 Change ArmNN counters to report delta valuesFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I7957ee41fd700ee502cc14aa313a60664d4caec9
2020-05-01Update the CounterDirectory Packet offsets to be relative to the start of ↵Finn Williams
the table containing that offset * IVGCVSW-4763 Update the event pointer table offsets * IVGCVSW-4764 Update the event record block offsets * IVGCVSW-4765 Update the device name offset * IVGCVSW-4766 Update the counter set name offset * IVGCVSW-4767 Update device pointer table offsets * IVGCVSW-4768 Update the counter set pointer table offsets * IVGCVSW-4769 Update the category pointer table offsets Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I6e815ae5b16478fc5ec760caf704451fe5f84a29
2020-04-30IVGCVSW-4760 Change the offsets in the counter directory body_header to be ↵Finn Williams
from the start of the packet body Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: Ie5ef5e410f3b06f1c80c7c5ea2057f5008cf09ed
2020-04-22IVGCVSW-4719 Remove possible zeros from SendStreamMetaDataPacket offsetsFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I8d7ee408c4c73be9b42bb739254b95c476e0e38c
2020-04-20IVGCVSW-4513 Remove boost/algorithm/string *David Monahan
* Removed split, classification, trim, string, join, contains * Added StringUtils.hpp to replace the removed Boost String functionality Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I8aa938dc3942cb65c512cccb2c069da66aa24668
2020-04-02IVGCVSW-4455 Add an Activate and Deactivate control packet to the protocolKeith Davis
* Add Activate/Deactivate command handlers * Add IReportStructure, INotifyBackends single function interfaces * Add overrided mechanism to report structure in Runtime.cpp * Add overrided mechanism to notify backends in ProfilingService.cpp * Add optional IReportStructure argument to ProfilingService constructor for use in ActivateTimelineReportingCommandHandler * Refactoring and tidying up indentation * Removal of unused code in ProfilingUtils.cpp and ProfilingService.cpp * Added GatordMock end to end test * Fixed an issue with SendCounterPacket sending duplicate packets * Fixed an issue with DirectoryCaptureCommandHandler handling of Optional Signed-off-by: Keith Davis <keith.davis@arm.com> Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I5ef1b74171459bfc649861dedf99921d22c9e63f
2020-03-26IVGCVSW-4526 Fix UnitTest errors when running on raspberry piJan Eilers
* The std::thread::id is included in some timeline packages of the profiler. But the size of thread::id is platform dependent. That's why some tests expected a wrong package size Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I4794ebbdda2d75ed5be7112f6a3bf2e5f14f221b
2020-03-19MLECO-755: ArmNN: Add file format external profiling optionIsabella Gottardi
* Added new m_FileFormat variable in ExternalProfilingOptions * Added new profiling option to ExecuteNetwork * Added check for file format in ProfilingConnectionFactory * Added test in profiling tests Change-Id: I0e9cb8ecac919dc0ed03dcf77324a65621f07ae7 Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
2020-03-18IVGCVSW-4463 Change ProfilingService to a member of runtime from a singletonSadik Armagan
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I345c39a10a4693a500aa1687d9a5cee76da791c3
2020-03-10IVGCVSW-4482 Remove boost::ignore_unusedJan Eilers
!referencetests:229377 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ia9b360b4a057fe7bbce5b268092627c09a0dba82
2020-03-04IVGCVSW-4163 Enhance the error handling in the ReadPacket functionSadik Armagan
* Introduced armnn::SocketConnectionException with fields error no and socket info. Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ideb85b00771864e332226635aeff3096fbea8e5f
2020-02-28IVGCVSW-4454 Remove the CounterSet and Device fields from CategorySadik Armagan
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I721f59cd1f6d068e02dabd62c42871a43be9d934
2020-02-17IVGCVSW-4320 Implement the bulk reporting of counter values from backendsSadik Armagan
* Implemented unit test for ReportCounters function in BackendProfiling Signed-off-by: Jim Flynn <jim.flynn@arm.com> Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Iec342a96060c8ef6090e6cc67bda8a7a3e890c50
2020-02-14IVGCVSW-4338 Implement the Activation of Counters in backendsFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I4a2465f06e046f78242ff0a246c651638b205498
2020-02-10IVGCVSW-4328 BufferManager running out of buffers crashes applicationSadik Armagan
* Refactored SendCounterPacket classes, separated SendCounterPacket from Send thread * Created ISendThread.hpp, IConsumer, SendThread.hpp and SendThread.cpp * Injected IConsumer to BufferManager to notify SendThread when packet is ready to read Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I80f0bb8b8401c6bfd1611f7760217c6fe35d7ad8
2020-02-10IVGCVSW-4319 Implement Counter Status QueryingJames Conroy
* Adds implementations for GetCounterStatus and GetActiveCounters. * Adds CheckCounterStatusQuery in ProfilingTests. * Modifies Holder and ProfilingService to open up access to CaptureData for use by BackendProfiling. Signed-off-by: James Conroy <james.conroy@arm.com> Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: Iec47952545c0072a71088b12ca3dc31673fa9c51
2020-02-03IVGCVSW-4393 Register backend countersJim Flynn
Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I419ecc2fce4b7e0fcaeb6d1f9cb687c0b660125d Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2020-01-30IVGCVSW-4391 Add Global/Backend Counter ID mapDavid Monahan
Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I943e02bc2026564e3a19d03e81ba75850d204497
2020-01-14IVGCVSW-4229 Fix Intermittent failures in ExternalProfilingFinn Williams
* Added a BufferManager.Reset() method to prevent packets being retained after a test * Fixed a bug causing the send thread to wait needlessly before moving to active state * Refactored SendCoundPacketTests and ProfilingTests test helper classes * Fixed issue where WaitForPacketSent could miss a notification and timeout Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I353a652260c2f7dd465baa9e979e22f50f3ca6a7
2019-12-31IVGCVSW-4246 Clean build profiling with -WextraDerek Lamberti
Change-Id: Ieab870fa2194075433a0a26abdb13f69e1fbaaae Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-12-13IVGCVSW-4178 Add code to increment the 3 ArmNN countersKeith Davis
* Increment at Runtime.cpp | BackendRegistry.cpp | LoadedNetwork.cpp * Update unit tests * UID generation is now handled by backends Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: Ifa53763409078c14839675206d8b260cdc36a8df
2019-12-04IVGCVSW-4223 Change PeriodicCounterCapture Packet Family to 3Jim Flynn
Change-Id: Ibc166c25d8d5fd09f407c0c697217a57b84d8cdc Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-11-29IVGCVSW-4118 Fix long unit test executionColm Donelan
* Reduced sleep_for timings * Removed duplicate SendStreamMetaDataPacket. * Modified SendCounterPacket::WaitForPacketSent to use wait_for * Modified SendCounterPacket::Send WaitingForAck to use wait_for * Added destructor to StreamRedirector. * Added method SendCounterPacketTests::HasWrittenData * Restructured many tests in ProfilingTests. Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I55c59cac6674ac40a1056a5302a997d5da9e9d91 Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
2019-11-15IVGCVSW-4129 Fix thread starvation due to low capture periodsColm Donelan
* Set default capture period to 10mSec. * Validate capture period in PeriodicCounterSelectionCommandHandler pull it up to 10mSec if it is lower. * Fix segmentation fault in GatordMock when receive thread closes. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I9f7ddc70bd99c102c5baef872d28329976a4dc07
2019-11-15IVGCVSW-4074 Send Timeline message in RequestCounterDirectoryCommandHandlerMatteo Martincigh
* Added call to SendTimelineMessageDirectoryPackage in the handler * Updated the unit tests accordingly * Refactored SendTimelinePacket to remove macro Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I7bb6f8575945b99a0e77ef30ecfe4dee3058669e
2019-11-15IVGCVSW-4073 Send stream info in the ConnectionAcknowledgedCommandHandlerMatteo Martincigh
* Added call to ISendTimelinePacket::SendStreamMetaDataPacket * Added call to ISendTimelinePacket::SendTimelineMessageDirectoryPackage * Added new StreamMetadataCommandHandler class to the mock Gatord service * Updated code and unit tests * Added include paths to the gatord mock target Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: Ic6d200b513175884607b7c0563cbfa4942ff2fc6
2019-11-06IVGCVSW-3444 File Only Profiling ConnectionKeith Davis
* Add FileOnlyProfilingConnection Decorator * Fix bug where Conn Ack not automatically sent back * Modify GatordMock to use the Counter Directory class. * Promote DirectoryCaptureCommandHandler from GatordMock into ArmNN. * Remove MockUtils as it's contents were moved or deleted. * Rewrite GatordMockTests to use Counter Directory class. * Flush streams in ProfilingConnectionDumpToFileDecorator::Close. Signed-off-by: Keith Davis <keith.davis@arm.com> Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I77b2aedece24150dd31691b577f3b5d81b2e226f
2019-10-18IVGCVSW-4005 Add PacketFamilyId to version resolverJim Flynn
Change-Id: Ief9373871438df4e1d353bbc545a3ee4f25c1fb0 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-10-18IVGCVSW-4002 Add FamilyId to CommandHandlerKeyJim Flynn
Change-Id: I0bb0bf77da2bcd7f4746078c4ccee9acc98638a7 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-10-15IVGCVSW-3939 Code refactoring and minor fixesMatteo Martincigh
* Fixed value masking in SendPeriodicCounterCapturePacket and updated the pertinent unit tests * Code refactoring and cleanup * Added extra comments to the ProfilingService stop/reset procedure Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: Ibaf2fede76e06d5b8ce7258a4820a60e5993559f
2019-10-15IVGCVSW-3948 Add Startup method to ProfilingJim Flynn
Change-Id: I591e84048775278bfc728e1b0c189ff4cf2d350b Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-10-15IVGCVSW-3984 Fix CheckPeriodicCounterCaptureThreadFinn Williams
* PerodicCounterCapture now sleeps instead of terminating when reading empty counter data * m_IsRunning is now set to false after the thread is joined and is no longer atomic * removed usages of find() (not thread safe) Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: Ie65d5a9a7e42a31653ec8eed064849355661ef56
2019-10-14IVGCVSW-3971 Implement the Per-Job Counter Selection command handlerMatteo Martincigh
* Added new PerJobCounterSelectionCommandHandler class * The new handler drops the incoming packet without altering the state of the profiling service * Added unit test Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I2b1bb803318a9e6c438391a0985893eb412e7787
2019-10-14IVGCVSW-3972 Implement the Disconnect functionalityJim Flynn
* Added Disconnect method to the ProfilingService class * Added unit test Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Signed-off-by: Jim Flynn <jim.flynn@arm.com> Change-Id: I5cc57abd3e1239cdf8afe21ee4883c1f73cd0e80
2019-10-11IVGCVSW-3964 Implement the Periodic Counter Selection command handlerMatteo Martincigh
* Improved the PeriodicCounterPacket class to handle errors properly * Improved the PeriodicCounterSelectionCommandHandler to handle invalid counter UIDs in the selection packet * Added the Periodic Counter Selection command handler to the ProfilingService class * Code refactoring and added comments * Added WaitForPacketSent method to the SendCounterPacket class to allow waiting for the packets to be sent (useful in the unit tests) * Added unit tests and updated the old ones accordingly * Fixed threading issues with a number of unit tests Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I271b7b0bfa801d88fe1725b934d24e30cd839ed7
2019-10-10IVGCVSW-3964 Change the type held by the Packet class to unsigned charMatteo Martincigh
* Updated the Packet class * Updated the pertinent code accordingly Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I73eab5b1ead67a610cd17fd33f8a74f764ad8cc4
2019-10-10IVGCVSW-3963 Implement the Request Counter Directory HandlerMatteo Martincigh
* Integrated the RequestCounterDirectoryCommandHandler in the ProfilingService class * Code refactoring * Added/Updated unit tests Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I60d9f8acf166e29b3dabc921dbdb8149461bd85f
2019-10-09IVGCVSW-3937 Improve the Connection Acknowledged HandlerMatteo Martincigh
* The Connection Acknowledged Handler should report an error is it's called while in a wrong state * Stopping the threads in the ProfilingService before having to start them again * Updated the unit tests to check the changes * Removed unnecessary Packet.cpp file * Fixed memory leak Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I8c4d33b4d97994df86fe6c9f8c659f880ec64c16
2019-10-08IVGCVSW-3937 Add the necessary components to the ProfilingService class toMatteo Martincigh
process a connection to an external profiling service (e.g. gatord) * Added the required components (CommandHandlerRegistry, CommandHandler, SendCounterPacket, ...) to the ProfilingService class * Reworked the ProfilingService::Run procedure and renamed it to Update * Handling all states but Active in the Run method (future work) * Updated the unit and tests accordingly * Added component tests to check that the Connection Acknowledged packet is handled correctly * Added test util classes, made the default constructor/destructor protected to superclass a ProfilingService object * Added IProfilingConnectionFactory interface Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I010d94b18980c9e6394253f4b2bbe4fe5bb3fe4f
2019-10-08IVGCVSW-3937 Update the Send thread to send out the Metadata packetMatteo Martincigh
* The Send thread now automatically sends out Stream Metadata packets when the Profiling Service is in WaitingForAck state * Added a reference to the profiling state in the SendCounterPacket class * Moving the RuntimeException thrown in the Send thread to the main thread for rethrowing * The Stop method now rethrows the exception occurred in the send thread * The Stop method does not rethrow when destructing the object * Added unit tests Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: Ice7080bff63199eac84fc4fa1d37fb1a6fcdff89
2019-10-08IVGCVSW-3937 Refactor and improve the CommandHandleRegistry classMatteo Martincigh
* Added simplified RegisterFunctor method * Code refactoring * Updated the unit tests accordingly Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: Iee941d898facd9c1ab5366e87c611c99a0468830