How do you build a AppDynamic or New Relic kind of system that collects performance metrics of your application including detailed call tree stats by merely installing a software on the servers where your application runs?
Is it even possible to collect such metrics without compiling your apps with debug information?
What are the performance trade offs to consider when building such a service? How do such software minimize the performance impact they themselves might be having on the application.