import os
import logging

STATS_DIR = os.path.join(os.path.dirname(__file__), "..", "..", "stats")

def update_stat(name, value):
    try:
        os.mkdir(STATS_DIR)
    except OSError:
        pass

    base_filename = os.path.join(STATS_DIR, name)
    tmp_filename = base_filename + ".new"

    try:
        with file(tmp_filename, "w") as stat_file:
            stat_file.write("%s\n" % (str(value),))

        os.rename(tmp_filename, base_filename)
    except (OSError, IOError) as e:
        logging.info("Could not update statistic '%s': %s" % (name, e))

Add simple function for outputting statistics for use with munin
Add simple function for outputting statistics for use with munin

Eventually we will want to replace this with statsd.

(imported from commit 64246e9f2d13d72f53d009a5e3e456bc6be6296b)
