{[couch_replicator, changes_read_failures], [
    {type, counter},
    {desc, <<"number of failed replicator changes read failures">>}
]}.
{[couch_replicator, changes_reader_deaths], [
    {type, counter},
    {desc, <<"number of failed replicator changes readers">>}
]}.
{[couch_replicator, changes_manager_deaths], [
    {type, counter},
    {desc, <<"number of failed replicator changes managers">>}
]}.
{[couch_replicator, changes_queue_deaths], [
    {type, counter},
    {desc, <<"number of failed replicator changes work queues">>}
]}.
{[couch_replicator, checkpoints, success], [
    {type, counter},
    {desc, <<"number of checkpoints successfully saves">>}
]}.
{[couch_replicator, checkpoints, failure], [
    {type, counter},
    {desc, <<"number of failed checkpoint saves">>}
]}.
{[couch_replicator, failed_starts], [
    {type, counter},
    {desc, <<"number of replications that have failed to start">>}
]}.
{[couch_replicator, requests], [
    {type, counter},
    {desc, <<"number of HTTP requests made by the replicator">>}
]}.
{[couch_replicator, responses, failure], [
    {type, counter},
    {desc, <<"number of failed HTTP responses received by the replicator">>}
]}.
{[couch_replicator, responses, success], [
    {type, counter},
    {desc, <<"number of successful HTTP responses received by the replicator">>}
]}.
{[couch_replicator, stream_responses, failure], [
    {type, counter},
    {desc, <<"number of failed streaming HTTP responses received by the replicator">>}
]}.
{[couch_replicator, stream_responses, success], [
    {type, counter},
    {desc, <<"number of successful streaming HTTP responses received by the replicator">>}
]}.
{[couch_replicator, worker_deaths], [
    {type, counter},
    {desc, <<"number of failed replicator workers">>}
]}.
{[couch_replicator, workers_started], [
    {type, counter},
    {desc, <<"number of replicator workers started">>}
]}.
{[couch_replicator, cluster_is_stable], [
    {type, gauge},
    {desc, <<"1 if cluster is stable, 0 if unstable">>}
]}.
{[couch_replicator, db_scans], [
    {type, counter},
    {desc, <<"number of times replicator db scans have been started">>}
]}.
{[couch_replicator, docs, dbs_created], [
    {type, counter},
    {desc, <<"number of db shard creations seen by replicator doc processor">>}
]}.
{[couch_replicator, docs, dbs_deleted], [
    {type, counter},
    {desc, <<"number of db shard deletions seen by replicator doc processor">>}
]}.
{[couch_replicator, docs, dbs_found], [
    {type, counter},
    {desc, <<"number of db shard found by replicator doc processor">>}
]}.
{[couch_replicator, docs, db_changes], [
    {type, counter},
    {desc, <<"number of db changes processed by replicator doc processor">>}
]}.
{[couch_replicator, docs, failed_state_updates], [
    {type, counter},
    {desc, <<"number of 'failed' state document updates">>}
]}.
{[couch_replicator, docs, completed_state_updates], [
    {type, counter},
    {desc, <<"number of 'completed' state document updates">>}
]}.
{[couch_replicator, jobs, adds], [
    {type, counter},
    {desc, <<"number of jobs added to replicator scheduler">>}
]}.
{[couch_replicator, jobs, duplicate_adds], [
    {type, counter},
    {desc, <<"number of duplicate jobs added to replicator scheduler">>}
]}.
{[couch_replicator, jobs, removes], [
    {type, counter},
    {desc, <<"number of jobs removed from replicator scheduler">>}
]}.
{[couch_replicator, jobs, starts], [
    {type, counter},
    {desc, <<"number of jobs started by replicator scheduler">>}
]}.
{[couch_replicator, jobs, stops], [
    {type, counter},
    {desc, <<"number of jobs stopped by replicator scheduler">>}
]}.
{[couch_replicator, jobs, crashes], [
    {type, counter},
    {desc, <<"number of job crashed noticed by replicator scheduler">>}
]}.
{[couch_replicator, jobs, running], [
    {type, gauge},
    {desc, <<"replicator scheduler running jobs">>}
]}.
{[couch_replicator, jobs, pending], [
    {type, gauge},
    {desc, <<"replicator scheduler pending jobs">>}
]}.
{[couch_replicator, jobs, crashed], [
    {type, gauge},
    {desc, <<"replicator scheduler crashed jobs">>}
]}.
{[couch_replicator, jobs, total], [
    {type, gauge},
    {desc, <<"total number of replicator scheduler jobs">>}
]}.
{[couch_replicator, connection, acquires], [
    {type, counter},
    {desc, <<"number of times connections are shared">>}
]}.
{[couch_replicator, connection, creates], [
    {type, counter},
    {desc, <<"number of connections created">>}
]}.
{[couch_replicator, connection, releases], [
    {type, counter},
    {desc, <<"number of times ownership of a connection is released">>}
]}.
{[couch_replicator, connection, owner_crashes], [
    {type, counter},
    {desc, <<"number of times a connection owner crashes while owning at least one connection">>}
]}.
{[couch_replicator, connection, worker_crashes], [
    {type, counter},
    {desc, <<"number of times a worker unexpectedly terminates">>}
]}.
{[couch_replicator, connection, closes], [
    {type, counter},
    {desc, <<"number of times a worker is gracefully shut down">>}
]}.
