Skip to content

Instantly share code, notes, and snippets.

@navidurrahman
Last active January 5, 2016 10:48
Show Gist options
  • Save navidurrahman/4a43ec5ee6946987799a to your computer and use it in GitHub Desktop.
Save navidurrahman/4a43ec5ee6946987799a to your computer and use it in GitHub Desktop.
Docker stats with python server
import http.server
import socketserver
import requests_unixsocket
from contextlib import closing
PORT = 8082
class MyHandler(http.server.BaseHTTPRequestHandler):
def get_stats(self):
data = ""
session = requests_unixsocket.Session()
r = session.get('http+unix://%2Fvar%2Frun%2Fdocker.sock/containers/6fd069833380/stats', stream=False)
for line in r.iter_lines():
data = line
break
return data
def do_GET(self):
stats = self.get_stats()
self.send_response(200)
self.send_header("Content-type", "text/html")
self.end_headers()
self.wfile.write(stats)
try:
server = http.server.HTTPServer(('', PORT), MyHandler)
print('Started http server')
server.serve_forever()
except KeyboardInterrupt:
print('^C received, shutting down server')
server.socket.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment