我想用Hawkular从vert.x获取指标,但我有问题。 按照这个教程。 http://vertx.io/docs/vertx-hawkular-metrics/java/
然后,我改变了vert.x教程的代码 http://vertx.io/blog/my-first-vert-x-3-application/
像这样。来自这个
@Before
public void setUp(TestContext context) {
vertx = Vertx.vertx();
vertx.deployVerticle(MyFirstVerticle.class.getName(),
context.asyncAssertSuccess());
}
到这个
VertxOptions vertxOptions = new VertxOptions()
.setMetricsOptions(new VertxHawkularOptions()
.setHost("localhost")
.setPort(8080)
.setTenant("com.acme")
.setAuthenticationOptions(
new AuthenticationOptions()
.setEnabled(true)
.setId("jdoe")
.setSecret("password")).setEnabled(true));
vertx = Vertx.vertx(vertxOptions);
JsonObject message = new JsonObject()
.put("id", "myapp.files.opened")
.put("value", 7);
vertx.eventBus().publish("metrics", message);
但我认为Hawkular没有变化。 首先,我查看了WireShark,看起来没有连接此应用程序的HTTP请求。 我想知道如果我执行此代码,我能看到Hawkular指标的一些变化吗?
我已经查过了。
答案 0 :(得分:0)
我认为测试过程在指标有时间报告之前完成。我尝试了你的例子(在这个时间问题旁边看起来是正确的),并且在事件总线上发布之后不得不放置1秒的Thread.sleep以便在Hawkular中看到一些内容。
curl -u jdoe:password -H "Hawkular-Tenant: com.acme" http://localhost:8080/hawkular/metrics/counters
现在给出了
[{"id":"vertx.eventbus.publishedRemoteMessages","dataRetention":14,"type":"counter","tenantId":"com.acme"},{"id":"vertx.pool.worker.vert.x-internal-blocking.queuedCount","dataRetention":14,"type":"counter","tenantId":"com.acme"},{"id":"vertx.eventbus.receivedMessages","dataRetention":14,"type":"counter","tenantId":"com.acme"}, etc.