NewRelic忽略了Jetty中的LongPolling

时间:2014-01-25 23:59:32

标签: java jetty long-polling newrelic cometd

我有一个在Jetty上运行的Java Web应用程序,它使用cometD连接到服务器以接收数据,如果服务器没有数据并重新连接,即25周后返回,即长轮询。

我使用NewRelic监控服务器的性能,但这些长轮询连接会使性能图发生偏差。

有没有办法告诉newrelic实际忽略服务器等待的时间,只显示服务器忙的实际时间?我知道在新的方面可能不可能做到这一点,但我认为可能有一些关于如何处理newrelic中的长轮询连接的最佳实践。

感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

CometD将长轮询发送到一个URL,该URL是附加了“/ connect”的基本CometD Servlet URL,请参阅documentation中的参数appendMessageTypeToURL

例如,如果您已将CometD Servlet映射到/cometd/*,则会将长轮询发送到/cometd/connect

我不知道NewRelic,但也许您可以过滤掉以*/connect结尾的请求,并收集有关其他请求的统计信息,现在不会因长轮询超时而产生偏差。

答案 1 :(得分:0)

您无法排除或忽略服务器等待的时间,只显示服务器忙碌的实际时间,但如果您不需要查看这些指标,则可以完全忽略该事务。 https://docs.newrelic.com/docs/java/java-agent-api本文档介绍了如何使用New Relics API忽略事务。