2016-08-05 45 views
0

Ich versuche, ein Performance-Metriken-Tool mit einem unserer neuen mit Scala gebauten Service einzurichten. Ich benutze Dropwizard Metrics, da es sehr beliebt ist. Der folgende Code kann nicht erhaltenKann Dropwizard Metrics in Scalatra integriert werden?

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

und die Fehlermeldung ist

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

Kann Dropwizard Metrics mit Scalatra integriert werden? Wenn ja, was ist der richtige Weg zur Integration?

Antwort

0

Es ist bereits Unterstützung für Metriken gebaut:

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

Über Ihren Code, es ist nicht mit der Anmerkung zu arbeiten, weil Sie keine Methode hier definieren, sondern eine Berufung.

+0

Danke für die Info . Ich werde in das Dokument schauen. Folge nicht dem letzten Kommentar. – TeeKai

+0

Das Dokument ist bezüglich der Bibliothek nicht korrekt. "org.scalatra" %% "scalatra-metrics"% "2.4.0-SNAPSHOT" ergibt einen nicht gefundenen Abhängigkeitsfehler. Es sollte "org.scalatra" %% "scalatra-metrics"% "2.4.1" sein. – TeeKai

+0

Auch keiner von context.mountMetricsAdminServlet ("/ Metriken-admin") context.mountHealthCheckServlet ("/ Gesundheit") context.mountMetricsServlet ("/ Metriken") context.mountThreadDumpServlet ("/ thread-dump") Kontext .installInstrumentedFilter ("/ test/*") (im Dokument angegeben) ist ein gültiger Code. – TeeKai

0

Ab Version "org.scalatra"%"scalatra-metrics_2.11"%"2.5.0" können Sie context.mountMetricsAdminServlet("/metrics-admin") durch Hinzufügen nächsten Import Arbeiten machen:

import org.scalatra.metrics.MetricsSupportExtensions.metricsSupportExtensions 

Es wird dies implizit ausgeführt:

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