Metrics about Gerrit’s internal state can be sent to external monitoring systems via plugins. See the plugin documentation for details of plugin implementations.

Metrics

The following metrics are reported.

General

  • build/label: Version of Gerrit server software.

  • events: Triggered events.

Actions

  • action/retry_attempt_count: Number of retry attempts made by RetryHelper to execute an action (0 == single attempt, no retry)

  • action/retry_timeout_count: Number of action executions of RetryHelper that ultimately timed out

  • action/auto_retry_count: Number of automatic retries with tracing

  • action/failures_on_auto_retry_count: Number of failures on auto retry

Pushes

  • receivecommits/changes: histogram of number of changes processed in a single upload, split up by update type (change created/updated, change autoclosed).

  • receivecommits/latency: latency per change for processing a push, split up by update type (create+replace, and autoclose)

  • receivecommits/push_latency: total latency for processing a push, split up by update type (create+replace, autoclose, normal)

  • receivecommits/timeout: number of timeouts during push processing.

Process

  • proc/birth_timestamp: Time at which the Gerrit process started.

  • proc/uptime: Uptime of the Gerrit process.

  • proc/cpu/num_cores: Number of processors available to the Java virtual machine.

  • proc/cpu/usage: CPU time used by the Gerrit process.

  • proc/cpu/system_load: System load average for the last minute.

  • proc/num_open_fds: Number of open file descriptors.

  • proc/jvm/memory/heap_committed: Amount of memory guaranteed for user objects.

  • proc/jvm/memory/heap_used: Amount of memory holding user objects.

  • proc/jvm/memory/non_heap_committed: Amount of memory guaranteed for classes, etc.

  • proc/jvm/memory/non_heap_used: Amount of memory holding classes, etc.

  • proc/jvm/memory/object_pending_finalization_count: Approximate number of objects needing finalization.

  • proc/jvm/gc/count: Number of GCs.

  • proc/jvm/gc/time: Approximate accumulated GC elapsed time.

  • proc/jvm/thread/num_live: Current live thread count.

  • proc/jvm/thread/num_daemon_live: Current live daemon threads count.

  • proc/jvm/thread/num_peak_live: Peak live thread count since the Java virtual machine started or peak was reset.

  • proc/jvm/thread/num_total_started: Total number of threads created and also started since the Java virtual machine started.

Caches

  • caches/memory_cached: Memory entries.

  • caches/memory_hit_ratio: Memory hit ratio.

  • caches/memory_eviction_count: Memory eviction count.

  • caches/disk_cached: Disk entries used by persistent cache.

  • caches/disk_hit_ratio: Disk hit ratio for persistent cache.

Change

  • change/submit_rule_evaluation: Latency for evaluating submit rules on a change.

  • change/submit_type_evaluation: Latency for evaluating the submit type on a change.

HTTP

Jetty

  • http/server/jetty/connections/connections: The current number of open connections

  • http/server/jetty/connections/connections_total: The total number of connections opened

  • http/server/jetty/connections/connections_duration_max: The max duration of a connection in ms

  • http/server/jetty/connections/connections_duration_mean: The mean duration of a connection in ms

  • http/server/jetty/connections/connections_duration_stdev: The standard deviation of the duration of a connection in ms

  • http/server/jetty/connections/received_messages: The total number of messages received

  • http/server/jetty/connections/sent_messages: The total number of messages sent

  • http/server/jetty/connections/received_bytes: Total number of bytes received by tracked connections

  • http/server/jetty/connections/sent_bytes: Total number of bytes sent by tracked connections"

  • http/server/jetty/threadpool/active_threads: Active threads

  • http/server/jetty/threadpool/idle_threads: Idle threads

  • http/server/jetty/threadpool/reserved_threads: Reserved threads

  • http/server/jetty/threadpool/max_pool_size: Maximum thread pool size

  • http/server/jetty/threadpool/min_pool_size: Minimum thread pool size

  • http/server/jetty/threadpool/pool_size: Current thread pool size

  • http/server/jetty/threadpool/queue_size: Queued requests waiting for a thread

REST API

  • http/server/error_count: Rate of REST API error responses.

  • http/server/success_count: Rate of REST API success responses.

  • http/server/rest_api/count: Rate of REST API calls by view.

  • http/server/rest_api/change_id_type: Rate of REST API calls by change ID type.

  • http/server/rest_api/error_count: Rate of REST API calls by view.

  • http/server/rest_api/server_latency: REST API call latency by view.

  • http/server/rest_api/response_bytes: Size of REST API response on network (may be gzip compressed) by view.

  • http/server/rest_api/change_json/to_change_info_latency: Latency for toChangeInfo invocations in ChangeJson.

  • http/server/rest_api/change_json/to_change_infos_latency: Latency for toChangeInfos invocations in ChangeJson.

  • http/server/rest_api/change_json/format_query_results_latency: Latency for formatQueryResults invocations in ChangeJson.

  • http/server/rest_api/ui_actions/latency: Latency for RestView#getDescription calls.

