我有一个在Jetty上运行的Java Web应用程序,它使用cometD连接到服务器以接收数据,如果服务器没有数据并重新连接,即25周后返回,即长轮询。
我使用NewRelic监控服务器的性能,但这些长轮询连接会使性能图发生偏差。
有没有办法告诉newrelic实际忽略服务器等待的时间,只显示服务器忙的实际时间?我知道在新的方面可能不可能做到这一点,但我认为可能有一些关于如何处理newrelic中的长轮询连接的最佳实践。
感谢任何帮助!
答案 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忽略事务。