def main(args): scheduler = Scheduler() libv_meta = LibvirtMetadata() try: libv_meta.load_libvirt_metadata() except Exception: pass cc = CustomCollector('Libvirt instance stats', helper_name='libvirt', libv_meta=libv_meta) REGISTRY.register(cc) start_http_server(args.port, addr=args.addr) scheduler.log('Exposing metrics at: http://{}:{}/metrics'.format( args.addr, args.port)) # Every 'wait_time' seconds scheduler.add_periodic_task(prom_stats, 'second', round=args.wait_time, args=(libv_meta, cc)) # Every 20 minutes scheduler.add_periodic_task(libv_meta.load_libvirt_metadata, 'minute', round=20) scheduler.run_concurrent(debug=args.debug)
def main(args): scheduler = Scheduler(max_workers=2) libv_meta = LibvirtMetadata() try: libv_meta.load_libvirt_metadata() except Exception: pass cc = CustomCollector('VirtFS instance stats', helper_name='virtfs', libv_meta=libv_meta) REGISTRY.register(cc) start_http_server(args.port, addr=args.addr) scheduler.log('Exposing metrics at: http://{}:{}/metrics'.format( args.addr, args.port)) # Every day at 5am periodic_delay = {'hours': 2, 'minutes': randrange(120)} scheduler.add_periodic_task(stats_disks, 'day', periodic_delay=periodic_delay, run_now=args.run_now, args=(libv_meta, cc)) # Every 20 minutes - included in pervolume rbd request # scheduler.add_periodic_task(libv_meta.load_libvirt_metadata, 'minute', round=20) scheduler.run_concurrent(debug=args.debug)