我有一个嵌入式Jetty服务器,我想知道它当前正在服务的每秒请求数。
有没有办法从Jetty获得这个号码?或者甚至是我可以定期查询和计算自己的RPS的总请求数量?
答案 0 :(得分:0)
您正在寻找的内容存在于Statistics处理程序中。
处理程序允许对请求统计信息进行收集级别
AbstractConnector
可以通过SessionHandler和DefaultSessionCache
的子类收集会话统计信息默认情况下,AbstractConnector,SessionHandler和DefaultSessionCache统计信息处于关闭状态,必须手动为每个实例配置或通过JMX接口打开。
StatisticsHandler不包含在默认的Jetty配置中,需要手动配置。
您可以使用Jetty xml
中的以下配置打开该集合<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.ServerConnector">
<Arg name="server"><Ref refid="Server" /></Arg>
<Arg name="factories">
<Array type="org.eclipse.jetty.server.ConnectionFactory">
<Item>
<New class="org.eclipse.jetty.server.HttpConnectionFactory">
<Arg name="config"><Ref refid="httpConfig" /></Arg>
</New>
</Item>
</Array>
</Arg>
<Set name="host"><Property name="jetty.host" /></Set>
<Set name="port"><Property name="jetty.http.port" default="8080" /></Set>
<Set name="idleTimeout">30000</Set>
<!-- Enable Connection Statistics -->
<Call name="addBean">
<Arg>
<New id="ConnectionStatistics" class="org.eclipse.jetty.io.ConnectionStatistics"/>
</Arg>
</Call>
</New>
</Arg>
</Call>