The Schema Registry reports a variety of metrics through JMX. It can also be configured to report stats using additional pluggable stats reporters using the metrics.reporters configuration option. The easiest way to view the available metrics is to use jconsole to browse JMX MBeans.

The Schema Registry has two types of metrics. Global metrics help you monitor the overall health of the service. Per-endpoint metrics monitor each API endpoint request method and are prefixed by a name of the endpoint (e.g. subjects.get-schema). These help you understand how the proxy is being used and track down specific performance problems.

Global Metrics

MBean: kafka.schema.registry:type=jetty-metrics

Total number of active TCP connections.
connections-accepted-rate (deprecated since 2.0)
  • In 1.x: The average rate per second of accepted TCP connections.
  • In 2.x: Same as connections-opened-rate.
The average rate per second of opened TCP connections.
The average rate per second of closed TCP connections.

MBean: kafka.schema.registry:type=master-slave-role

The current role of this Schema Registry instance. A value of 1 indicates this instance is the master, 0 indicates it is a slave.

Per-Endpoint Metrics

The following are the metrics available for each endpoint request method. Metrics for all requests are also aggregated into a global instance for each one. These aggregate instances have no prefix in their name.

MBean: kafka.schema.registry:type=jersey-metrics

Bytes/second of incoming requests
The average number of requests per second that resulted in HTTP error responses
The average request latency in ms
The maximum request latency in ms
The average number of HTTP requests per second.
The average request size in bytes
The maximum request size in bytes
Bytes/second of outgoing responses
The average number of HTTP responses per second.
The average response size in bytes
The maximum response size in bytes


The following is a list of all the API endpoint methods. The naming should map intuitively to each of the API operations. To create a full metric name, prefix a per-endpoint metric name with one of these values. For example, to find the rate of GET /brokers API calls, combine the endpoint name brokers.list with the metric name request-rate to get brokers.list.request-rate.

compatibility.subjects.versions.verify POST /compatibility/subjects/{subject}/versions/{version}
schemas.ids.get-schema GET /schemas/ids/{id}
subjects.get-schema POST /subjects/{subject}
subjects.list GET /subjects
subjects.versions.get-schema GET /subjects/{subject}/versions/{version}
subjects.versions.list GET /subjects/{subject}/versions
subjects.versions.register POST /subjects/{subject}/versions