Query

  • query/query_latency: Successful query latency, accumulated over the life of the process.

Core Queues

The following queues support metrics:

  • default WorkQueue

  • index batch

  • index interactive

  • receive commits

  • send email

  • ssh batch worker

  • ssh command start

  • ssh interactive worker

  • ssh stream worker

Each queue provides the following metrics:

  • queue/<queue_name>/pool_size: Current number of threads in the pool

  • queue/<queue_name>/max_pool_size: Maximum allowed number of threads in the pool

  • queue/<queue_name>/active_threads: Number of threads that are actively executing tasks

  • queue/<queue_name>/scheduled_tasks: Number of scheduled tasks in the queue

  • queue/<queue_name>/total_scheduled_tasks_count: Total number of tasks that have been scheduled

  • queue/<queue_name>/total_completed_tasks_count: Total number of tasks that have completed execution

SSH sessions

  • sshd/sessions/connected: Number of currently connected SSH sessions.

  • sshd/sessions/created: Rate of new SSH sessions.

  • sshd/sessions/authentication_failures: Rate of SSH authentication failures.

Topics

  • topic/cross_project_submit: number of cross-project topic submissions.

  • topic/cross_project_submit_completed: number of cross-project topic submissions that concluded successfully.

JGit

  • jgit/block_cache/cache_used : Bytes of memory retained in JGit block cache.

  • jgit/block_cache/open_files : File handles held open by JGit block cache.

  • avg_load_time : Average time to load a cache entry for JGit block cache.

  • total_load_time : Total time to load cache entries for JGit block cache.

  • eviction_count : Cache evictions for JGit block cache.

  • eviction_ratio : Cache eviction ratio for JGit block cache.

  • hit_count : Cache hits for JGit block cache.

  • hit_ratio : Cache hit ratio for JGit block cache.

  • load_failure_count : Failed cache loads for JGit block cache.

  • load_failure_ratio : Failed cache load ratio for JGit block cache.

  • load_success_count : Successful cache loads for JGit block cache.

  • miss_count : Cache misses for JGit block cache.

  • miss_ratio : Cache miss ratio for JGit block cache.

  • cache_used_per_repository : Bytes of memory retained per repository for the top N repositories having most data in the cache. The number N of reported repositories is limited to 1000.

Git

  • git/upload-pack/request_count: Total number of git-upload-pack requests.

  • git/upload-pack/phase_counting: Time spent in the 'Counting…​' phase.

  • git/upload-pack/phase_compressing: Time spent in the 'Compressing…​' phase.

  • git/upload-pack/phase_writing: Time spent transferring bytes to client.

  • git/upload-pack/pack_bytes: Distribution of sizes of packs sent to clients.

BatchUpdate

  • batch_update/execute_change_ops: BatchUpdate change update latency, excluding reindexing

NoteDb

  • notedb/update_latency: NoteDb update latency by table.

  • notedb/stage_update_latency: Latency for staging updates to NoteDb by table.

  • notedb/read_latency: NoteDb read latency by table.

  • notedb/parse_latency: NoteDb parse latency by table.

  • notedb/external_id_cache_load_count: Total number of times the external ID cache loader was called.

  • notedb/external_id_partial_read_latency: Latency for generating a new external ID cache state from a prior state.

  • notedb/external_id_update_count: Total number of external ID updates.

  • notedb/read_all_external_ids_latency: Latency for reading all external ID’s from NoteDb.

Permissions

  • permissions/project_state/computation_latency: Latency to compute current access sections on a project by traversing it’s parents.

  • permissions/permission_collection/filter_latency: Latency to filter access sections by user and ref.

  • permissions/ref_filter/full_filter_count: Rate of full ref filter operations

  • permissions/ref_filter/skip_filter_count: Rate of ref filter operations where we skip full evaluation because the user can read all refs

Reviewer Suggestion

  • reviewer_suggestion/query_accounts: Latency for querying accounts for reviewer suggestion.

  • reviewer_suggestion/recommend_accounts: Latency for recommending accounts for reviewer suggestion.

  • reviewer_suggestion/load_accounts: Latency for loading accounts for reviewer suggestion.

  • reviewer_suggestion/query_groups: Latency for querying groups for reviewer suggestion.

Repo Sequences

  • sequence/next_id_latency: Latency of requesting IDs from repo sequences.

Plugin

  • plugin/latency: Latency for plugin invocation.

  • plugin/error_count: Number of plugin errors.

Group

  • group/guess_relevant_groups_latency: Latency for guessing relevant groups.

Replication Plugin

  • plugins/replication/replication_latency: Time spent pushing to remote destination.

  • plugins/replication/replication_delay: Time spent waiting before pushing to remote destination.

  • plugins/replication/replication_retries: Number of retries when pushing to remote destination.

License

  • license/cla_check_count: Total number of CLA check requests.