blob: 76861d43aa2921b95b2d620acd9f05aed4f4b0e3 [file] [log] [blame] [view]
Metrics
=======
The @PLUGIN@ plugin reports the status of its internal components
to Gerrit metric system.
The metrics are all prefixed with @PLUGIN@ and then divided in groups,
depending on the component involved.
### plugins/@PLUGIN@/events
This prefix represents the component involved in the processing of incoming
ref-update events from Gerrit or other event-broker sources.
- `queued_before_startup` Counter of the number of events that have been received
when the plugin was still in its starting phase and not ready yet to process events.
### plugins/@PLUGIN@/tasks/<metric>/<source>
This prefix represents the tasks scheduling and execution system, also
known as _replication queue_. The replication task represents one operation
performed against a Git repository from a remote source. The task may involve
one or more refs.
The `<metric>` field can have one of the values described here below,
while the `<source>` represent the replication source endpoint.
> Bear in mind that the _replication queue_ is a lot more than a simple
> queueing system, as it contains the logic for selecting, merging, retrying
> and cancelling incoming tasks.
- `scheduled`: (counter) number of tasks triggered and scheduled for
execution.
- `in_flight`: (gauge) number of tasks currently being executed.
- `pending`: (gauge) number of tasks waiting to be executed.
- `started`: (counter) number of tasks started.
- `rescheduled`: (counter) number of tasks re-scheduled for execution.
- `cancelled`: (counter) number of tasks that were previously scheduled
and then cancelled before being executed.
- `failed`: (counter) number of tasks executed but failed altogether or
partially. A total failure is when the entire operation returned an
error and none of the operations took place; a partial failure is when
some of the operations in the tasks succeeded but other failed.
- `retrying`: (counter) number of tasks being retried for execution.
- `not_scheduled`: (counter) number of tasks which have been discarded before
being executed, because redundant (duplicate of existing scheduled tasks)
or not needed anymore (e.g. ref updated already by other means or other
checks)
- `completed`: (counter) number of tasks completed successfully.
- `merged`: (counter) number of tasks not being executed because they had
been consolidated with an existing scheduled task.
- `failed_max_retries`: (counter) number of tasks that have reached their maximum
retry count but never succeeded.
### plugins/@PLUGIN@/fetch/refs/<metric>/<source>
Cumulative number of refs included in the Git fetch operation.
The `<metric>` field can have one of the values described here below,
while the `<source>` represents the replication source endpoint name.
- `started`: (counter) number of refs for which fetch operation have started.
- `completed`: (counter) number of refs for which fetch operation have completed.
- `failed`: (counter) number of refs for which fetch operation have failed.
> Bear in mind that the fetch with special `..all..` ref spec will be counted
> as 1 even if the fetch cause multiple refs to be fetched.
### plugins/@PLUGIN@
- `apply_object_latency`: (timer) execution time statistics for the
synchronous replication using the _apply-object_ REST-API.
- `apply_object_end_2_end_latency`: (timer) execution time statistics
for the end-2-end replication from when the event is triggered in
Gerrit until the successful execution of the synchronous replication
using the _apply-object_ REST-API.
- `apply_object_max_api_payload_reached`: (counter) number of times that
the apply-object REST-API did fallback to the fetch REST-API because
it reached its maximum payload to transfer.
- `replication_latency`: (timer) execution time statistics for the
synchronous replication using a _git fetch_.
- `replication_end_2_end_latency`: (timer) execution time statistics
for the end-2-end replication from when the event is triggered in
Gerrit until the successful execution of the _git fetch_ for the
associated refs.
- `replication_delay`: (timer) interval from when the ref-update event
is triggered to the start of the _git fetch_ command.
- `replication_retries`: (counter) number of times that a replication task
has been retried.