在 Mule ESB 中公开 Http 响应时间

Expose Http Response time in Mule ESB

有什么方法可以在MULE 中获取端点的响应时间吗? 示例是 mule 中的 Http 连接器,我需要获取调用端点的响应时间。

您实际需要利用服务器通知来获取有关端点的一些统计信息,请参阅以下文档页面:

https://developer.mulesoft.com/docs/display/current/Mule+Server+Notifications

查看端点通知。

我能够通过使用 Mule 服务器通知解决我的问题。

有一个接口 MessageProcessorNotificationListener 可以监听PRE/POST消息处理器的调用。

我已经使用以下代码获得消息处理器的响应时间。

  long startTime;
 if (m.getAction() ==  MessageProcessorNotification.MESSAGE_PROCESSOR_PRE_INVOKE) 
 {
     startTime = System.currentTimeMillis();
 }
 if (m.getAction() ==     MessageProcessorNotification.MESSAGE_PROCESSOR_POST_INVOKE) 
 {
     long executionTime = System.currentTimeMillis() - startTime;
     AbstractEndpoint ep = (AbstractEndpoint) proc;
     log.info("Http call to : "+ ep.getName() + " took " + executionTime + "ms response time");
 }

这是回复

对 endpoint.http.google.com.80 的 Http 调用花费了 224 毫秒的响应时间。