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 "DllExport.hpp" 11 12 namespace arm 13 { 14 15 namespace pipe 16 { 17 18 class LabelsAndEventClasses 19 { 20 public: 21 // Labels (string value + GUID) 22 ARMNN_DLLEXPORT static std::string EMPTY_LABEL; 23 ARMNN_DLLEXPORT static std::string NAME_LABEL; 24 ARMNN_DLLEXPORT static std::string TYPE_LABEL; 25 ARMNN_DLLEXPORT static std::string INDEX_LABEL; 26 ARMNN_DLLEXPORT static std::string BACKENDID_LABEL; 27 ARMNN_DLLEXPORT static std::string CHILD_LABEL; 28 ARMNN_DLLEXPORT static std::string EXECUTION_OF_LABEL; 29 ARMNN_DLLEXPORT static std::string PROCESS_ID_LABEL; 30 ARMNN_DLLEXPORT static ProfilingStaticGuid EMPTY_GUID; 31 ARMNN_DLLEXPORT static ProfilingStaticGuid NAME_GUID; 32 ARMNN_DLLEXPORT static ProfilingStaticGuid TYPE_GUID; 33 ARMNN_DLLEXPORT static ProfilingStaticGuid INDEX_GUID; 34 ARMNN_DLLEXPORT static ProfilingStaticGuid BACKENDID_GUID; 35 ARMNN_DLLEXPORT static ProfilingStaticGuid CHILD_GUID; 36 ARMNN_DLLEXPORT static ProfilingStaticGuid EXECUTION_OF_GUID; 37 ARMNN_DLLEXPORT static ProfilingStaticGuid PROCESS_ID_GUID; 38 39 // Common types 40 ARMNN_DLLEXPORT static std::string LAYER; 41 ARMNN_DLLEXPORT static std::string WORKLOAD; 42 ARMNN_DLLEXPORT static std::string NETWORK; 43 ARMNN_DLLEXPORT static std::string CONNECTION; 44 ARMNN_DLLEXPORT static std::string INFERENCE; 45 ARMNN_DLLEXPORT static std::string WORKLOAD_EXECUTION; 46 ARMNN_DLLEXPORT static ProfilingStaticGuid LAYER_GUID; 47 ARMNN_DLLEXPORT static ProfilingStaticGuid WORKLOAD_GUID; 48 ARMNN_DLLEXPORT static ProfilingStaticGuid NETWORK_GUID; 49 ARMNN_DLLEXPORT static ProfilingStaticGuid CONNECTION_GUID; 50 ARMNN_DLLEXPORT static ProfilingStaticGuid INFERENCE_GUID; 51 ARMNN_DLLEXPORT static ProfilingStaticGuid WORKLOAD_EXECUTION_GUID; 52 53 // Event Class GUIDs 54 // Start of Life (SOL) 55 ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_SOL_EVENT_CLASS; 56 ARMNN_DLLEXPORT static std::string ARMNN_PROFILING_SOL_EVENT_CLASS_NAME; 57 ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_SOL_EVENT_CLASS_NAME_GUID; 58 // End of Life (EOL) 59 ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_EOL_EVENT_CLASS; 60 ARMNN_DLLEXPORT static std::string ARMNN_PROFILING_EOL_EVENT_CLASS_NAME; 61 ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_EOL_EVENT_CLASS_NAME_GUID; 62 63 private: 64 static ProfilingGuidGenerator m_GuidGenerator; 65 }; 66 67 } // namespace pipe 68 69 } // namespace arm 70