我有一个嵌入式的码头服务器,我想知道它当前服务的每秒请求数。
有没有办法从Jetty那里获得这个数字?甚至我可以定期查询并自行计算我的RP的总请求计数?
您要寻找的内容在统计处理程序中存在。
处理程序允许按请求统计量进行收集
- 收集有关
AbstractConnector
子类的连接和请求数量的统计数据
- StatisticsHandler收集请求统计
可以通过Session Handler和DefaultSessionCache的子类收集会话统计信息
AbstractConnector,SessionHandler和DefaultSessionCache统计信息默认情况下关闭,必须为每个实例手动配置或通过JMX接口打开。
statisticsHandler不包含在默认的码头配置中,需要手动配置。
您可以使用以下配置在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>
文档