Your data. Anywhere you go.

New Relic for iOS or Android


Download on the App Store    Android App on Google play


New Relic Insights App for iOS


Download on the App Store


Learn more

Close icon

Seeing NettyDispatcher on APM Dashboard


#1

I’m using New Relic APM with Java Agent 3.41.0, Play Framework 2.6.2 with PlayNettyServer plugin. I keep seeing “NettyDispatcher” on the APM UI Dashboard transactions instead of the actual controller.

I know AkkaHTTP that comes with Play 2.6.2 isn’t currently supported so I’ve used NettyServer but I keep seeing the above problem. Is there a fix? Particular version of Netty I need to use?


#2

@adityad I’ve seen something like this before. Our Netty instrumentation is a different package from our Play instrumentation, but both can be hit in the same request. As I understand it, if we see an http request come through PlayNettyServer’s http dispatcher (NettyDispatcher), we start a web transaction at that point and name it NettyDispatcher. Later in that request, if we encounter another framework class that we recognize, say a Play Controller, we’ll rename the request based on that class and method.

However, since Play 2.6.2 is not yet supported, the second step may not be happening. So the requests remain grouped under the generic name.

If I’m right, we can confirm it with a set of logs. I’m going to open a support ticket on your behalf, so that we can troubleshoot this more in depth. I’ll send you a link to the support ticket momentarily.

The solution may be to use XML Instrumentation to identify the Play Controller methods or similar and break out each code path under its own name. I can also enter a feature request for out-of-the-box support for Play 2.6.2.


#3

@jlaughlin I would like to pick up that suggestion on feature request for Play 2.6. Right now it seems not possible to use NR AMP at all for applications running on Play 2.6. I am very much looking forward to have support for Play 2.6 (latest version 2.6.3) to monitor my own applications. A feature request and possibly a rough ETA would be much appreciated.

Btw, Play 2.6 support depends on Akka HTTP 10 support, see this thread: Feature Idea: Akka Http 10 Support


#4

It’s not possible to use it as a drop-in-and-run thing, but it is possible to use custom instrumentation, which is what I am doing to good effect.


#5

Oh that’s interesting. Thanks for the hint @david.pinn, I didn’t know about custom instrumentation. I will give it a try.


#6

Thank you for sharing that your custom instrumentation is doing the trick for you, @david.pinn!

@tobias.binna, let us know what you try and how it works out! :blush: