1 // 2 // Copyright © 2019 Arm Ltd and Contributors. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #pragma once 7 8 #include "ProfilingGuidGenerator.hpp" 9 10 #include <armnn/Types.hpp> 11 #include <DllExport.hpp> 12 13 namespace armnn 14 { 15 16 namespace profiling 17 { 18 19 class LabelsAndEventClasses 20 { 21 public: 22 // Labels (string value + GUID) 23 ARMNN_DLLEXPORT static std::string EMPTY_LABEL; 24 ARMNN_DLLEXPORT static std::string NAME_LABEL; 25 ARMNN_DLLEXPORT static std::string TYPE_LABEL; 26 ARMNN_DLLEXPORT static std::string INDEX_LABEL; 27 ARMNN_DLLEXPORT static std::string BACKENDID_LABEL; 28 ARMNN_DLLEXPORT static std::string CHILD_LABEL; 29 ARMNN_DLLEXPORT static std::string EXECUTION_OF_LABEL; 30 ARMNN_DLLEXPORT static std::string PROCESS_ID_LABEL; 31 ARMNN_DLLEXPORT static ProfilingStaticGuid EMPTY_GUID; 32 ARMNN_DLLEXPORT static ProfilingStaticGuid NAME_GUID; 33 ARMNN_DLLEXPORT static ProfilingStaticGuid TYPE_GUID; 34 ARMNN_DLLEXPORT static ProfilingStaticGuid INDEX_GUID; 35 ARMNN_DLLEXPORT static ProfilingStaticGuid BACKENDID_GUID; 36 ARMNN_DLLEXPORT static ProfilingStaticGuid CHILD_GUID; 37 ARMNN_DLLEXPORT static ProfilingStaticGuid EXECUTION_OF_GUID; 38 ARMNN_DLLEXPORT static ProfilingStaticGuid PROCESS_ID_GUID; 39 40 // Common types 41 ARMNN_DLLEXPORT static std::string LAYER; 42 ARMNN_DLLEXPORT static std::string WORKLOAD; 43 ARMNN_DLLEXPORT static std::string NETWORK; 44 ARMNN_DLLEXPORT static std::string CONNECTION; 45 ARMNN_DLLEXPORT static std::string INFERENCE; 46 ARMNN_DLLEXPORT static std::string WORKLOAD_EXECUTION; 47 ARMNN_DLLEXPORT static ProfilingStaticGuid LAYER_GUID; 48 ARMNN_DLLEXPORT static ProfilingStaticGuid WORKLOAD_GUID; 49 ARMNN_DLLEXPORT static ProfilingStaticGuid NETWORK_GUID; 50 ARMNN_DLLEXPORT static ProfilingStaticGuid CONNECTION_GUID; 51 ARMNN_DLLEXPORT static ProfilingStaticGuid INFERENCE_GUID; 52 ARMNN_DLLEXPORT static ProfilingStaticGuid WORKLOAD_EXECUTION_GUID; 53 54 // Event Class GUIDs 55 // Start of Life (SOL) 56 ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_SOL_EVENT_CLASS; 57 ARMNN_DLLEXPORT static std::string ARMNN_PROFILING_SOL_EVENT_CLASS_NAME; 58 ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_SOL_EVENT_CLASS_NAME_GUID; 59 // End of Life (EOL) 60 ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_EOL_EVENT_CLASS; 61 ARMNN_DLLEXPORT static std::string ARMNN_PROFILING_EOL_EVENT_CLASS_NAME; 62 ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_EOL_EVENT_CLASS_NAME_GUID; 63 64 private: 65 static ProfilingGuidGenerator m_GuidGenerator; 66 }; 67 68 } // namespace profiling 69 70 } // namespace armnn 71