# Kyuubi Server Metrics
Kyuubi has a configurable metrics system based on the [Dropwizard Metrics Library](https://metrics.dropwizard.io/).
This allows users to report Kyuubi metrics to a variety of `kyuubi.metrics.reporters`.
The metrics provide instrumentation for specific activities and Kyuubi server.
## Configurations
The metrics system is configured via `$KYUUBI_HOME/conf/kyuubi-defaults.conf`.
Key | Default | Meaning | Type | Since
--- | --- | --- | --- | ---
kyuubi\.metrics
\.enabled|
true
|Set to true to enable kyuubi metrics system
|boolean
|1.2.0
kyuubi\.metrics
\.reporters|JSON
|A comma separated list for all metrics reporters
- CONSOLE - ConsoleReporter which outputs measurements to CONSOLE periodically.
- JMX - JmxReporter which listens for new metrics and exposes them as MBeans.
- JSON - JsonReporter which outputs measurements to json file periodically.
- PROMETHEUS - PrometheusReporter which exposes metrics in prometheus format.
- SLF4J - Slf4jReporter which outputs measurements to system log periodically.
|seq
|1.2.0
kyuubi\.metrics
\.console\.interval|PT5S
|How often should report metrics to console
|duration
|1.2.0
kyuubi\.metrics\.json
\.interval|PT5S
|How often should report metrics to json file
|duration
|1.2.0
kyuubi\.metrics\.json
\.location|metrics
|Where the json metrics file located
|string
|1.2.0
kyuubi\.metrics
\.prometheus\.path|/metrics
|URI context path of prometheus metrics HTTP server
|string
|1.2.0
kyuubi\.metrics
\.prometheus\.port|10019
|Prometheus metrics HTTP server port
|int
|1.2.0
kyuubi\.metrics\.slf4j
\.interval|PT5S
|How often should report metrics to SLF4J logger
|duration
|1.2.0
## Metrics
These metrics include:
Metrics Prefix | Metrics Suffix | Type | Since | Description
---|---|---|---|---
kyuubi
.exec.pool
.threads.alive ||gauge|1.2.0| threads keepAlive in the backend executive thread pool
kyuubi
.exec.pool
.threads.active ||gauge|1.2.0| threads active in the backend executive thread pool
kyuubi
.connection.total | | counter | 1.2.0 | cumulative connection count
kyuubi
.connection.opened | | gauge | 1.2.0 | current active connection count
kyuubi
.connection.opened | `${user}` | counter | 1.2.0 | cumulative connections requested by a `${user}`
kyuubi
.connection.failed | | counter | 1.2.0 | cumulative failed connection count
kyuubi
.connection.failed | `${user}` | counter | 1.2.0 | cumulative failed connections for a `${user}`
kyuubi
.statement.total | | counter | 1.2.0 | cumulative opened statement count
kyuubi
.statement.opened | | counter | 1.2.0 | current opened statement count
kyuubi
.statement.failed | `${errorType}` | counter | 1.2.0 | cumulative failed statement for a particular `${errorType}`, e.g. `AnalysisException`
kyuubi
.engine.total | | counter | 1.2.0 | cumulative created engines
kyuubi
.engine.timeout | | counter | 1.2.0 | cumulative timeout engines
kyuubi
.engine.failed | `${user}` | counter | 1.2.0 | cumulative explicitly failed engine count for a `${user}`
kyuubi
.engine.failed | `${errorType}` | counter | 1.2.0 | cumulative explicitly failed engine count for a particular `${errorType}`, e.g. `ClassNotFoundException`