在 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 毫秒的响应时间。
有什么方法可以在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 毫秒的响应时间。