view file-count/file_count.py @ 46:d62f4755a7d0

a teeny metrics server
author drewp@bigasterisk.com
date Wed, 14 Feb 2024 19:44:30 -0800
parents
children
line wrap: on
line source

import http.server
import socketserver
import os
import sys

interface, port, dir, metric_name = sys.argv[1:]


class Web(http.server.SimpleHTTPRequestHandler):

    def do_GET(self):
        files_count = len(os.listdir(dir))
        self.send_response(200)
        self.send_header('Content-type', 'text/plain')
        self.end_headers()
        self.wfile.write(f'{metric_name} {files_count}'.encode())


with socketserver.TCPServer((interface, int(port)), Web) as httpd:
    httpd.serve_forever()