2016-08-05 47 views
0

我嘗試使用我們用Scala構建的新服務之一來設置性能指標工具。我使用Dropwizard Metrics,因爲它是一個流行的。下面的代碼不能得到編譯Dropwizard指標可以與Scalatra集成嗎?

@Timed 
get("/greeting", operation(dummy)){ 
    val name: Option[String] = params.get("name") 
    Ok(String.format("Hello %s", name.getOrElse(defaultName))) 
} 

和錯誤消息是

[error] ... expected start of definition 
[error] get("/greeting", operation(dummy)){ 
[error] ^
[error] one error found 

可以Dropwizard指標與Scalatra的整合?如果是,那麼整合的正確方法是什麼?

回答

0

目前已經內置支持指標:

http://www.scalatra.org/2.4/guides/monitoring/metrics.html

關於你的代碼,它不與註釋工作,因爲你是不是在這裏定義的方法,而是調用一個。

+0

感謝您的信息。我會查看文件。儘管沒有按照最後的評論。 – TeeKai

+0

關於圖書館的文件不正確。 「org.scalatra」%%「scalatra-metrics」%「2.4.0-SNAPSHOT」會產生一個無法解決的依賴性錯誤。它應該是「org.scalatra」%%「scalatra-metrics」%「2.4.1」。 – TeeKai

+0

此外,無context.mountMetricsAdminServlet( 「/度管理員」) context.mountHealthCheckServlet( 「/健康」) context.mountMetricsServlet( 「/度」) context.mountThreadDumpServlet( 「/線程轉儲」)的 背景.installInstrumentedFilter(「/ test/*」)(在文檔中聲明)是有效的代碼。 – TeeKai

0

隨着版本「org.scalatra」「Scalatra的-metrics_2.11」「2.5.0」你可以context.mountMetricsAdminServlet("/metrics-admin")加入下次導入工作:

import org.scalatra.metrics.MetricsSupportExtensions.metricsSupportExtensions 

它將隱含運行此:

metricsSupportExtensions(context).mountMetricsAdminServlet("/metrics-admin")