Skip to content

Commit 3f9d2a4

Browse files
committed
feat: support metric upload
1 parent 6ed365d commit 3f9d2a4

File tree

5 files changed

+149
-47
lines changed

5 files changed

+149
-47
lines changed

aiges/wrapper.h

Lines changed: 58 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,36 +12,41 @@ extern "C" {
1212
1. 自定义计量接口:wrapperMeterCustom
1313
2. 自定义日志接口:wrapperTraceLog
1414
*/
15-
int WrapperAPI wrapperSetCtrl(CtrlType type, void* func);
16-
typedef int (WrapperAPI *wrapperSetCtrlPtr)(CtrlType type, void* func);
15+
int WrapperAPI wrapperSetCtrl(CtrlType type, void *func);
16+
17+
typedef int (WrapperAPI *wrapperSetCtrlPtr)(CtrlType type, void *func);
1718

1819
/*
1920
wrapper服务层初始化
2021
@param cfg 服务层配置对
2122
*/
2223
int WrapperAPI wrapperInit(pConfig cfg);
24+
2325
typedef int (WrapperAPI *wrapperInitPtr)(pConfig cfg);
2426

2527
/*
2628
wrapper服务层逆初始化
2729
*/
2830
int WrapperAPI wrapperFini();
31+
2932
typedef int (WrapperAPI *wrapperFiniPtr)();
3033

3134
/*
3235
获取服务错误信息
3336
@param errNum 服务层异常错误码
3437
@return 错误码对应的错误描述信息
3538
*/
36-
const char* WrapperAPI wrapperError(int errNum);
37-
typedef const char* (WrapperAPI *wrapperErrorPtr)(int errNum);
39+
const char *WrapperAPI wrapperError(int errNum);
40+
41+
typedef const char *(WrapperAPI *wrapperErrorPtr)(int errNum);
3842

3943
/*
4044
获取服务版本信息
4145
@return 服务版本信息
4246
*/
43-
const char* WrapperAPI wrapperVersion();
44-
typedef const char* (WrapperAPI *wrapperVersionPtr)();
47+
const char *WrapperAPI wrapperVersion();
48+
49+
typedef const char *(WrapperAPI *wrapperVersionPtr)();
4550

4651

4752
/// 以下接口为会话模式请求调用接口;
@@ -57,6 +62,7 @@ typedef const char* (WrapperAPI *wrapperVersionPtr)();
5762
*/
5863

5964
int WrapperAPI wrapperLoadRes(pDataList perData, unsigned int resId);
65+
6066
typedef int (WrapperAPI *wrapperLoadResPtr)(pDataList perData, unsigned int resId);
6167

6268
/*
@@ -65,6 +71,7 @@ typedef int (WrapperAPI *wrapperLoadResPtr)(pDataList perData, unsigned int resI
6571
@return 接口错误码
6672
*/
6773
int WrapperAPI wrapperUnloadRes(unsigned int resId);
74+
6875
typedef int (WrapperAPI *wrapperUnloadResPtr)(unsigned int resId);
6976

7077
/*
@@ -74,7 +81,18 @@ typedef int (WrapperAPI *wrapperUnloadResPtr)(unsigned int resId);
7481
@return ret 异步返回值,异常则返回非0值.
7582
@note 无需集成方实现(框架实现),由集成方于请求数据计算完毕后调用;
7683
*/
77-
typedef int(*wrapperCallback)(const void* usrTag, pDataList respData, int ret);
84+
typedef int(*wrapperCallback)(const void *usrTag, pDataList respData, int ret);
85+
86+
/*
87+
自定义计量回调接口,开发者回调该接口用于记录相关自定义的计量信息
88+
@param usrTag 用于关联用户请求实例的tag,通过wrapperCreate/wrapperExec接口参数获取
89+
@param meterKey 自定义计量字段
90+
@param count 计量字段对应的计量值
91+
@return 接口错误码,成功则返回0
92+
@note 该接口调用需在会话周期内完成,即wrapperCreate-wrapperDestroy之间调用,或wrapperExec接口内完成调用
93+
*/
94+
typedef int(*wrapperMeterCustom)(const void *usrTag, const char *meterKey, int count);
95+
7896

7997
/*
8098
创建计算资源
@@ -87,17 +105,22 @@ typedef int(*wrapperCallback)(const void* usrTag, pDataList respData, int ret);
87105
@param errNum 接口错误码[in/out]
88106
@return 引擎服务实例句柄,用于关联上下文;
89107
*/
90-
const void* WrapperAPI wrapperCreate(const char* usrTag, pParamList params, wrapperCallback cb, unsigned int psrIds[], int psrCnt, int* errNum);
91-
typedef const void* (WrapperAPI *wrapperCreatePtr)(const char* usrTag, pParamList params, wrapperCallback cb, unsigned int psrIds[], int psrCnt, int* errNum);
108+
const void *
109+
WrapperAPI wrapperCreate(const char *usrTag, pParamList params, wrapperCallback cb, unsigned int psrIds[], int psrCnt,
110+
int *errNum);
111+
112+
typedef const void *(WrapperAPI *wrapperCreatePtr)(const char *usrTag, pParamList params, wrapperCallback cb,
113+
unsigned int psrIds[], int psrCnt, int *errNum);
92114

93115
/*
94116
写入计算数据
95117
@param handle 实例句柄,用于关联上下文;
96118
@param reqData 写入数据实体
97119
@return 接口错误码
98120
*/
99-
int WrapperAPI wrapperWrite(const void* handle, pDataList reqData);
100-
typedef int (WrapperAPI *wrapperWritePtr)(const void* handle, pDataList reqData);
121+
int WrapperAPI wrapperWrite(const void *handle, pDataList reqData);
122+
123+
typedef int (WrapperAPI *wrapperWritePtr)(const void *handle, pDataList reqData);
101124

102125
/*
103126
读取计算结果
@@ -106,15 +129,17 @@ typedef int (WrapperAPI *wrapperWritePtr)(const void* handle, pDataList reqData)
106129
@return 接口错误码
107130
@note respData内存由底层自行维护,在destroy阶段销毁
108131
*/
109-
int WrapperAPI wrapperRead(const void* handle, pDataList* respData);
110-
typedef int (WrapperAPI *wrapperReadPtr)(const void* handle, pDataList* respData);
132+
int WrapperAPI wrapperRead(const void *handle, pDataList *respData);
133+
134+
typedef int (WrapperAPI *wrapperReadPtr)(const void *handle, pDataList *respData);
111135

112136
/*
113137
释放计算资源
114138
@param handle 会话句柄,用于关联上下文;
115139
*/
116-
int WrapperAPI wrapperDestroy(const void* handle);
117-
typedef int (WrapperAPI *wrapperDestroyPtr)(const void* handle);
140+
int WrapperAPI wrapperDestroy(const void *handle);
141+
142+
typedef int (WrapperAPI *wrapperDestroyPtr)(const void *handle);
118143

119144

120145
/// 以下接口为非会话模式请求调用接口,对应引擎框架oneShot协议消息;
@@ -131,16 +156,21 @@ typedef int (WrapperAPI *wrapperDestroyPtr)(const void* handle);
131156
@return 接口错误码
132157
@note 同步操作接口, 需考虑上层并发调用可能
133158
*/
134-
int WrapperAPI wrapperExec(const char* usrTag, pParamList params, pDataList reqData, pDataList* respData, unsigned int psrIds[], int psrCnt);
135-
typedef int (WrapperAPI *wrapperExecPtr)(const char* usrTag, pParamList params, pDataList reqData, pDataList* respData, unsigned int psrIds[], int psrCnt);
159+
int WrapperAPI
160+
wrapperExec(const char *usrTag, pParamList params, pDataList reqData, pDataList *respData, unsigned int psrIds[],
161+
int psrCnt);
162+
163+
typedef int (WrapperAPI *wrapperExecPtr)(const char *usrTag, pParamList params, pDataList reqData, pDataList *respData,
164+
unsigned int psrIds[], int psrCnt);
136165

137166

138167
/*
139168
同步接口响应数据缓存释放接口
140169
@param respData 由同步接口exec获取的响应结果数据
141170
*/
142-
int WrapperAPI wrapperExecFree(const char* usrTag, pDataList* respData);
143-
typedef int (WrapperAPI *wrapperExecFreePtr)(const char* usrTag, pDataList* respData);
171+
int WrapperAPI wrapperExecFree(const char *usrTag, pDataList *respData);
172+
173+
typedef int (WrapperAPI *wrapperExecFreePtr)(const char *usrTag, pDataList *respData);
144174

145175
/*
146176
非会话模式计算接口,对应oneShot请求
@@ -150,16 +180,21 @@ typedef int (WrapperAPI *wrapperExecFreePtr)(const char* usrTag, pDataList* resp
150180
@param timeout 异步超时时间,集成方实现该超时控制,ms;
151181
@note 异步操作接口, 需考虑上层并发调用可能
152182
*/
153-
int WrapperAPI wrapperExecAsync(const char* usrTag, pParamList params, pDataList reqData, wrapperCallback callback, int timeout, unsigned int psrIds[], int psrCnt);
154-
typedef int (WrapperAPI *wrapperExecAsyncPtr)(const char* usrTag, pParamList params, pDataList reqData, wrapperCallback callback, int timeout, unsigned int psrIds[], int psrCnt);
183+
int WrapperAPI
184+
wrapperExecAsync(const char *usrTag, pParamList params, pDataList reqData, wrapperCallback callback, int timeout,
185+
unsigned int psrIds[], int psrCnt);
186+
187+
typedef int (WrapperAPI *wrapperExecAsyncPtr)(const char *usrTag, pParamList params, pDataList reqData,
188+
wrapperCallback callback, int timeout, unsigned int psrIds[], int psrCnt);
155189

156190
/*
157191
调试信息输出接口
158192
@return 会话调试信息;
159193
@note 单次会话destroy前调用一次;
160194
*/
161-
const char* WrapperAPI wrapperDebugInfo(const void* handle);
162-
typedef const char* (WrapperAPI *wrapperDebugInfoPtr)(const void* handle);
195+
const char *WrapperAPI wrapperDebugInfo(const void *handle);
196+
197+
typedef const char *(WrapperAPI *wrapperDebugInfoPtr)(const void *handle);
163198

164199

165200
#ifdef __cplusplus

include/aiges/wrapper.h

Lines changed: 58 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,36 +12,41 @@ extern "C" {
1212
1. 自定义计量接口:wrapperMeterCustom
1313
2. 自定义日志接口:wrapperTraceLog
1414
*/
15-
int WrapperAPI wrapperSetCtrl(CtrlType type, void* func);
16-
typedef int (WrapperAPI *wrapperSetCtrlPtr)(CtrlType type, void* func);
15+
int WrapperAPI wrapperSetCtrl(CtrlType type, void *func);
16+
17+
typedef int (WrapperAPI *wrapperSetCtrlPtr)(CtrlType type, void *func);
1718

1819
/*
1920
wrapper服务层初始化
2021
@param cfg 服务层配置对
2122
*/
2223
int WrapperAPI wrapperInit(pConfig cfg);
24+
2325
typedef int (WrapperAPI *wrapperInitPtr)(pConfig cfg);
2426

2527
/*
2628
wrapper服务层逆初始化
2729
*/
2830
int WrapperAPI wrapperFini();
31+
2932
typedef int (WrapperAPI *wrapperFiniPtr)();
3033

3134
/*
3235
获取服务错误信息
3336
@param errNum 服务层异常错误码
3437
@return 错误码对应的错误描述信息
3538
*/
36-
const char* WrapperAPI wrapperError(int errNum);
37-
typedef const char* (WrapperAPI *wrapperErrorPtr)(int errNum);
39+
const char *WrapperAPI wrapperError(int errNum);
40+
41+
typedef const char *(WrapperAPI *wrapperErrorPtr)(int errNum);
3842

3943
/*
4044
获取服务版本信息
4145
@return 服务版本信息
4246
*/
43-
const char* WrapperAPI wrapperVersion();
44-
typedef const char* (WrapperAPI *wrapperVersionPtr)();
47+
const char *WrapperAPI wrapperVersion();
48+
49+
typedef const char *(WrapperAPI *wrapperVersionPtr)();
4550

4651

4752
/// 以下接口为会话模式请求调用接口;
@@ -57,6 +62,7 @@ typedef const char* (WrapperAPI *wrapperVersionPtr)();
5762
*/
5863

5964
int WrapperAPI wrapperLoadRes(pDataList perData, unsigned int resId);
65+
6066
typedef int (WrapperAPI *wrapperLoadResPtr)(pDataList perData, unsigned int resId);
6167

6268
/*
@@ -65,6 +71,7 @@ typedef int (WrapperAPI *wrapperLoadResPtr)(pDataList perData, unsigned int resI
6571
@return 接口错误码
6672
*/
6773
int WrapperAPI wrapperUnloadRes(unsigned int resId);
74+
6875
typedef int (WrapperAPI *wrapperUnloadResPtr)(unsigned int resId);
6976

7077
/*
@@ -74,7 +81,18 @@ typedef int (WrapperAPI *wrapperUnloadResPtr)(unsigned int resId);
7481
@return ret 异步返回值,异常则返回非0值.
7582
@note 无需集成方实现(框架实现),由集成方于请求数据计算完毕后调用;
7683
*/
77-
typedef int(*wrapperCallback)(const void* usrTag, pDataList respData, int ret);
84+
typedef int(*wrapperCallback)(const void *usrTag, pDataList respData, int ret);
85+
86+
/*
87+
自定义计量回调接口,开发者回调该接口用于记录相关自定义的计量信息
88+
@param usrTag 用于关联用户请求实例的tag,通过wrapperCreate/wrapperExec接口参数获取
89+
@param meterKey 自定义计量字段
90+
@param count 计量字段对应的计量值
91+
@return 接口错误码,成功则返回0
92+
@note 该接口调用需在会话周期内完成,即wrapperCreate-wrapperDestroy之间调用,或wrapperExec接口内完成调用
93+
*/
94+
typedef int(*wrapperMeterCustom)(const void *usrTag, const char *meterKey, int count);
95+
7896

7997
/*
8098
创建计算资源
@@ -87,17 +105,22 @@ typedef int(*wrapperCallback)(const void* usrTag, pDataList respData, int ret);
87105
@param errNum 接口错误码[in/out]
88106
@return 引擎服务实例句柄,用于关联上下文;
89107
*/
90-
const void* WrapperAPI wrapperCreate(const char* usrTag, pParamList params, wrapperCallback cb, unsigned int psrIds[], int psrCnt, int* errNum);
91-
typedef const void* (WrapperAPI *wrapperCreatePtr)(const char* usrTag, pParamList params, wrapperCallback cb, unsigned int psrIds[], int psrCnt, int* errNum);
108+
const void *
109+
WrapperAPI wrapperCreate(const char *usrTag, pParamList params, wrapperCallback cb, unsigned int psrIds[], int psrCnt,
110+
int *errNum);
111+
112+
typedef const void *(WrapperAPI *wrapperCreatePtr)(const char *usrTag, pParamList params, wrapperCallback cb,
113+
unsigned int psrIds[], int psrCnt, int *errNum);
92114

93115
/*
94116
写入计算数据
95117
@param handle 实例句柄,用于关联上下文;
96118
@param reqData 写入数据实体
97119
@return 接口错误码
98120
*/
99-
int WrapperAPI wrapperWrite(const void* handle, pDataList reqData);
100-
typedef int (WrapperAPI *wrapperWritePtr)(const void* handle, pDataList reqData);
121+
int WrapperAPI wrapperWrite(const void *handle, pDataList reqData);
122+
123+
typedef int (WrapperAPI *wrapperWritePtr)(const void *handle, pDataList reqData);
101124

102125
/*
103126
读取计算结果
@@ -106,15 +129,17 @@ typedef int (WrapperAPI *wrapperWritePtr)(const void* handle, pDataList reqData)
106129
@return 接口错误码
107130
@note respData内存由底层自行维护,在destroy阶段销毁
108131
*/
109-
int WrapperAPI wrapperRead(const void* handle, pDataList* respData);
110-
typedef int (WrapperAPI *wrapperReadPtr)(const void* handle, pDataList* respData);
132+
int WrapperAPI wrapperRead(const void *handle, pDataList *respData);
133+
134+
typedef int (WrapperAPI *wrapperReadPtr)(const void *handle, pDataList *respData);
111135

112136
/*
113137
释放计算资源
114138
@param handle 会话句柄,用于关联上下文;
115139
*/
116-
int WrapperAPI wrapperDestroy(const void* handle);
117-
typedef int (WrapperAPI *wrapperDestroyPtr)(const void* handle);
140+
int WrapperAPI wrapperDestroy(const void *handle);
141+
142+
typedef int (WrapperAPI *wrapperDestroyPtr)(const void *handle);
118143

119144

120145
/// 以下接口为非会话模式请求调用接口,对应引擎框架oneShot协议消息;
@@ -131,16 +156,21 @@ typedef int (WrapperAPI *wrapperDestroyPtr)(const void* handle);
131156
@return 接口错误码
132157
@note 同步操作接口, 需考虑上层并发调用可能
133158
*/
134-
int WrapperAPI wrapperExec(const char* usrTag, pParamList params, pDataList reqData, pDataList* respData, unsigned int psrIds[], int psrCnt);
135-
typedef int (WrapperAPI *wrapperExecPtr)(const char* usrTag, pParamList params, pDataList reqData, pDataList* respData, unsigned int psrIds[], int psrCnt);
159+
int WrapperAPI
160+
wrapperExec(const char *usrTag, pParamList params, pDataList reqData, pDataList *respData, unsigned int psrIds[],
161+
int psrCnt);
162+
163+
typedef int (WrapperAPI *wrapperExecPtr)(const char *usrTag, pParamList params, pDataList reqData, pDataList *respData,
164+
unsigned int psrIds[], int psrCnt);
136165

137166

138167
/*
139168
同步接口响应数据缓存释放接口
140169
@param respData 由同步接口exec获取的响应结果数据
141170
*/
142-
int WrapperAPI wrapperExecFree(const char* usrTag, pDataList* respData);
143-
typedef int (WrapperAPI *wrapperExecFreePtr)(const char* usrTag, pDataList* respData);
171+
int WrapperAPI wrapperExecFree(const char *usrTag, pDataList *respData);
172+
173+
typedef int (WrapperAPI *wrapperExecFreePtr)(const char *usrTag, pDataList *respData);
144174

145175
/*
146176
非会话模式计算接口,对应oneShot请求
@@ -150,16 +180,21 @@ typedef int (WrapperAPI *wrapperExecFreePtr)(const char* usrTag, pDataList* resp
150180
@param timeout 异步超时时间,集成方实现该超时控制,ms;
151181
@note 异步操作接口, 需考虑上层并发调用可能
152182
*/
153-
int WrapperAPI wrapperExecAsync(const char* usrTag, pParamList params, pDataList reqData, wrapperCallback callback, int timeout, unsigned int psrIds[], int psrCnt);
154-
typedef int (WrapperAPI *wrapperExecAsyncPtr)(const char* usrTag, pParamList params, pDataList reqData, wrapperCallback callback, int timeout, unsigned int psrIds[], int psrCnt);
183+
int WrapperAPI
184+
wrapperExecAsync(const char *usrTag, pParamList params, pDataList reqData, wrapperCallback callback, int timeout,
185+
unsigned int psrIds[], int psrCnt);
186+
187+
typedef int (WrapperAPI *wrapperExecAsyncPtr)(const char *usrTag, pParamList params, pDataList reqData,
188+
wrapperCallback callback, int timeout, unsigned int psrIds[], int psrCnt);
155189

156190
/*
157191
调试信息输出接口
158192
@return 会话调试信息;
159193
@note 单次会话destroy前调用一次;
160194
*/
161-
const char* WrapperAPI wrapperDebugInfo(const void* handle);
162-
typedef const char* (WrapperAPI *wrapperDebugInfoPtr)(const void* handle);
195+
const char *WrapperAPI wrapperDebugInfo(const void *handle);
196+
197+
typedef const char *(WrapperAPI *wrapperDebugInfoPtr)(const void *handle);
163198

164199

165200
#ifdef __cplusplus

0 commit comments

Comments
 (0)