import logging import argparse import asyncio from prometheus_client import start_http_server from . import arkose_gauge logger = logging.getLogger(__name__) def main(): parser = argparse.ArgumentParser("arkose_prometheus") parser.add_argument("-p", "--port", type=int, default=9154) parser.add_argument( "-i", "--scrape-interval", type=int, default=180, help="Scrape interval, in seconds.", ) args = parser.parse_args() logging.basicConfig(level=logging.INFO) start_http_server(args.port) logger.info("Listening on port %d...", args.port) try: asyncio.run(arkose_gauge.scrape_metric_forever(interval=args.scrape_interval)) except KeyboardInterrupt: logger.info("Closing server (keyboard interrupt)") if __name__ == "__main__": main()