# Monitoring 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
|
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 |
current active connections count 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.operation.total` | | counter | 1.5.0 |
cumulative opened operation count
`kyuubi.operation.total` | `${operationType}` | counter | 1.5.0 |
cumulative opened count for the operation `${operationType}`
`kyuubi.operation.opened` | | gauge | 1.5.0 |
current opened operation count
`kyuubi.operation.opened` | `${operationType}` | counter | 1.5.0 |
current opened count for the operation `${operationType}`
`kyuubi.operation.failed` | `${operationType}`
`.${errorType}` | counter | 1.5.0 |
cumulative failed count for the operation `${operationType}` with a particular `${errorType}`, e.g. `execute_statement.AnalysisException`
`kyuubi.operation.state` | `${operationState}` | meter | 1.5.0 |
kyuubi operation state rate
`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`
`kyuubi.backend_service.open_session` | | timer | 1.5.0 |
kyuubi backend service `openSession` method execution time and rate
`kyuubi.backend_service.close_session` | | timer | 1.5.0 |
kyuubi backend service `closeSession` method execution time and rate
`kyuubi.backend_service.get_info` | | timer | 1.5.0 |
kyuubi backend service `getInfo` method execution time and rate
`kyuubi.backend_service.execute_statement` | | timer | 1.5.0 |
kyuubi backend service `executeStatement` method execution time and rate
`kyuubi.backend_service.get_type_info` | | timer | 1.5.0 |
kyuubi backend service `getTypeInfo` method execution time and rate
`kyuubi.backend_service.get_catalogs` | | timer | 1.5.0 |
kyuubi backend service `getCatalogs` method execution time and rate
`kyuubi.backend_service.get_schemas` | | timer | 1.5.0 |
kyuubi backend service `getSchemas` method execution time and rate
`kyuubi.backend_service.get_tables` | | timer | 1.5.0 |
kyuubi backend service `getTables` method execution time and rate
`kyuubi.backend_service.get_table_types` | | timer | 1.5.0 |
kyuubi backend service `getTableTypes` method execution time and rate
`kyuubi.backend_service.get_columns` | | timer | 1.5.0 |
kyuubi backend service `getColumns` method execution time and rate
`kyuubi.backend_service.get_functions` | | timer | 1.5.0 |
kyuubi backend service `getFunctions` method execution time and rate
`kyuubi.backend_service.get_operation_status` | | timer | 1.5.0 |
kyuubi backend service `getOperationStatus` method execution time and rate
`kyuubi.backend_service.cancel_operation` | | timer | 1.5.0 |
kyuubi backend service `cancelOperation` method execution time and rate
`kyuubi.backend_service.close_operation` | | timer | 1.5.0 |
kyuubi backend service `closeOperation` method execution time and rate
`kyuubi.backend_service.get_result_set_metadata` | | timer | 1.5.0 |
kyuubi backend service `getResultSetMetadata` method execution time and rate
`kyuubi.backend_service.fetch_results` | | timer | 1.5.0 |
kyuubi backend service `fetchResults` method execution time and rate
`kyuubi.backend_service.fetch_log_rows_rate` | | meter | 1.5.0 |
kyuubi backend service `fetchResults` method that fetch log rows rate
`kyuubi.backend_service.fetch_result_rows_rate` | | meter | 1.5.0 |
kyuubi backend service `fetchResults` method that fetch result rows rate
`kyuubi.backend_service.get_primary_keys` | | meter | 1.6.0 |
kyuubi backend service `get_primary_keys` method execution time and rate
`kyuubi.backend_service.get_cross_reference` | | meter | 1.6.0 |
kyuubi backend service `get_cross_reference` method execution time and rate
`kyuubi.operation.state` | `${operationType}`
`.${state}` | meter | 1.6.0 |
The `${operationType}` with a particular `${state}` rate, e.g. `BatchJobSubmission.pending`, `BatchJobSubmission.finished`. Note that, the terminal states are cumulative, but the intermediate ones are not.
`kyuubi.metadata.request.total` | | meter | 1.6.0 |
metadata requests time and rate
`kyuubi.metadata.request.failed` | | meter | 1.6.0 |
metadata requests failure time and rate
`kyuubi.metadata.request.retrying` | | meter | 1.6.0 |
retrying metadata requests time and rate, it is not cumulative
Before v1.5.0, if you use these metrics: - `kyuubi.statement.total` - `kyuubi.statement.opened` - `kyuubi.statement.failed.${errorType}` Since v1.5.0, you can use the following metrics to replace: - `kyuubi.operation.total.ExecuteStatement` - `kyuubi.operation.opened.ExecuteStatement` - `kyuubi.operation.failed.ExecuteStatement.${errorType}`