Skip to content

Instantly share code, notes, and snippets.

@king724
Created September 7, 2018 17:51
Show Gist options
  • Save king724/4fa923a757ccd3ea5c1d8860ccf6ee3c to your computer and use it in GitHub Desktop.
Save king724/4fa923a757ccd3ea5c1d8860ccf6ee3c to your computer and use it in GitHub Desktop.

Revisions

  1. king724 created this gist Sep 7, 2018.
    23 changes: 23 additions & 0 deletions metrics.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,23 @@
    import time
    import sys
    import os
    from flask import request
    import statsd

    statsd_host = os.getenv('STATSD_UDP_HOST', 'localhost')
    statsd_port = os.getenv('STATSD_UDP_PORT', 8125)

    c = statsd.StatsClient(statsd_host, statsd_port, prefix='testapp')

    def start_timer():
    request.start_time = time.time()

    def stop_timer(response):
    resp_time = time.time() - request.start_time
    sys.stderr.write("Response time: %ssn" % resp_time)
    c.timing('response.latency', float(resp_time))
    return response

    def setup_metrics(app):
    app.before_request(start_timer)
    app.after_request(stop_timer)