Performance Tracing in GraphQL

Talks about performance

  • "How my app isn't janky anymore"
  • "10 awesome performance hacks"

Talks about performance

  • "Use GraphQL and Relay / Apollo to load only what you need"
  • "Prefetch your components and their data before they load to get better performance"

Too little talks about

  • "Our #perf optimization had an impact on our customers and this is the way we measured"
  • "This premature optimization had a bad impact on our customers with older phones and this is how we noticed"

Why do we measure?

  • Ship the fastest product possible
  • Real world performance data
    • User type
    • Devices
    • Usage Path
  • Gain confidence that optimizations
    actually improve the performance

What we want to see?

What we want to see?

Text

Text

root span

span

service

Opentracing

  • Standard
  • Very precise
    and clear API
  • No Implementation

Zipkin.js

  • Not Opentracing compatible
  • Lots of integrations and tooling for servers and clients

docker run -p 9411:9411 openzipkin/zipkin

  • Opentracing implementation with Zipkin.js

jaeger by uber

TL;DR

  • Zipkin: awesome tool to get performance insights
  • Opentracing: standards are nice
  • Integrating Tracing in your App is not that hard

Why I think this is useful

  • Backing (or disagreeing) with performance tips based on data is nice
  • Adding Tracing on a few key parts helps to understand a lot of behaviour
  • Better collaboration with backend-oriented team members

Thank you for your time ❤️

Performance Monitoring with GraphQL

By Daniel Schmidt

Performance Monitoring with GraphQL

My slides for the React (Native) Kiel Meetup cluster: http://dschmidt-elasticl-fd2zhbuwddvg-1378370977.us-west-2.elb.amazonaws.com

  • 788