Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Instrumenting Application Stack in Dynamically Scaling Environment

Instrumenting Application Stack in Dynamically Scaling Environment

DMG212 AWS re:Invent 2013

Mike Fiedler

November 15, 2013
Tweet

More Decks by Mike Fiedler

Other Decks in Technology

Transcript

  1. Things that produce metrics business/service Services • applicatio n •

    OS • instances API-based • S3, S*S • RDS, RedShift • etc Users • RUM
  2. My Stack • HAProxy • Apache HTTP • Bottle.py –

    Custom python webapp • MongoDB • EC2 • Chef • Datadog • Users
  3. My App from bottle import route import pymongo import json

    db = pymongo.Connection('mongodb://localhost').test @route('/insert/:name') def insert(name): doc = {'name': name} db.words.update(doc, {"$inc":{"count": 1}}, upsert=True) return json.dumps(doc, default=default)
  4. Add 2 lines and you win! from bottle import route

    import pymongo import json from statsd import statsd db = pymongo.Connection('mongodb://localhost').test @route('/insert/:name') @statsd.increment('fullstack.insert') def insert(name): doc = {'name': name} db.words.update(doc, {"$inc":{"count": 1}}, upsert=True) return json.dumps(doc, default=default)
  5. We are sincerely eager to hear your feedback on this

    presentation and on re:Invent. Please fill out an evaluation form when you have a chance.