Graham Dumpleton: Zero-code tracing with wrapture
It is less fine when the application is one you inherited and would rather not touch, when someone else owns the deployment, or when you simply do not want observation code living inside the thing being observed. The same setup can live in a file next to the project instead, with nothing in the program saying so.