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

Beyond top: Command-Line Monitoring on the JVM (ClojureRemote)

Beyond top: Command-Line Monitoring on the JVM (ClojureRemote)


Colin Jones

February 11, 2016


  1. Beyond top(1) Command-Line Monitoring on the JVM Colin Jones @trptcolin

    8th Light
  2. command-line tooling

  3. introspection & serviceability on the JVM

  4. war stories

  5. A long time ago in a startup far, far away…

  6. Things are going pretty well

  7. But strange things are afoot

  8. the server sometimes gets really slow

  9. the team has to manually restart the application server

  10. Pain, frustration, anger

  11. Just the facts

  12. sometimes, things get slow

  13. all requests seem to be affected

  14. the JVM stays up

  15. restart the JVM and everything is fine

  16. What could it be?

  17. Demo

  18. More facts!

  19. what application code was running

  20. constant full GCs

  21. what’s in the heap

  22. What could it be?

  23. None
  24. None
  25. Mystery solved!

  26. Now “just” fix it

  27. idea 1: eliminate the leak

  28. idea 2: eliminate the cache altogether?

  29. idea 3: delete the feature

  30. idea 4: re-think the problem

  31. So we’re good, for now…

  32. Lessons

  33. “it’s slow” could mean lots of things

  34. “high CPU” could mean lots of things

  35. collecting data is crucial in a crisis

  36. reproducing the issue helps me sleep at night

  37. The right tools for the job

  38. Other “right tools for the job”

  39. Learning more

  40. Books Books!

  41. operators are standing by!

  42. Thank you! Colin Jones @trptcolin