@@ -85,7 +85,7 @@ generate_stats_ets() -> %% sources, clients , routers , mainserver...
85
85
% % Starts the os_mon application if it is not already started.
86
86
% % This is necessary for monitoring system performance.
87
87
% % It also ensures that the sasl application is started, as os_mon depends on it.
88
- start_os_mon () -> % % TODO check that it works
88
+ start_os_mon () ->
89
89
% check if os_mon is already started
90
90
case application :which_applications () of
91
91
[{os_mon , _ , _ } | _ ] ->
@@ -97,31 +97,30 @@ start_os_mon() -> %% TODO check that it works
97
97
end ,
98
98
ok .
99
99
100
- generate_performance_stats_ets () -> % % sources, clients , routers , mainserver...
100
+ generate_performance_stats_ets () -> % % clients
101
+ start_os_mon (),
101
102
PerformanceStatsEts = ets :new (performance_stats_ets , [set , public ]),
102
103
ets :insert (PerformanceStatsEts , {average_time_training , 0 }),
103
104
ets :insert (PerformanceStatsEts , {average_time_prediction , 0 }),
104
105
ets :insert (PerformanceStatsEts , {average_cpu_all_cores_usage , 0 }),
105
106
ets :insert (PerformanceStatsEts , {average_cpu_all_cores_peak_usage , 0 }),
106
- ets :insert (PerformanceStatsEts , {average_cpu_core_0_usage , 0 }),
107
- ets :insert (PerformanceStatsEts , {average_cpu_core_1_usage , 0 }),
108
- ets :insert (PerformanceStatsEts , {average_cpu_core_2_usage , 0 }),
109
- ets :insert (PerformanceStatsEts , {average_cpu_core_3_usage , 0 }),
110
- ets :insert (PerformanceStatsEts , {average_cpu_core_4_usage , 0 }),
111
- ets :insert (PerformanceStatsEts , {average_cpu_core_5_usage , 0 }),
112
- ets :insert (PerformanceStatsEts , {average_cpu_core_6_usage , 0 }),
113
- ets :insert (PerformanceStatsEts , {average_cpu_core_7_usage , 0 }),
114
- ets :insert (PerformanceStatsEts , {average_cpu_core_8_usage , 0 }),
115
- ets :insert (PerformanceStatsEts , {average_cpu_core_9_usage , 0 }),
116
- ets :insert (PerformanceStatsEts , {average_cpu_core_10_usage , 0 }),
117
- ets :insert (PerformanceStatsEts , {average_cpu_core_11_usage , 0 }),
118
- ets :insert (PerformanceStatsEts , {average_cpu_core_12_usage , 0 }),
119
- ets :insert (PerformanceStatsEts , {average_cpu_core_13_usage , 0 }),
120
- ets :insert (PerformanceStatsEts , {average_cpu_core_14_usage , 0 }),
121
- ets :insert (PerformanceStatsEts , {average_cpu_core_15_usage , 0 }),
122
107
ets :insert (PerformanceStatsEts , {average_gpu_usage , 0 }),
123
108
ets :insert (PerformanceStatsEts , {average_gpu_memory_usage , 0 }),
124
109
ets :insert (PerformanceStatsEts , {average_memory_usage , 0 }),
110
+ ets :insert (PerformanceStatsEts , {average_memory_peak_usage , 0 }),
111
+
112
+ % cores usage
113
+ NumberOfCores = length (cpu_sup :util ([per_cpu ])),
114
+ ets :insert (PerformanceStatsEts , {num_of_cores , NumberOfCores }),
115
+ lists :foreach (fun (CoreIndex ) ->
116
+ KeyAvgStr = lists :flatten (io_lib :format (" average_cpu_core_~p _usage" , [CoreIndex ])),
117
+ KeyAvgAtom = list_to_atom (KeyAvgStr ),
118
+ ets :insert (PerformanceStatsEts , {KeyAvgAtom , 0 }),
119
+ KeyPeakStr = lists :flatten (io_lib :format (" peak_cpu_core_~p _usage" , [CoreIndex ])),
120
+ KeyPeakAtom = list_to_atom (KeyPeakStr ),
121
+ ets :insert (PerformanceStatsEts , {KeyPeakAtom , 0 })
122
+ end ,
123
+ lists :seq (0 , NumberOfCores )),
125
124
PerformanceStatsEts .
126
125
127
126
generate_workers_stats_ets () -> % % workers..
0 commit comments