blob: b06b9a148888e7a7c163739c1f503a0f03dbf8ba [file] [log] [blame]
Jim Flynnab845752019-10-25 13:17:30 +01001//
Jim Flynn6398a982020-05-27 17:05:21 +01002// Copyright © 2019 Arm Ltd and Contributors. All rights reserved.
Jim Flynnab845752019-10-25 13:17:30 +01003// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Jim Flynnab845752019-10-25 13:17:30 +01008#include "ProfilingGuidGenerator.hpp"
9
janeil01c4946c72019-11-07 09:32:28 +000010#include <armnn/Types.hpp>
Rob Hughesa91479c2020-01-07 09:40:12 +000011#include <DllExport.hpp>
janeil01c4946c72019-11-07 09:32:28 +000012
Jim Flynnab845752019-10-25 13:17:30 +010013namespace armnn
14{
15
16namespace profiling
17{
18
19class LabelsAndEventClasses
20{
21public:
22 // Labels (string value + GUID)
Finn Williams0a336dc2020-05-11 15:39:58 +010023 ARMNN_DLLEXPORT static std::string EMPTY_LABEL;
Rob Hughesa91479c2020-01-07 09:40:12 +000024 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;
Jim Flynn6398a982020-05-27 17:05:21 +010028 ARMNN_DLLEXPORT static std::string CHILD_LABEL;
29 ARMNN_DLLEXPORT static std::string EXECUTION_OF_LABEL;
Jim Flynnf7713212020-07-14 09:50:59 +010030 ARMNN_DLLEXPORT static std::string PROCESS_ID_LABEL;
Finn Williams0a336dc2020-05-11 15:39:58 +010031 ARMNN_DLLEXPORT static ProfilingStaticGuid EMPTY_GUID;
Rob Hughesa91479c2020-01-07 09:40:12 +000032 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;
Jim Flynn6398a982020-05-27 17:05:21 +010036 ARMNN_DLLEXPORT static ProfilingStaticGuid CHILD_GUID;
37 ARMNN_DLLEXPORT static ProfilingStaticGuid EXECUTION_OF_GUID;
Jim Flynnf7713212020-07-14 09:50:59 +010038 ARMNN_DLLEXPORT static ProfilingStaticGuid PROCESS_ID_GUID;
Narumol Prangnawaratdf31cfe2019-11-22 11:26:06 +000039
40 // Common types
Rob Hughesa91479c2020-01-07 09:40:12 +000041 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;
Jim Flynnab845752019-10-25 13:17:30 +010053
54 // Event Class GUIDs
Jim Flynn1892d212020-05-26 21:10:49 +010055 // Start of Life (SOL)
Rob Hughesa91479c2020-01-07 09:40:12 +000056 ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_SOL_EVENT_CLASS;
Jim Flynn1892d212020-05-26 21:10:49 +010057 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)
Rob Hughesa91479c2020-01-07 09:40:12 +000060 ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_EOL_EVENT_CLASS;
Jim Flynn1892d212020-05-26 21:10:49 +010061 ARMNN_DLLEXPORT static std::string ARMNN_PROFILING_EOL_EVENT_CLASS_NAME;
62 ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_EOL_EVENT_CLASS_NAME_GUID;
Jim Flynnab845752019-10-25 13:17:30 +010063
64private:
65 static ProfilingGuidGenerator m_GuidGenerator;
66};
67
68} // namespace profiling
69
70} // namespace armnn