1

出于统计目的,我想计算在单个 Http 连接上发出了多少请求(在一个打开的套接字上发出了多少保持活动请求)。

在 node.js 中,我可以访问请求和响应对象中的“套接字”,并且可以动态添加一个字段,例如“请求”并增加它。我还可以附加“套接字关闭”处理程序,然后将“请求”字段记录到系统日志中,并在 Graphite 中获得 1 分钟的平均值。

vertx.io 有可能吗?我在 HttpRequest 和 HttpResponse 类中找不到套接字字段。

4

1 回答 1

2

没有直接的方法可以做到这一点。

你可能会做一个 hack:HttpServerRequest实际上是一个org.vertx.java.core.http.impl.DefaultHttpServerRequest具有私有字段的实例ServerConnection conn。该字段可以通过反射访问,例如此处所述: http: //tutorials.jenkov.com/java-reflection/private-fields-and-methods.html。请求计数可以通过创建整数连接映射来实现。

这个 hack 足以用于测试目的,但由于内存泄漏,我不会在生产中工作。最好将此功能添加到类handleMessage的方法中ServerConnection并通过 JMX 公开它。

于 2012-09-15T06:41:42.120 回答