Debugging (Varnish)

Debugging (Varnish)

An overview of some of the research done in the practice and pedagogy of debugging, as well as some examples of ways that Fastly has addressed issues with debugging Varnish "at scale". A video of this talk is available at https://www.infoq.com/fr/presentations/varnishcon-devon-odell-debugging

083a38739359a3cb689c5be4cd7a1985?s=128

Devon H. O'Dell

June 18, 2016
Tweet

Transcript

  1. Debugging (Varnish) Devon H. O’Dell | @dhobsd | Fastly |

    VarnishCon 2016
  2. Who am I? Tech Lead, Varnish PFID @ Fastly Personal

    interest in performance, debugging, concurrency, and introspection. Usually confused about something.
  3. None
  4. Why does debugging matter?

  5. The Root of the Problem

  6. “Everyone knows that debugging is twice as hard as writing

    a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?” (Brian Kernighan, TEOPS, 1974)
  7. None
  8. None
  9. None
  10. None
  11. None
  12. None
  13. None
  14. None
  15. None
  16. “The relationships between debugging success and individual factors … have

    not been researched… Given that debugging presents challenges for many novices, exploring the influence of self theories on student approaches to debugging appears worthwhile.”
  17. None
  18. None
  19. None
  20. None
  21. None
  22. sub vcl_recv { if (req.http.answer ~ “^42) { log “enlightened

    client”; } return vcl_fetch; }
  23. None
  24. None
  25. None
  26. None
  27. None
  28. None
  29. None
  30. None
  31. None
  32. Varnish Debugging Tools • varnishlog / varnishtop / varnishncsa /

    varnishreplay / varnishadm • vcl tracing • crash traces • gdb / lldb • perf / hwpmc
  33. None
  34. None
  35. None
  36. None
  37. locking_function : 25276 threads, 2 locations: cache_foo.c:220 (8); cache_foo.c:210 (25268)

  38. None
  39. None
  40. None
  41. Thank you! Devon H. O’Dell | https://9vx.org/ | @dhobsd |

    https://www.fastly.com