Highly depends on the language or framework. I used to use NewRelic APM with Go and it required additional code to instrument.
All languages I have used in production require manual instrumentation. For that tracing and logging both work well in my experience.