A newer version of this documentation is available.

View Latest

Metrics REST API (Static Page)

    Description of the Sync Gateway Metrics REST API, alternative representation as a static page

    Paths

    This resources section groups together the available API operations under functional categories.

    Debugging/monitoring at runtime

    GET /_expvar

    Description

    The Expvars method returns Sync Gateways' numerous statistics, and other runtime variables, in JSON format. Making them readily available for debugging or performance monitoring purposes.

    See : Sync Gateway Statistics Schema for more details on the metrics collected and reported by Sync Gateway.

    Sync Gateway Roles Required:

    – Sync Gateway Dev Ops – External Stats Reader

    Responses

    HTTP Code Description Schema

    200

    OK - indicates success

    ExpVars

    Tags

    • Standard Output

    Debugging/monitoring runtime stats in Prometheus format

    GET /_metrics

    Description

    The _metrics method returns Sync Gateway’s statistics and other runtime variables in Prometheus format. This makes for a convenient feed for your debugging or performance monitoring purposes.

    Sync Gateway Roles Required:

    – Sync Gateway Dev Ops – External Stats Reader

    Responses

    HTTP Code Description Schema

    200

    OK - indicates success

    Metrics

    Tags

    • Prometheus

    Definitions

    ExpVars

    Name Description Schema

    cb
    optional

    Variables reported by the Couchbase SDK (go_couchbase package)

    object

    cmdline
    optional

    Built-in variables from the Go runtime, lists the command-line arguments

    object

    mc
    optional

    Variables reported by the low-level memcached API (gomemcached package)

    object

    memstats
    optional

    Dumps a large amount of information about the memory heap and garbage collector

    object

    syncGateway_changeCache
    optional

    syncGateway_changeCache

    syncGateway_db
    optional

    syncGateway_db

    syncgateway
    optional

    Monitoring stats

    syncgateway

    syncGateway_changeCache

    Name Description Schema

    lag-queue-0000ms
    optional

    Histogram of delay from Tap feed till doc is posted to changes feed

    object

    lag-tap-0000ms
    optional

    Histogram of delay from doc save till it shows up in Tap feed

    object

    lag-total-0000ms
    optional

    Histogram of total delay from doc save till posted to changes feed

    object

    maxPending
    optional

    Max number of sequences waiting on a missing earlier sequence number

    object

    outOfOrder
    optional

    Number of out-of-order sequences posted

    object

    view_queries
    optional

    Number of queries to channels view

    object

    syncGateway_db

    Name Description Schema

    channelChangesFeeds
    optional

    Number of calls to db.changesFeed, i.e. generating a changes feed for a single channel.

    object

    channelLogAdds
    optional

    Number of entries added to channel logs

    object

    channelLogAppends
    optional

    Number of times entries were written to channel logs using an APPEND operation

    object

    channelLogCacheHits
    optional

    Number of requests for channel-logs that were fulfilled from the in-memory cache

    object

    channelLogRewriteCollisions
    optional

    Number of collisions while attempting to rewrite channel logs using SET

    object

    channelLogRewrites
    optional

    Number of times entries were written to channel logs using a SET operation (rewriting the entire log)

    object

    document_gets
    optional

    Number of times a document was read from the database

    object

    revisionCache_adds
    optional

    Number of revisions added to the revision cache

    object

    revisionCache_hits
    optional

    Number of times a revision-cache lookup succeeded

    object

    revisionCache_misses
    optional

    Number of times a revision-cache lookup failed

    object

    revs_added
    optional

    Number of revisions added to the database (including deletions)

    object

    sequence_gets
    optional

    Number of times the database’s lastSequence was read

    object

    sequence_reserves
    optional

    Number of times the database’s lastSequence was incremented

    object

    syncgateway

    Name Description Schema

    global
    optional

    Global Sync Gateway stats

    global

    per_db
    optional

    This array contains stats for all databases declared in the config file – see the Sync Gateway Statistics Schema for more details on the metrics collected and reported by Sync Gateway.

    The statistics for each {$db_name} database are grouped into:

    * cache related statistics * cbl_replication_push * cbl_replication_pull * database_related_statistics * delta_sync * gsi_views * security_related_statistics * shared_bucket_import * per_replication statistics for each replication_id

    < per_db > array

    per_replication
    optional

    An array of stats for each replication declared in the config file

    Deprecated @ 2.8: used only by inter-sync-gateway replications version 1.

    < per_replication > array

    global

    Name Description Schema

    resource_utilization
    optional

    Resource utilization stats

    resource_utilization

    resource_utilization

    Name Schema

    admin_net_bytes_recv
    optional

    integer

    admin_net_bytes_sent
    optional

    integer

    error_count
    optional

    integer

    go_memstats_heapalloc
    optional

    integer

    go_memstats_heapidle
    optional

    integer

    go_memstats_heapinuse
    optional

    integer

    go_memstats_heapreleased
    optional

    integer

    go_memstats_pausetotalns
    optional

    integer

    go_memstats_stackinuse
    optional

    integer

    go_memstats_stacksys
    optional

    integer

    go_memstats_sys
    optional

    integer

    goroutines_high_watermark
    optional

    integer

    num_goroutines
    optional

    integer

    process_cpu_percent_utilization
    optional

    integer

    process_memory_resident
    optional

    integer

    pub_net_bytes_recv
    optional

    integer

    pub_net_bytes_sent
    optional

    integer

    system_memory_total
    optional

    integer

    warn_count
    optional

    integer

    per_db

    Name Schema

    cache
    optional

    object

    database
    optional

    object

    per_replication
    optional

    < object > array

    security
    optional

    object

    per_replication

    Name Schema

    $replication_id
    optional

    $replication_id

    $replication_id

    Name Description Schema

    sgr_active
    optional

    Whether the replication is active at this time. Deprecated @ 2.8: used only by inter-sync-gateway replications version 1.

    boolean

    sgr_docs_checked_sent
    optional

    The total number of documents checked for changes since replication started. This represents the number of potential change notifications pushed by Sync Gateway. Constraints This is not necessarily the number of documents pushed, as a given target might already have the change. Used by versions 1 and 2.

    integer

    sgr_num_attachment_bytes_transferred
    optional

    The total number of attachment bytes transferred since replication started. Deprecated @ 2.8: used only by inter-sync-gateway replications version 1.

    integer

    sgr_num_attachments_transferred
    optional

    The total number of attachments transferred since replication started. Deprecated @ 2.8: used only by inter-sync-gateway replications version 1.

    integer

    sgr_num_docs_failed_to_push
    optional

    The total number of documents that failed to be pushed since replication started. Used by versions 1 and 2.

    integer

    sgr_num_docs_pushed
    optional

    The total number of documents that were pushed since replication started. Used by versions 1 and 2.

    integer

    Metrics

    The Prometheus output is expected to by consumed only by a Prometheus server. For that reason its format is irrelevant, and a brief extract is show here for completeness and information only.

    ...
    # HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
    # TYPE go_gc_duration_seconds summary
    go_gc_duration_seconds{quantile="0"} 0.0001155
    go_gc_duration_seconds{quantile="0.25"} 0.0001254
    go_gc_duration_seconds{quantile="0.5"} 0.0001597
    go_gc_duration_seconds{quantile="0.75"} 0.0001806
    go_gc_duration_seconds{quantile="1"} 0.0049731
    go_gc_duration_seconds_sum 0.006334
    go_gc_duration_seconds_count 9
    # HELP go_goroutines Number of goroutines that currently exist.
    # TYPE go_goroutines gauge
    go_goroutines 205
    ...

    Type : object