4747#include "hwinfo.h"
4848#include "perf.h"
4949#include "report.h"
50+ #include "ticker.h"
5051#include "target.h"
5152#include "storage.h"
5253#include "storage_null.h"
@@ -139,7 +140,8 @@ main(int argc, char **argv)
139140 zactor_t * reporting = NULL ;
140141 zhashx_t * cgroups_running = NULL ; /* char *cgroup_name -> char *cgroup_absolute_path */
141142 zhashx_t * container_monitoring_actors = NULL ; /* char *actor_name -> zactor_t *actor */
142- zsock_t * ticker = NULL ;
143+ struct ticker_config * ticker_conf = NULL ;
144+ zactor_t * ticker = NULL ;
143145 struct target * system_target = NULL ;
144146 struct perf_config * system_monitor_config = NULL ;
145147 zactor_t * system_perf_monitor = NULL ;
@@ -258,8 +260,9 @@ main(int argc, char **argv)
258260 };
259261 reporting = zactor_new (reporting_actor , & reporting_conf );
260262
261- /* create ticker publisher socket */
262- ticker = zsock_new_pub ("inproc://ticker" );
263+ /* start ticker actor */
264+ ticker_conf = ticker_config_create (config -> sensor .perf_sampling_interval_ms );
265+ ticker = zactor_new (ticker_actor , ticker_conf );
263266
264267 /* start system monitoring actor only when needed */
265268 if (zhashx_size (config -> events .system )) {
@@ -277,24 +280,18 @@ main(int argc, char **argv)
277280 sync_cgroups_running_monitored (hwinfo , config -> events .containers , config -> sensor .cgroup_basepath , container_monitoring_actors );
278281 }
279282
280- /* send clock tick to monitoring actors */
281- zsock_send (ticker , "s8" , "CLOCK_TICK" , zclock_time ());
282-
283- zclock_sleep ((int )config -> sensor .frequency );
283+ zclock_sleep ((int )config -> sensor .cgroup_discovery_interval_ms );
284284 }
285285
286- /* clean storage module ressources */
287- storage_module_deinitialize (storage );
288-
289286 ret = 0 ;
290287
291288cleanup :
289+ zactor_destroy (& ticker );
292290 zhashx_destroy (& cgroups_running );
293291 zhashx_destroy (& container_monitoring_actors );
294292 zactor_destroy (& system_perf_monitor );
295293 zactor_destroy (& reporting );
296294 storage_module_destroy (storage );
297- zsock_destroy (& ticker );
298295 config_destroy (config );
299296 pmu_topology_destroy (sys_pmu_topology );
300297 pmu_deinitialize ();
0 commit comments