diff options
author | Rickard Green <[email protected]> | 2012-01-11 17:53:16 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2012-01-26 14:04:28 +0100 |
commit | d39e5702b224592bc79cc3ca122dcb0b59162d7f (patch) | |
tree | 26ad2d8a66b1984615f0b361e85e356fbc995b4f /erts/emulator/beam/erl_process.h | |
parent | a67091debf20c972dd7ce1a8379fee6673fbe571 (diff) | |
download | otp-d39e5702b224592bc79cc3ca122dcb0b59162d7f.tar.gz otp-d39e5702b224592bc79cc3ca122dcb0b59162d7f.tar.bz2 otp-d39e5702b224592bc79cc3ca122dcb0b59162d7f.zip |
Implement statistics(scheduler_wall_time)
Diffstat (limited to 'erts/emulator/beam/erl_process.h')
-rw-r--r-- | erts/emulator/beam/erl_process.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_process.h b/erts/emulator/beam/erl_process.h index a51b380bb0..173b7df69d 100644 --- a/erts/emulator/beam/erl_process.h +++ b/erts/emulator/beam/erl_process.h @@ -394,6 +394,16 @@ do { \ } while (0) typedef struct { + int enabled; + Uint64 start; + struct { + Uint64 total; + Uint64 start; + int currently; + } working; +} ErtsSchedWallTime; + +typedef struct { int sched_id; ErtsSchedulerData *esdp; ErtsSchedulerSleepInfo *ssi; @@ -457,6 +467,8 @@ struct ErtsSchedulerData_ { ErtsSchedAllocData alloc_data; + ErtsSchedWallTime sched_wall_time; + #ifdef ERTS_DO_VERIFY_UNUSED_TEMP_ALLOC erts_alloc_verify_func_t verify_unused_temp_alloc; Allctr_t *verify_unused_temp_alloc_data; @@ -1064,6 +1076,8 @@ void erts_late_init_process(void); void erts_early_init_scheduling(int); void erts_init_scheduling(int, int); +Eterm erts_sched_wall_time_request(Process *c_p, int set, int enable); + ErtsProcList *erts_proclist_create(Process *); void erts_proclist_destroy(ErtsProcList *); int erts_proclist_same(ErtsProcList *, Process *); |