无法通过 hystrix-metrics-event-stream servlet 在 Dropwizard 应用程序中查看 Hystrix 指标
Unable to view Hystrix metrics in Dropwizard app via hystrix-metrics-event-stream servlet
我有一个 Dropwizard 0.8.1 应用程序,我在其中添加了一些 HystrixCommand
类 用于调用各种外部服务。我现在想可视化与对这些服务的调用相关的统计信息,但我似乎无法让我的应用程序与 Hystrix Dashboard 配合得很好。所有文档似乎都暗示,如果我让 hystrix-metrics-event-stream
servlet 在我的应用程序中工作,那么一切都应该正常工作,但是当我直接调用我的 servlet 端点 (curl http://localhost:8080/hystrix.stream
) 时,我只会得到一长串 ping:
行,表示没有可发布的指标。我有一个 cron 作业反复调用我的 HystrixCommand
对象来尝试生成一些统计数据,但无济于事。
有什么我没有做的吗?我已将依赖项添加到我的 pom.xml
:
<dependency>
<groupId>com.netflix.hystrix</groupId>
<artifactId>hystrix-metrics-event-stream</artifactId>
<version>1.4.5</version>
</dependency>
我已经在 App.java
中将 servlet 集成到 Dropwizard 中:
public void run(final AppConfig configuration, final Environment environment) throws Exception {
...
environment.getApplicationContext().addServlet("com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet", "/hystrix.stream");
我是否需要手动发布指标数据以供 HystrixMetricsPoller
获取?或者我可能需要为我的开发环境调整一些配置?感谢您的帮助!
已排序!原来hystrix-metrics-event-stream
神器的版本是1.4.5,而hystrix-core
的版本是1.3.8。一开始我没有发现它,因为它存储在另一个 POM 文件中。我现在在所有 hystrix 包中使用完全相同的版本,并从 hystrix.stream
servlet 获取数据。
作为一个相关的旁白,我还发现 hystrix-dropwizard-bundle 与从头开始或使用像 Tenacity 这样复杂的东西相比,对于大多数人来说,这看起来是一种将 Dropwizard 与 Hystrix 集成起来更容易和灵活的方法。它包括对 HystrixCodaHaleMetricsPublisher
的支持,这可能对使用 Dropwizard 指标的人有用(我们不是)。
我有一个 Dropwizard 0.8.1 应用程序,我在其中添加了一些 HystrixCommand
类 用于调用各种外部服务。我现在想可视化与对这些服务的调用相关的统计信息,但我似乎无法让我的应用程序与 Hystrix Dashboard 配合得很好。所有文档似乎都暗示,如果我让 hystrix-metrics-event-stream
servlet 在我的应用程序中工作,那么一切都应该正常工作,但是当我直接调用我的 servlet 端点 (curl http://localhost:8080/hystrix.stream
) 时,我只会得到一长串 ping:
行,表示没有可发布的指标。我有一个 cron 作业反复调用我的 HystrixCommand
对象来尝试生成一些统计数据,但无济于事。
有什么我没有做的吗?我已将依赖项添加到我的 pom.xml
:
<dependency>
<groupId>com.netflix.hystrix</groupId>
<artifactId>hystrix-metrics-event-stream</artifactId>
<version>1.4.5</version>
</dependency>
我已经在 App.java
中将 servlet 集成到 Dropwizard 中:
public void run(final AppConfig configuration, final Environment environment) throws Exception {
...
environment.getApplicationContext().addServlet("com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet", "/hystrix.stream");
我是否需要手动发布指标数据以供 HystrixMetricsPoller
获取?或者我可能需要为我的开发环境调整一些配置?感谢您的帮助!
已排序!原来hystrix-metrics-event-stream
神器的版本是1.4.5,而hystrix-core
的版本是1.3.8。一开始我没有发现它,因为它存储在另一个 POM 文件中。我现在在所有 hystrix 包中使用完全相同的版本,并从 hystrix.stream
servlet 获取数据。
作为一个相关的旁白,我还发现 hystrix-dropwizard-bundle 与从头开始或使用像 Tenacity 这样复杂的东西相比,对于大多数人来说,这看起来是一种将 Dropwizard 与 Hystrix 集成起来更容易和灵活的方法。它包括对 HystrixCodaHaleMetricsPublisher
的支持,这可能对使用 Dropwizard 指标的人有用(我们不是)。