2016-08-05 12 views
0

Я пытаюсь настроить инструмент показателей производительности с помощью одного из наших новых сервисов, созданных с помощью Scala. Я использую Dropwizard Metrics, поскольку он является популярным. Следующий код не компилируетсяМожет ли метрики Dropwizard быть интегрированы со Скалатой?

@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")