如何將自定義指標添加到Dropwizard在管理端口(8081)上提供的默認內容?除了添加健康檢查外,我無法在文檔中找到任何內容。我非常喜歡從MongoDB中檢索一些統計信息,並且寧願使用8081上的管理資源,而不是在端口8080上創建自定義指標頁面。向Dropwizard添加其他指標
10
A
回答
5
Dropwizard使用Metrics庫來評估其所有指標。公制的getting started section擁有您開始添加自己所需的一切。
4
這裏是一個例子。 jvm實例中的每個度量都通過JMX公開。您還可以註冊度量記錄器,這些度量記錄器可以按照時間間隔將所有度量標準轉儲爲日誌記錄,或者在一段時間內將數據轉儲爲石墨。
//this creates or returns the metrics, basically every metric is only created once and registered in a registry
private final Timer timerCanMakeHold =
Metrics.newTimer(MyClass.class, "METRICNAME", TimeUnit.MILLISECONDS, TimeUnit.SECONDS);
final TimerContext timerContex = timerCanMakeHold.time();
try{
doSomeWork()//this is what you are timing
}finally{
timerContex.stop();
}
2
我沒有測試它,但也許這將有助於:
final Graphite graphite = new Graphite(new InetSocketAddress("graphite.url.example", 2003));
MetricRegistry metrics = new MetricRegistry();
GraphiteReporter reporter = GraphiteReporter.forRegistry(metrics)
.convertRatesTo(TimeUnit.SECONDS)
.convertDurationsTo(TimeUnit.MILLISECONDS)
.build(graphite);
reporter.start(1, TimeUnit.SECONDS);
Counter counter = metrics.counter("nameOfCounter");
counter.inc();
常春藤,你必須添加到您的ivy.xml:
<dependency org="io.dropwizard" name="dropwizard-metrics" rev="0.7.1"/>
<dependency org="io.dropwizard" name="dropwizard-metrics-graphite" rev="0.7.1"/>
如果你把這到你的config.yml中,
metrics:
reporters:
- type: console
timeZone: UTC
output: stdout
durationUnit: milliseconds
rateUnit: seconds
frequency: 120 seconds
- type: graphite
host: localhost
port: 9090
prefix: test.prefix
你可以al所以調用MetricsFactory運行中的方法:
MetricRegistry metrics = new MetricRegistry();
MetricsFactory mfac = configuration.getMetricsFactory();
mfac.configure(environment.lifecycle(), metrics);
Counter counter = metrics.counter("nameOfCounter");
counter.inc();
counter.inc();
counter.inc();
counter.inc();
counter.inc();
如果你建立你自己的套接字監聽器,然後就可以看到這條線每XXX秒傳入:
test.prefix.nameOfCounter.count 5 1411562372
1
如果你希望你的指標,顯示了使用Dropwizard項目中包含的度量servlet,您必須使用Servlet使用的相同MetricRegistry對象,並將度量註冊到其中。
您可以在應用程序中從環境中獲取正確的MetricRegistry實例;或者從啓動期間傳遞給它的initilaize方法的Bootstrap對象。
Dropwizard文檔未能提及MetricRegistry的範圍及其包含的對象。這意味着你只需創建你自己的MetricRegistry。這對於獨立的「入門」應用程序來說工作得很好,但該文檔是關於將度量標準添加到現有的Dropwizard應用程序,而不是新的獨立應用程序。
相關問題
- 1. 向記事本中的其他行添加指定文本++
- 2. dropwizard指標和API時機
- 3. 向ExtJS5 Grid Panel添加其他屬性
- 4. 向其他元素添加元素
- 5. 向WooCommerce佈局添加其他內容?
- 6. 向數組添加其他數據
- 7. 向SqlMembershipProvider添加其他安全問題
- 8. 向CountVectorizer矩陣添加其他功能
- 9. 向haskell類型添加其他信息
- 10. 如何向類添加其他屬性?
- 11. 向JQGrid添加其他參數
- 12. 如何向DataGridRowGroupHeader添加其他數據?
- 13. 如何向標準XAML元素添加其他屬性?
- 14. xcode - 無法添加其他c標誌
- 15. 如何在Dropwizard中註冊其他ConfigurationSourceProviders?
- 16. 要獲得使用DropWizard指標JVM的
- 17. 聚合dropwizard計時器指標
- 18. Dropwizard指標可以與Scalatra集成嗎?
- 19. Fancybox:創建指向一組圖像的鏈接而不添加其他圖像?
- 20. ngRoute不指向其他頁面
- 21. SQL服務器:指向其他表
- 22. Mvc3添加其他控件
- 23. 如果元素hasClass,將其他類添加到其標題值
- 24. jquery在其他標籤周圍添加標籤
- 25. 如何向高圖中的列的基礎添加其他標籤?
- 26. 向Google圖表添加一條新線條而不會改變其他圖標
- 27. 除了標題外,我們還可以向UINavigation Bar添加其他UILabel嗎?
- 28. jquery添加指向導航的指針
- 29. 添加邊緣以指導其他限制的無環圖
- 30. 添加到查詢中的其他未指定字段
我瞭解如何創建度量標準,但仍不確定如何將它們添加到Dropwizard在8081上提供的度量標準。 – johncowie 2013-03-26 14:22:07
只有在您創建度量標準並開始使用度量標準後纔會發生這種情況。 – 2013-03-27 02:30:25
啊,我明白了。很好,謝謝。 – johncowie 2013-03-27 10:33:42