Skip to content

Instantly share code, notes, and snippets.

@mattjbarlow
Created December 20, 2013 20:21
Show Gist options
  • Save mattjbarlow/8060833 to your computer and use it in GitHub Desktop.
Save mattjbarlow/8060833 to your computer and use it in GitHub Desktop.
import subprocess
import statsd
import re
import argparse
parser = argparse.ArgumentParser(description='Send num processes to StatsD')
parser.add_argument('servername', metavar='S', type=str,
help='The server that is generating this process list.')
args = parser.parse_args()
ps = subprocess.Popen(('ps', 'aux'), stdout=subprocess.PIPE)
output = subprocess.check_output(('wc', '-l'), stdin=ps.stdout)
output = re.match(r'(?:^\s*)(\d.*$)', output).group(1)
c = statsd.StatsClient('<IP Address of StatsD Server>', 8126)
c.gauge('{}.processes'.format(args.servername), output)
print output
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment