[ SRE_ARENA ]
APPLICATION PERFORMANCE MONITORING

APM: Magic Injections and Massive Bills.

Visualization: 1. Code-Level Visibility (Why APM?)
DOWNLOADING CONCEPT: 1. CODE-LEVEL VISIBILITY (WHY APM?)...
  • ↳Metrics tell you *that* a system is failing.
  • ↳Logs tell you *what* error was thrown.
  • ↳But when a specific API endpoint is inexplicably taking 4 seconds to respond, and the database looks perfectly healthy, neither metrics nor logs can easily tell you *why*.
Application Performance Monitoring (APM)
  • ↳bridges this gap.
  • ↳APM tools give you code-level visibility.
  • ↳Instead of guessing, you open the APM dashboard and look at a Flame Graph that visually proves: 'The request took 4 seconds because the JSON serialization library on line 42 burned 3.8 seconds of CPU time'.
  • ↳It points you directly to the offending line of code.
▲ LIVE INCIDENTThe APM dashboard shows a method processData() taking 4 seconds, but there are no database calls or HTTP requests inside it.
sre@arena:~/apm
sre@arena:~$ jstack <PID> > thread_dump.txt && grep -A 10 "processData" thread_dump.txt