You’ve noticed one of your transactions takes much longer than expected so you start clicking to see if you can find out what is going on but as you drill down you hit a wall. It might look something like this:
(Image from https://docs.newrelic.com/docs/apm/transactions/transaction-traces/transaction-traces-trace-details-page#options)
You may notice the blue circle containing a question mark like this
If you hover your cursor over the blue circle, you’ll see a message like this:
What does this mean?
The agent includes out-of-the-box instrumentation for common frameworks and technologies listed https://docs.newrelic.com/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent but there are so many options out there that it’s not feasible to include every Java technology. In some frameworks there are different ways of making calls using wrappers, workers and such. In situations like described here, the agent just can’t see beyond the point of the “Application code” and it needs help. (See also: Relic Solution: "Supported" Technologies and Instrumentation)
What do I do about it?
The agent can be extended using Custom Instrumentation. We have information in our documentation at https://docs.newrelic.com/docs/agents/java-agent/custom-instrumentation and tips from the experts at Relic Solution: How to Custom Instrument Nearly Any Java Framework
If you run into a blocker or have questions, Support is available to help!