2017-05-09 28 views
0

我想從Haw.xular的Vert.x中獲取指標,但是我遇到了問題。 按照這個教程。 http://vertx.io/docs/vertx-hawkular-metrics/java/如何從Vert.x調用Hawkular

然後,我改變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 Metrics中的某些更改?

我已經檢查過。

  • 該程序傳遞這些代碼。
  • 即使我更改主機和端口錯誤的一個,沒有執行。
+0

是否啓用了指標橋? http://vertx.io/docs/vertx-hawkular-metrics/java/#_user_defined_metrics – tsegismont

+0

感謝您的建議,但在我的環境中並不重要。 – Ryo0606

回答

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.

+0

非常感謝!我睡了一覺,然後我得到了指標! – Ryo0606