【问题标题】:Expose Http Response time in Mule ESB在 Mule ESB 中公开 Http 响应时间
【发布时间】:2015-07-24 11:22:27
【问题描述】:

有没有办法在 MULE 中获取端点的响应时间? 例如mule中的Http Connector,我需要获取调用端点的响应时间。

【问题讨论】:

  • 您能否进一步详细说明您的用例?您想从组件中获取它吗?
  • 嗨@JuanAlbertoLópezCavallotti,我想获取端点在完成请求时的响应时间,例如http端点将连接到google.com,我想获取请求经过的时间. HttpConnector 可能有响应时间的字段或数据。

标签: mule mule-component


【解决方案1】:

我能够通过使用 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");
 }

这是回复

Http 调用:endpoint.http.google.com.80 需要 224 毫秒的响应时间。

【讨论】:

    【解决方案2】:

    您实际上需要利用一些关于端点的统计数据是服务器通知,请参阅以下文档页面:

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

    查看端点通知。

    【讨论】:

    • 你的正确通知是一种方法,我已经提到了这个huksley.blogspot.com/2014/10/…。现在的问题是如何获取消息处理器的统计信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-14
    • 2014-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多