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

DIY Performance Tuning When All You Have is Python

DIY Performance Tuning When All You Have is Python

We wanted to know where our backend was spending its time and where we could make it faster. We knew it would take months to get an open source tool like Zipkin to work in our system, so we instead used our understanding of networking and Python to find a solution that met most of our needs with a fraction of the development time. In this talk, I'll show how we can learn to feel empowered to tackle big problems with a little bit of Python on our side.

Amy Nguyen

March 22, 2017
Tweet

More Decks by Amy Nguyen

Other Decks in Technology

Transcript

  1. DIY Performance Tuning When All You Have is Python Amy

    Nguyen @amyngyn amynguyen.net March 22, 2017
  2. Hi! I'm Amy. • Software engineer at Pinterest since 2015.

    • What I've been doing on Visibility Team: distributed tracing, writing a cache, a whole "D3 is everything" phase, a UX design overhaul of our internal tools • Find me on Twitter at @amyngyn!
  3. Does my function call this service? How much time is

    my function spending on calling each service?
  4. Does my function call this service? How much time is

    my function spending on calling each service? What functions do each of those backend services call?
  5. Why does my function take so long? Does my function

    call this service? How much time is my function spending on calling each service? What functions do each of those backend services call?
  6. Why does my function take so long? Does my function

    call this service? How much time is my function spending on calling each service? What functions do each of those backend services call? ? ? ? ? ?
  7. What if we could record (or trace) data about every

    network request going through our system and analyze the data?