Clojure 可以查询Jetty服务器的统计信息吗?

Clojure 可以查询Jetty服务器的统计信息吗?,clojure,jetty,Clojure,Jetty,我希望发送统计数据,如jetty服务器处理的请求数、队列中等待的请求数等。我希望定期将其作为计数发送给我的statsd代理,以便能够在Grafana上绘制它。但是我在服务器类上找不到公开这些指标的公共API。 我猜还有其他人已经在做了。我想知道是否有一种标准的方法以编程方式获取这些指标?如果您使用spring boot actuator,它应该已经从jetty的http连接线程池中收集了指标,spring boot用于计量的测微计已经提供了一个。我相信它会手动设置jetty的http连接池,以便

我希望发送统计数据,如jetty服务器处理的请求数、队列中等待的请求数等。我希望定期将其作为计数发送给我的statsd代理,以便能够在Grafana上绘制它。但是我在
服务器
类上找不到公开这些指标的公共API。

我猜还有其他人已经在做了。我想知道是否有一种标准的方法以编程方式获取这些指标?

如果您使用spring boot actuator,它应该已经从jetty的http连接线程池中收集了指标,spring boot用于计量的测微计已经提供了一个。我相信它会手动设置jetty的http连接池,以便它已经公开了所有相关的指标

否则,您必须“手动”实现此功能:

一种可能的实现是在设置jetty服务器时使用JMX公开连接线程池统计信息

根据jetty的使用方式,JMX服务器的设置方式可能有所不同。但总的来说,我发现这谈论的是jetty的监控池


然后您可以从JMX MBean读取这些值,并与stats.d代理集成。这种整合的一种可能方式可能是。免责声明:我从未亲自使用过它,所以不能对此置之不理。

Jetty提供了一个收集和公开统计数据的API-。处理程序可以通过JMX公开度量,但它没有与StatsD的内置集成


为了手动将其与StatsD集成,您可以使用java StatsD客户机之一,例如。例如,您可以安排一项任务,从统计处理程序读取数据,并使用上述库将数据发送给StatsD代理。

不幸的是,我没有使用springboot:(我正在使用带有Clojureedited标记的jetty server来表示clojureAh,好吧,在这种情况下,我的答案的第二部分可能是相关的?很好!这个处理程序的路径是什么?我在哪里可以了解它?@Ashwin,如果你点击答案中的StatisticsHandler,它将指向描述其美国的文档页面不需要在特定路径上注册处理程序,因为每个请求都需要通过该处理程序。