2016-08-05 71 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")