Skip to content

Commit 5e7d3ed

Browse files
authored
Add APIs into wasm_c_api.h to summary wasm function execution duration (#3639)
- `wasm_instance_sum_wasm_exec_time()` -> `wasm_runtime_sum_wasm_exec_time()` - `wasm_instance_get_wasm_func_exec_time()` -> `wasm_runtime_get_wasm_func_exec_time()`
1 parent b086d58 commit 5e7d3ed

2 files changed

Lines changed: 26 additions & 0 deletions

File tree

core/iwasm/common/wasm_c_api.c

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5379,3 +5379,24 @@ wasm_extern_new_empty(wasm_store_t *store, wasm_externkind_t extern_kind)
53795379
LOG_ERROR("Don't support linking table and memory for now");
53805380
return NULL;
53815381
}
5382+
5383+
double
5384+
wasm_instance_sum_wasm_exec_time(const wasm_instance_t *instance)
5385+
{
5386+
#if WASM_ENABLE_PERF_PROFILING != 0
5387+
return wasm_runtime_sum_wasm_exec_time(instance->inst_comm_rt);
5388+
#else
5389+
return -1.0;
5390+
#endif
5391+
}
5392+
5393+
double
5394+
wasm_instance_get_wasm_func_exec_time(const wasm_instance_t *instance,
5395+
const char *name)
5396+
{
5397+
#if WASM_ENABLE_PERF_PROFILING != 0
5398+
return wasm_runtime_get_wasm_func_exec_time(instance->inst_comm_rt, name);
5399+
#else
5400+
return -1.0;
5401+
#endif
5402+
}

core/iwasm/include/wasm_c_api.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,11 @@ WASM_API_EXTERN own wasm_instance_t* wasm_instance_new_with_args_ex(
691691

692692
WASM_API_EXTERN void wasm_instance_exports(const wasm_instance_t*, own wasm_extern_vec_t* out);
693693

694+
// Return total wasm functions' execution time in ms
695+
WASM_API_EXTERN double wasm_instance_sum_wasm_exec_time(const wasm_instance_t*);
696+
// Return execution time in ms of a given wasm function with
697+
// func_name. If the function is not found, return 0.
698+
WASM_API_EXTERN double wasm_instance_get_wasm_func_exec_time(const wasm_instance_t*, const char *);
694699

695700
///////////////////////////////////////////////////////////////////////////////
696701
// Convenience

0 commit comments

Comments
 (0)