Enhancements on wasm function execution time statistic (#2985)
Enhance the statistic of wasm function execution time, or the performance profiling feature: - Add os_time_thread_cputime_us() to get the cputime of a thread, and use it to calculate the execution time of a wasm function - Support the statistic of the children execution time of a function, and dump it in wasm_runtime_dump_perf_profiling - Expose two APIs: wasm_runtime_sum_wasm_exec_time wasm_runtime_get_wasm_func_exec_time And rename os_time_get_boot_microsecond to os_time_get_boot_us.
This commit is contained in:
@ -26,7 +26,7 @@ ocall_clock_nanosleep(int *p_ret, unsigned clock_id, int flags,
|
||||
const void *rem_buf, unsigned int rem_buf_size);
|
||||
|
||||
uint64
|
||||
os_time_get_boot_microsecond()
|
||||
os_time_get_boot_us()
|
||||
{
|
||||
#ifndef SGX_DISABLE_WASI
|
||||
struct timespec ts;
|
||||
@ -40,6 +40,21 @@ os_time_get_boot_microsecond()
|
||||
#endif
|
||||
}
|
||||
|
||||
uint64
|
||||
os_time_thread_cputime_us(void)
|
||||
{
|
||||
#ifndef SGX_DISABLE_WASI
|
||||
struct timespec ts;
|
||||
if (clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts) != 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return ((uint64)ts.tv_sec) * 1000 * 1000 + ((uint64)ts.tv_nsec) / 1000;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifndef SGX_DISABLE_WASI
|
||||
|
||||
int
|
||||
|
||||
Reference in New Issue
Block a user