Dropwizard Metrics
note
This help topic is in development and will be updated in the future.
The Metrics feature allows you to configure the Metrics to get useful information about the server and incoming requests.
Installing
The Metrics feature exposes a registry
property, that can be used to build and start metric reporters.
JMX Reporter
The JMX Reporter allows you to expose all the metrics to JMX, allowing you to view those metrics with jconsole
or jvisualvm
with the MBeans plugin.
install(DropwizardMetrics) {
JmxReporter.forRegistry(registry)
.convertRatesTo(TimeUnit.SECONDS)
.convertDurationsTo(TimeUnit.MILLISECONDS)
.build()
.start()
}
SLF4J Reporter
The SLF4J Reporter allows you to periodically emit reports to any output supported by SLF4J. For example, to output the metrics every 10 seconds, you would:
install(DropwizardMetrics) {
Slf4jReporter.forRegistry(registry)
.outputTo(log)
.convertRatesTo(TimeUnit.SECONDS)
.convertDurationsTo(TimeUnit.MILLISECONDS)
.build()
.start(10, TimeUnit.SECONDS)
}
Other reporters
You can use any of the available Metric reporters.
Exposed reports
This feature exposes many JVM properties relating to memory usage and thread behavior.
Global:
Specifically to Ktor, it exposes:
ktor.calls.active
:Count
- The number of unfinished active requestsktor.calls.duration
- Information about the duration of the callsktor.calls.exceptions
- Information about the number of exceptionsktor.calls.status.NNN
- Information about the number of times that happened a specific HTTP Status Code NNN
Per endpoint:
"/uri(method:VERB).NNN"
- Information about the number of times that happened a specific HTTP Status Code NNN, for this path, for this verb"/uri(method:VERB).meter"
- Information about the number of calls for this path, for this verb"/uri(method:VERB).timer"
- Information about the durations for this endpoint
Information per report
Durations
"/uri(method:VERB).timer"
and ktor.calls.duration
are durations and expose:
50thPercentile
75thPercentile
95thPercentile
98thPercentile
99thPercentile
999thPercentile
Count
DurationUnit
OneMinuteRate
FifteenMinuteRate
FiveMinuteRate
Max
Mean
MeanRate
Min
RateUnit
StdDev
Counts
The other properties are exposed as counts:
Count
FifteenMinuteRate
FiveMinuteRate
OneMinuteRate
MeanRate
RateUnit