Spring 集成 DSL 在流之间收集指标

Spring Integration DSL Gathering Metrics between Flows

我正在使用 Spring Integration DSL with ActiveMQ 和并发消费者,并尝试调整 Spring IntegrationFlows 的指标,后者使用直接通道和路由器相互交互。

典型的集成流程如下所示:

                                                -> InboundFlow1 -> Transformer|
ActiveMQ Broker ->JMS InboundAdapter -> Router |                             -> OutboundFlow -> JMS OutboundAdapter
                                                -> InboundFlow2 -> Transformer|

每个流包含入站 JMS 适配器、路由器、过滤器、转换器和出站 JMS 网关。

有没有办法从 InboundAdapter 收集此类指标到 OutboundAdapter:

我尝试过使用 MessageChannelMetrics 提出的解决方案:

https://docs.spring.io/spring-integration/reference/html/system-management-chapter.html#mgmt-channel-features https://github.com/spring-projects/spring-integration-samples/tree/master/intermediate/monitoring

但它们没有涵盖所需的功能。

除第一个和最后一个之外的所有内容都存在;第一个可以导出;最后一个将意味着为每条消息捕获它,这将是昂贵的。

但是,Spring Integration 5.0.4 现在除了支持这些标准指标外还支持 Micrometer

编辑

此外,如果标准指标不能满足您的需要,您始终可以添加自定义指标工厂docs here

只需编写您自己的 AbstractMessageHandlerMetrics 子类即可捕获您想要的任何内容。