16 #include <nn/pia/clone/clone_Definitions.h>
17 #include <nn/pia/pia_Macros.h>
34 enum ProfileTargetType
36 ProfileTargetType_None = 0,
37 ProfileTargetType_CloneProtocol,
38 ProfileTargetType_Clone,
39 ProfileTargetType_CloneElement
42 enum ProfileTargetDirection
44 ProfileTargetDirection_None = 0,
45 ProfileTargetDirection_Send,
46 ProfileTargetDirection_Receive
54 void Trace(uint64_t flag)
const;
60 void Setup(ProfileTargetType type, ProfileTargetDirection direction);
64 bool IsProfileLatest()
const
66 return (m_LatestBufferSize > 0);
69 void ProfileByStationIndex(uint32_t dispatchCount,
StationIndex stationIndex, uint32_t size, uint32_t noCompressedSize,
bool isUnicast,
bool isResend,
bool isSystem);
70 void ProfileByStationBmp(uint32_t dispatchCount, uint32_t stationBmp, uint32_t size, uint32_t noCompressedSize,
bool isUnicast,
bool isResend,
bool isSystem);
72 bool IsNocompressedSupported()
const;
73 bool IsUnicastSupported()
const;
74 bool IsResendSupported()
const;
75 bool IsSystemSupported()
const;
77 uint32_t GetLatestCount(
StationIndex stationIndex, uint32_t dispatchCount)
const;
78 uint32_t GetLatestSize(
StationIndex stationIndex, uint32_t dispatchCount)
const;
79 uint32_t GetLatestNoCompressedSize(
StationIndex stationIndex, uint32_t dispatchCount)
const;
81 uint32_t GetLatestUnicastCount(
StationIndex stationIndex, uint32_t dispatchCount)
const;
82 uint32_t GetLatestUnicastSize(
StationIndex stationIndex, uint32_t dispatchCount)
const;
84 uint32_t GetLatestResendCount(
StationIndex stationIndex, uint32_t dispatchCount)
const;
85 uint32_t GetLatestResendSize(
StationIndex stationIndex, uint32_t dispatchCount)
const;
87 uint32_t GetLatestSystemCount(
StationIndex stationIndex, uint32_t dispatchCount)
const;
88 uint32_t GetLatestSystemSize(
StationIndex stationIndex, uint32_t dispatchCount)
const;
92 uint32_t GetTotalNoCompressedSize(
StationIndex stationIndex)
const;
94 uint32_t GetTotalUnicastCount(
StationIndex stationIndex)
const;
95 uint32_t GetTotalUnicastSize(
StationIndex stationIndex)
const;
97 uint32_t GetTotalResendCount(
StationIndex stationIndex)
const;
98 uint32_t GetTotalResendSize(
StationIndex stationIndex)
const;
100 uint32_t GetTotalSystemCount(
StationIndex stationIndex)
const;
101 uint32_t GetTotalSystemSize(
StationIndex stationIndex)
const;
106 CloneProfilerBase(uint32_t* paDispatchCount, uint8_t* paCount, uint16_t* paSize, uint16_t* paNoCompressedSize, uint8_t* paUnicastCount, uint16_t* paUnicastSize, uint8_t* paResendCount, uint16_t* paResendSize, uint8_t* paSystemCount, uint16_t* paSystemSize, uint16_t* paTotalCount, uint32_t* paTotalSize, uint32_t* paTotalNoCompressedSize, uint16_t* paTotalUnicastCount, uint32_t* paTotalUnicastSize, uint16_t* paTotalResendCount, uint32_t* paTotalResendSize, uint16_t* paTotalSystemCount, uint32_t* paTotalSystemSize, uint32_t stationNum, uint32_t latestBufferSize);
109 uint32_t GetBufferIdx(uint32_t stationIndex, uint32_t idx)
const
111 return stationIndex + idx * m_StationNum;
114 void AssignBuffer(uint32_t dispatchCount);
116 void AddProfileData(
StationIndex stationIndex, uint32_t size, uint32_t noCompressedSize,
bool isUnicast,
bool isResend,
bool isSystem);
118 template <
typename T>
119 uint32_t GetLatestData(
const T* dataBuffer,
StationIndex stationIndex, uint32_t dispatchCount)
const;
121 template <
typename T>
122 uint32_t GetTotalData(
const T* dataBuffer,
StationIndex stationIndex)
const;
125 ProfileTargetType m_ProfileTargetType;
126 ProfileTargetDirection m_ProfileTargetDirection;
129 uint32_t* m_paDispatchCount;
132 uint16_t* m_paNoCompressedSize;
134 uint8_t* m_paUnicastCount;
135 uint16_t* m_paUnicastSize;
137 uint8_t* m_paResendCount;
138 uint16_t* m_paResendSize;
140 uint8_t* m_paSystemCount;
141 uint16_t* m_paSystemSize;
144 uint16_t* m_paTotalCount;
145 uint32_t* m_paTotalSize;
146 uint32_t* m_paTotalNoCompressedSize;
148 uint16_t* m_paTotalUnicastCount;
149 uint32_t* m_paTotalUnicastSize;
151 uint16_t* m_paTotalResendCount;
152 uint32_t* m_paTotalResendSize;
154 uint16_t* m_paTotalSystemCount;
155 uint32_t* m_paTotalSystemSize;
158 uint32_t m_StationNum;
159 uint32_t m_LatestBufferSize;
161 uint32_t m_CurrentIdx;