我正在将Spring Cloud Stream应用程序迁移到功能方法。到目前为止,我使用了提供Spring集成的千分尺指标。请参见Spring集成-千分尺集成。
自迁移以来,使用StreamBridge生成的消息不再生成度量。这似乎是因为Spring集成在将通道定义为bean时创建了它的度量,而StreamBridge则动态创建通道。
话虽如此,我的问题是:
提前谢谢。
使现代化
下面的测试表明,即使在bean的属性中定义绑定目标,也不会在启动时创建。
用于测试的版本为:
Spring启动: 2.5.4
Spring-云-流: 3.1.3
class MessageChannelBeanTests {
@Test
void declaredOutputBindingsCreatesMessageChannelBeans() {
TestChannelBinderConfiguration.applicationContextRunner(MessageChannelBeanTestsConfiguration.class)
.withPropertyValues("spring.cloud.stream.bindings.myBinding.destination=myDestination",
"spring.cloud.stream.bindings.syso-in-0.destination=my-topic")
.run(context -> {
final Map<String, MessageChannel> channels = context.getBeansOfType(MessageChannel.class);
/*
* Just to see which channels are declared as a bean
* The ouput is:
*
* nullChannel
* errorChannel
* syso-in-0
* my-topic.anonymous.errors
*/
channels.entrySet()
.stream()
.map(Entry::getKey)
.forEach(System.out::println);
// Asserts that the channel is created as a bean even if the binding is set by properties
assertThat(channels)
.containsKey("myBinding");
});
}
@EnableAutoConfiguration
static class MessageChannelBeanTestsConfiguration {
@Bean
public Consumer<String> syso() {
return System.out::println;
}
}
}
请注意,创建的MessageChannel bean包括:
nullChannel errorChannel syso-in-0我的主题。匿名的错误
但是没有我的绑定的痕迹
是的,如果您为不存在的绑定定义属性,它将被提前创建为bean。例如,假设在消息传递系统中,您有一个名为myDestation
的目的地(队列,主题等)。比你能拥有这样的东西
spring.cloud.stream.bindings.myinding.destination
使用网桥并将其发送到myBinding
。
我试图用千分尺集成一个简单的Spring Boot应用程序与新的遗迹。 以下是配置详细信息:- application.properties 砰.xml 我能够使用< code > micrometer-registry-Prometheus 依赖关系将Prometheus与此应用程序集成。我在本地系统中设置了Prometheus在Docker容器中运行。我使用了下面的一组命令- promethe
我对Spring很陌生,正在尝试将我的应用程序连接到麋鹿。该应用程序运行的是Spring boot 1.5.5,因此我使用的是微米遗产。我的pom看起来像这样: 每当我尝试启动我的应用程序时,我都会收到以下错误: 根本原因似乎是类io.micrometer.core.instrument.config.validate.Validated它似乎没有像它应该的那样出现在包中。对此有什么想法吗?
我想使用New Relic,使用Spring启动执行器的千分尺支持。我没有使用代理。我有如下配置。我可以在数据资源管理器(事件或度量等)中看到数据。但是,我在资源管理器页面的APM部分看不到任何东西。 这是由于配置的根本原因,也许是我错过了什么? 我想我不用用代理,因为我用的是千分尺,对吗? 我在资源管理器页面的APM部分看不到任何东西,这真的是一个问题吗?它会在适当的集成中自动出现吗? 谢谢。
是否有任何方法可以测量实用程序如何使用线程池?我已经浏览了代码,但还没有看到任何直接的选项。
我正在利用dogstatsd方法,使用千分尺将指标发送给datadog。我获得了正常的指标,如计数器和计量器,但我无法生成事件。有办法生成datadog事件吗?
我想跟踪我的应用程序的度量,我做了一个研究,以找到最好的工具来做这件事。在尝试了Micrometer+DataDog之后,由于我已经使用了ElasticSearch,我尝试了APM Java代理,我发现在Kibana仪表板中获得的数据量相当可观。我可以看到我的endpoint,并调查时间花在了哪里(Mysql查询和其他东西)。 我还没有尝试过Micrometer+ElasticSearch,但从文