View Statistics and Metrics
This content covers the statistics and metrics collected and made available by Sync Gateway
Sync Gateway’s statistics and metrics provide under-the-hood data on the performance, resource utilization and health of it nodes. This is increasingly important as deployments scale to support a large numbers of connected mobile and edge components.
Related inter-syncgateway topics: Legacy Pre-3.0 Configuration | Metrics REST API | Prometheus Integration
Introduction
Deployments are increasingly scaling to support large numbers of connected mobile and edge clients. This places added emphasis on the effective monitoring of the health and performance of Sync Gateway nodes.
Sync Gateway’s Metrics REST API_ facilitates the process of gathering this essential data by providing access to node metrics covering:
-
Performance
-
Resource utilization
-
Health
It also provides for integration with Prometheus.
Access the Data
Use the Metrics REST API to request the statistics in either JSON format or Prometheus format.
JSON format
Use the _expvars
method to request these metrics, as shown in Example 1:
curl -X GET "http://localhost:4986/_expvar" -H "accept: application/json"
The response is a JSON object with the schema detailed in Sync Gateway Stats Schema, use the click-through links to find out more about each item.
Prometheus format
Use the _metrics
method to request these metrics, as shown in Example 2:
curl -X GET "http://localhost:4986/_metrics" -H "accept: application/json"
The response, in Prometheus format, comprises the data detailed in Sync Gateway Stats Schema.
This endpoint’s data will be scraped at configurable interval, when the metricsInterface
is activated and Sync Gateway integrated with Prometheus — see: Prometheus Integration and our blog entry Monitoring Couchbase Sync Gateway with Prometheus and Grafana.
Sync Gateway Stats Schema
The statistics detailed in this schema are reset at each node restart; that is they are not persisted. So all totals, counts and averages are the values accrued since the last node restart unless otherwise specified.
"syncgateway": {
"global": {
"resource_utilization": {
"admin_net_bytes_recv": 0,
"admin_net_bytes_sent": 0,
"error_count": 0,
"go_memstats_heapalloc": 0,
"go_memstats_heapidle": 0,
"go_memstats_heapinuse": 0,
"go_memstats_heapreleased": 0,
"go_memstats_pausetotalns": 0,
"go_memstats_stackinuse": 0,
"go_memstats_stacksys": 0,
"go_memstats_sys": 0,
"goroutines_high_watermark": 0,
"num_goroutines": 0,
"process_memory_resident": 0,
"pub_net_bytes_recv": 0,
"pub_net_bytes_sent": 0,
"system_memory_total": 0,
"warn_count": 0,
"process_cpu_percent_utilization": 0,
"uptime": 0
}
},
"per_db": {
[
"$dbname": {
"cache": {
"abandoned_seqs":0,
"chan_cache_active_revs": 0,
"chan_cache_bypass_count": 0,
"chan_cache_channels_added": 0,
"chan_cache_channels_evicted_inactive": 0,
"chan_cache_channels_evicted_nru": 0,
"chan_cache_compact_count": 0,
"chan_cache_compact_time": 0,
"chan_cache_hits": 0,
"chan_cache_max_entries": 0,
"chan_cache_misses": 0,
"chan_cache_num_channels": 0,
"chan_cache_pending_queries":0,
"chan_cache_removal_revs": 0,
"chan_cache_tombstone_revs": 0,
"high_seq_cached": 0,
"high_seq_stable": 0,
"num_active_channels": 0,
"pending_seq_len": 0,
"num_skipped_seqs": 0,
"rev_cache_bypass": 0,
"rev_cache_hits": 0,
"rev_cache_misses": 0,
"skipped_seq_len": 0,
"view_queries": 0
},
"cbl_replication_pull": {
"attachment_pull_bytes": 0,
"attachment_pull_count": 0,
"max_pending": 0,
"num_pull_repl_active_continuous": 0,
"num_pull_repl_active_one_shot": 0,
"num_pull_repl_caught_up": 0,
"num_pull_repl_since_zero": 0,
"num_pull_repl_total_continuous": 0,
"num_pull_repl_total_one_shot": 0,
"request_changes_count": 0,
"request_changes_time": 0,
"rev_processing_time": 0,
"rev_send_count": 0,
"rev_send_latency": 0
},
"cbl_replication_push": {
"attachment_push_bytes": 0,
"attachment_push_count": 0,
"conflict_write_count": 0,
"doc_push_count": 0,
"propose_change_count": 0,
"propose_change_time": 0,
"sync_function_count": 0,
"sync_function_time": 0,
"write_processing_time": 0
},
"database": {
"compaction_attachment_start_time": 0,
"compaction_tombstone_start_time": 0,
"crc32c_match_count": 0,
"dcp_caching_count": 0,
"dcp_caching_time": 0,
"dcp_received_count": 0,
"dcp_received_time": 0,
"doc_reads_bytes_blip": 0,
"doc_writes_bytes": 0,
"doc_writes_xattr_bytes":0,
"high_seq_feed":0,
"num_attachments_compacted": 0,
"doc_writes_bytes_blip": 0,
"num_doc_reads_blip": 0,
"num_doc_reads_rest": 0,
"num_doc_writes": 0,
"num_replications_active": 0,
"num_replications_total": 0,
"sequence_assigned_count": 0,
"sequence_get_count": 0,
"sequence_incr_count":0,
"sequence_released_count": 0,
"sequence_reserved_count": 0,
"warn_channel_name_size_count": 0,
"warn_channels_per_doc_count": 0,
"warn_grants_per_doc_count": 0,
"warn_xattr_size_count": 0,
"sync_function_count": 0,
"sync_function_time": 0,
"import_feed": 0
},
"delta_sync": {
"delta_cache_hit": 0,
"delta_cache_miss": 0,
"delta_pull_replication_count": 0,
"delta_push_docs_count": 0,
"deltas_requested": 0,
"deltas_sent": 0
},
"gsi_views": {
"GSIs": 0,
"{query name}_count": 0,
"{query name}_error_count": 0,
"{query name}_time": 0,
"Views (Design doc or view)": 0,
"{design doc name}.{view name}_count": 0,
"{design doc name}.{view name}_error_count": 0,
"{design doc name}.{view name}_time": 0,
},
"security": {
"auth_failed_count": 0,
"auth_success_count": 0,
"num_access_errors": 0,
"num_docs_rejected": 0,
"total_auth_time": 0
},
"shared_bucket_import": {
"import_cancel_cas": 0,
"import_count": 0,
"import_error_count": 0,
"import_high_seq": 0,
"import_partitions": 0,
"import_processing_time": 0
},
"per_replication": {
[
"$replname": {
"sgr_num_docs_pushed": 0,
"sgr_num_docs_failed_to_push": 0,
"sgr_docs_checked_sent": 0,
"sgr_num_attachments_pushed": 0,
"sgr_num_attachment_bytes_pushed": 0,
"sgr_num_attachments_pulled": 0,
"sgr_num_attachment_bytes_pulled": 0,
"sgr_num_docs_pulled": 0,
"sgr_num_docs_purged": 0,
"sgr_num_docs_failed_to_pull": 0,
"sgr_push_conflict_count": 0,
"sgr_push_rejected_count": 0,
"sgr_docs_checked_recv": 0,
"sgr_deltas_recv": 0,
"sgr_deltas_requested": 0,
"sgr_deltas_sent": 0,
"sgr_conflict_resolved_local_count": 0,
"sgr_conflict_resolved_remote_count": 0,
"sgr_conflict_resolved_merge_count": 0
}
]
}
]
},
"per_replication": {
"$replname": {
"sgr_active": true,
"sgr_num_attachments_transferred": 0,
"sgr_num_attachment_bytes_transferred": 0,
"sgr_num_docs_pushed": 0,
"sgr_num_docs_failed_to_push": 0,
"sgr_docs_checked_sent": 0
}
}
}
Global stats
resource_utilization
Resource utilization stats,
See: https://golang.org/pkg/runtime/#MemStats for more on memory allocator statistics.
admin_net_bytes_recv
- Description
-
The total number of bytes received (since node start-up) on the network interface to which the Sync Gateway api.admin_interface is bound.
By default, that is the number of bytes received on
127.0.0.1:4985
since node start-up. - Use Case
-
This metric can be used to determine throughput on the admin interface:
throughput
=admin_net_bytes_recv
/admin_net_bytes_sent
admin_net_bytes_sent
- Description
-
The total number of bytes sent (since node start-up) on the network interface to which the Sync Gateway api.admin_interface is bound.
By default, that is the number of bytes sent on
127.0.0.1:4985
since node start-up. - Use Case
-
This metric can be useful in calculating the throughput on Sync Gateway’s admin interface:
throughput
=admin_net_bytes_recv
/admin_net_bytes_sent
memory allocator statistics
See: https://golang.org/pkg/runtime/#MemStats for more on memory allocator statistics.
go_memstats_heapalloc
Go memstats.HeapAlloc — Go memstats
go_memstats_heapidle
Go memstats.HeapIdle — Go memstats
go_memstats_heapinuse
Go memstats.HeapInuse — Go memstats
go_memstats_heapreleased
Go memstats.HeapReleased — Go memstats
go_memstats_pausetotalns
Go memstats.PauseTotalNs — Go memstats
go_memstats_stackinuse
Go memstats.StackInuse — Go memstats
go_memstats_stacksys
Go memstats.StackSys — Go memstats
go_memstats_sys
Go memstats.Sys — Go memstats
process_cpu_percent_utilization
- Description
-
The CPU’s utilization as percentage value.
- Derivation
-
The CPU usage calculation is performed based on user and system CPU time, but it doesn’t include components such as
iowait
. - Constraints
-
The derivation means that the values of
process_cpu_percent_utilization
and%Cpu
, returned when running thetop
command, will differ.
pub_net_bytes_recv
- Description
-
The total number of bytes received (since node start-up) on the network interface to which the Sync Gateway api.public_interface is bound.
By default, that is the number of bytes received on
127.0.0.1:4984
since node start-up. - Use Case
-
The metric can be used to calculate throughput on the public interface:
throughput
=pub_net_bytes_recv
/pub_net_bytes_sent
pub_net_bytes_sent
- Description
-
The total number of bytes sent (since node start-up) on the network interface to which Sync Gateway api.public_interface is bound.
By default, that is the number of bytes sent on
127.0.0.1:4984
since node start-up. - Use Case
-
This metric can be used to calculate throughput on the public interface:
throughput
=pub_net_bytes_recv
/pub_net_bytes_sent
Metrics by Database
per_db
The metrics for each database declared in the config file.
$dbname
The metrics relating to a database declared in the config file.
cache
These metrics relate to caching.
abandoned_seqs
- Description
-
The total number of skipped sequences that were not found after 60 minutes and were abandoned.
chan_cache_bypass_count
- Description
-
The total number of transient bypass channel caches created to serve requests when the channel cache was at capacity.
chan_cache_channels_added
- Description
-
The total number of channel caches added.
- Constraints
-
The metric doesn’t decrease when a channel is removed. That is, it is similar to chan_cache_num_channels but doesn’t track removals.
chan_cache_channels_evicted_inactive
- Description
-
The total number of channel cache channels evicted due to inactivity.
chan_cache_channels_evicted_nru
- Description
-
The total number of active channel cache channels evicted, based on ‘not recently used’ criteria.
chan_cache_compact_time
- Description
-
The total amount of time taken by channel cache compaction across all compaction runs.
chan_cache_hits
- Description
-
The total number of channel cache requests fully served by the cache.
- Use Case
-
This metric is useful in calculating the channel cache hit ratio:
channel cache hit ratio
=chan_cache_hits
/ (chan_cache_hits
+chan_cache_misses
)
chan_cache_max_entries
- Description
-
The total size of the largest channel cache.
- Use Case
-
This metric helps with channel cache tuning, and provides a hint on cache size variation (when compared to average cache size).
chan_cache_misses
- Description
-
The total number of channel cache requests not fully served by the cache.
- Use Case
-
This metric is useful when calculating the channel cache hit ratio:
channel cache hit ratio
=chan_cache_hits
/ (chan_cache_hits
+chan_cache_misses
)
chan_cache_num_channels
- Description
-
The total number of channels being cached.
- Use Case
-
The total number of channels being cached provides insight into potential max cache size requirements and also node usage (for example,
chan_cache_num_channels
*max_cache_size
).
chan_cache_removal_revs
- Description
-
The total number of removal revisions in the channel cache.
- Use Case
-
This metric acts as a reminder that removals must be considered when tuning the channel cache size and also helps users understand whether they should be tuning tombstone retention policy (metadata purge interval) and running compact.
chan_cache_tombstone_revs
- Description
-
The total number of tombstone revisions in the channel cache.
- Use Case
-
This metric acts as a reminder that tombstones and removals must be considered when tuning the channel cache size and also helps users understand whether they should be tuning tombstone retention policy (metadata purge interval), and running compact.
high_seq_cached
- Description
-
The highest sequence number cached.
- Constraints
-
There may be skipped sequences lower than high_seq_cached.
num_skipped_seqs
- Description
-
The total number of skipped sequences.
- Use Case
-
This metric helps with channel cache tuning, and provides a hint on cache size variation (when compared to average cache size).
pending_seq_len
- Description
-
The total number of pending sequences. These are out-of-sequence entries waiting to be cached.
rev_cache_hits
- Description
-
The total number of revision cache hits.
- Use Case
-
This metric can be used to calculate the ratio of revision cache hits:
Rev Cache Hit Ratio
=rev_cache_hits
/ (rev_cache_hits
+rev_cache_misses
)
rev_cache_misses
- Description
-
The total number of revision cache misses.
- Use Case
-
This metric can be used to calculate the ratio of revision cache misses:
Rev Cache Miss Ratio
=rev_cache_misses
/ (rev_cache_hits
+rev_cache_misses
)
cbl_replication_pull
attachment_pull_bytes
- Description
-
The total size of attachments pulled. This is the pre-compressed size.
max_pending
- Description
-
The high watermark for the number of documents buffered during feed processing, waiting on a missing earlier sequence.
num_pull_repl_active_continuous
- Description
-
The total number of continuous pull replications in the active state.
num_pull_repl_active_one_shot
- Description
-
The total number of one-shot pull replications in the active state.
num_pull_repl_caught_up
- Description
-
The total number of replications which have caught up to the latest changes.
num_pull_repl_since_zero
- Description
-
The total number of new replications started (
/_changes?since
=0).
request_changes_count
- Description
-
The total number of changes requested.
- Use Case
-
This metric can be used to calculate the latency of requested changes:
changes request latency
=request_changes_time
/request_changes_count
request_changes_time
- Description
- Use Case
-
This metric can be used to calculate the latency of requested changes:
changes request latency
=request_changes_time
/request_changes_count
rev_processing_time
- Description
-
The total amount of time processing rev messages (revisions) during pull revision.
- Use Case
-
This metric can be used with rev_send_count to calculate the average processing time per revision:
average processing time per revision
=rev_processing_time
/rev_send_count
rev_send_count
- Description
-
The total number of rev messages processed during replication.
- Use Case
-
This metric can be used with rev_processing_time to calculate the average processing time per revision:
average processing time per revision =
rev_processing_time
/rev_send_count
.
rev_send_latency
- Description
-
The total amount of time between Sync Gateway receiving a request for a revision and that revision being sent.
In a pull replication, Sync Gateway sends a
/_changes
request to the client and the client responds with the list of revisions it wants to receive.So,
rev_send_latency
measures the time between the client asking for those revisions and Sync Gateway sending them to the client. - Use Case
-
This metric gives the time taken to respond to a
/ changes
request. - Constraints
The derived value includes latency associated with processing other revisions in the same batch.
Measuring time from the /_changes
response means that this stat will vary significantly depending on the changes batch size
A larger batch size will result in a spike of this stat, even if the processing time per revision is unchanged.
A more useful stat might be the average processing time per revision:
average processing time per revision
= rev_processing_time
] / rev_send_count
cbl_replication_push
conflict_write_count
- Description
-
The total number of writes that left the document in a conflicted state. Includes new conflicts, and mutations that don’t resolve existing conflicts.
propose_change_count
- Description
-
The total number of changes and-or proposeChanges messages processed since node start-up.
- Use Case
-
The propose_change_count stat can be useful when:
-
Assessing the number of redundant requested changes being pushed by the client.
Do this by comparing the propose_change_count value with the number of actual writes num_doc_writes, which could indicate that clients are pushing changes already known to Sync Gateway.
-
Identifying situations where push replications are unexpectedly being restarted from zero.
P2P synchronizations will typically show a higher incidences of rejected proposed changes.
-
propose_change_time
- Description
-
The total time spent processing changes and/or proposeChanges messages.
- Use Case
-
The propose_change_time stat can be useful in diagnosing push replication issues arising from potential bottlenecks changes and-or proposeChanges processing.
- Contraints
-
The propose_change_time is not included in the write_processing_time.
sync_function_count
- Description
-
The total number of times that the sync_function is evaluated.
- Use Case
-
The {sync_function_count_ stat is useful in assessing the usage of the sync_function, when used in conjunction with the sync_function_time.
sync_function_time
- Description
-
The total time spent evaluating the sync_function.
- Use Case
-
The sync_function_time stat can be useful when:
-
Troubleshooting excessively long push times, where it can help identify potential sync_function bottlenecks (for example, those arising from complex, or inefficient, sync_function design
-
Assessing the overall contribution of the sync_function processing to overall push replication write times.
-
write_processing_time
- Description
-
Total time spent processing writes. Measures complete request-to-response time for a write.
- Use Case
-
The write_processing_time stat can be useful when:
-
Determining the average time per write:
average time per write
= write_processing_time / num_doc_writes stat value -
Assessing the benefit of adding additional Sync Gateway nodes, as it can point to Sync Gateway being a bottleneck
-
Troubleshooting slow push replication, in which case it ought to be considered in conjunction with sync_function_time.
-
database
Stats relative to the database
abandoned_seqs
- Description
-
The total number of skipped sequences abandoned, based on
cache.channel_cache.max_wait_skipped
.
cache_feed
- Description
-
Contains low level dcp stats:
-
dcp_backfill_expected
- the expected number of sequences in backfill -
dcp_backfill_completed
- the number of backfill items processed -
dcp_rollback_count
- the number of DCP rollbacks.
-
crc32c_match_count
- Description
-
The total number of instances during import when the document cas had changed, but the document was not imported because the document body had not changed.
dcp_caching_count
- Description
-
The total number of DCP mutations added to Sync Gateway’s channel cache.
- Use Case
-
Can be used with
dcp_caching_time
to monitor cache processing latency. That is, the time between seeing a change on the DCP feed and when it’s available in the channel cache:DCP cache latency
=dcp_caching_time
/dcp_caching_count
dcp_caching_time
- Description
-
The total time between a DCP mutation arriving at Sync Gateway and being added to channel cache.
- Use Case
-
This metric can be used with
dcp_caching_count
to monitor cache processing latency. That is, the time between seeing a change on the DCP feed and when it’s available in the channel cache:dcp_cache_latency
=dcp_caching_time
/dcp_caching_count
dcp_received_count
- Description
-
The total number of document mutations received by Sync Gateway over DCP.
dcp_received_time
- Description
-
The time between a document write and that document being received by Sync Gateway over DCP. If the document was written prior to Sync Gateway starting the feed, it is recorded as the time since the feed was started.
- Use Case
-
This metric can be used to monitor DCP feed processing latency.
doc_reads_bytes_blip
- Description
-
The total number of bytes read via Couchbase Lite 2.x replication since Sync Gateway node startup.
doc_writes_bytes
- Description
-
The total number of bytes written as part of document writes since Sync Gateway node startup.
doc_writes_bytes_blip
- Description
-
The total number of bytes written as part of Couchbase Lite document writes since Sync Gateway node startup.
import_feed
- Description
-
This metric contains low level dcp stats:
-
dcp_backfill_expected
- the total expected number of sequences in backfill -
dcp_backfill_completed
- the total number of backfill items processed -
dcp_rollback_count
- the total number of rollbacks that occur.
-
num_doc_reads_blip
- Description
-
The total number of documents read via Couchbase Lite 2.x replication since Sync Gateway node startup.
num_doc_reads_rest
- Description
-
The total number of documents read via the REST API since Sync Gateway node startup. Includes Couchbase Lite 1.x replication.
num_doc_writes
- Description
-
The total number of documents written by any means (replication, rest API interaction or imports) since Sync Gateway node startup.
num_replications_active
- Description
-
The total number of active replications.
- Constraints
-
This metric only counts continuous pull replications.
num_replications_total
- Description
-
The total number of replications created since Sync Gateway node startup.
sequence_incr_count
- Description
-
The total number of times the sequence counter document has been incremented.
sequence_released_count
- Description
-
The total number of unused, reserved sequences released by Sync Gateway.
warn_channel_name_size_count
- Description
-
The total number of warnings relating to the channel name size.
warn_channels_per_doc_count
- Description
-
The total number of warnings relating to the channel count exceeding the channel count threshold.
- Corresponding warning message
Doc id: {document id} channel count: {channel count} exceeds {channel count} for channels per doc warning threshold
delta_sync
delta_cache_hit
- Description
-
The total number of requested deltas that were available in the revision cache.
delta_cache_miss
- Description
-
The total number of requested deltas that were not available in the revision cache.
delta_push_doc_count
- Description
-
The total number of documents pushed as a delta from a previous revision.
gsi_views
GSIs
The GSI metrics are defined in this section, where {query name} is a placeholder representing a Valid Query Name from this list:
- Valid Query Names
-
-
access
-
roleAccess
-
channels
-
channelsStar
-
sequences
-
principals
-
sessions
-
tombstones
-
resync
-
allDocs
-
{query name}_count
- Description
-
The total number of queries performed.
Views
The View metrics are defined in this section, where {design doc name} and {view name} are placeholders representing a Valid Design Doc Name and a Valid View Name, as defined in these lists:
- Valid Design Doc Names
-
-
sync_gateway
-
sync_housekeeping
-
- Valid View Names
-
-
principals
-
channels
-
access
-
access_vbseq
-
role_access
-
role_access_vbseq
-
all_docs
-
import
-
sessions
-
tombstones
-
Security
These metrics relate to security.
auth_failed_count
- Description
-
The total number of unsuccessful authentications.
- Use Case
-
This metric is useful in monitoring the number of authentication errors.
auth_success_count
- Description
-
The total number of successful authentications.
- Use Case
-
This metric is useful in monitoring the number of authenticated requests.
num_access_errors
- Description
-
The total number of documents rejected by write access functions (requireAccess, requireRole, requireUser).
num_docs_rejected
- Description
-
The total number of documents rejected by the sync_function.
- Use Case
-
This metric is useful in debugging sync_function issues and identify unexpected incoming documents.
total_auth_time
- Description
-
The total time spent in authenticating all requests.
- Use Cases
-
This metric can be compared with
auth_success_count
andauth_failed_count
to derive an average success and-or fail rate.
shared_bucket_import
Metrics by replication
The metrics collated and reported here relate only to replications run using the inter-Sync Gateway replication.
These metrics refer to Sync Gateway replications only; Couchbase Lite replications are not included. |
Per_replication
(Inter-Sync Gateway)
This per_replication group header encompasses all the stats for each inter-Sync Gateway replication involving its owning database.
It comprises an array of one or more $replname objects, each of which represents the statistics collected and recorded against the specified $replname (replication_id
).
$replname
This object comprises the stats collected and recorded for the inter-Sync Gateway replication named $replname (which equates to a replication_id
).
The same structure is used to return statistics from Inter-Sync Gateway and SG Replicate replications, but not all items are populated by each version.
sgr_docs_checked_sent
- Description
-
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 Inter-Sync Gateway and SG Replicate
-
- Values
-
-
Continuous replication:
The value is true for the duration of the replication, and also once it has caught up (i.e is in the idle state). The value is false if the replication is explicitly cancelled.
-
One-shot replication
The value is true for the duration of the replication, and then false when it has completed or if it is cancelled.
-
- Use Case
-
This metric can be useful when analyzing replication history, and to filter by active replications.
sgr_num_docs_failed_to_push
- Description
-
The total number of documents that failed to be pushed since replication started.
Used by Inter-Sync Gateway and SG Replicate
sgr_num_docs_pushed
- Description
-
The total number of documents that were pushed since replication started.
Used by Inter-Sync Gateway and SG Replicate
sgr_num_attachments_pushed
- Description
-
The total number of attachments that were pushed since replication started.
sgr_num_attachment_bytes_pushed
- Description
-
The total number of bytes in all the attachments that were pushed since replication started.
sgr_num_attachments_pulled
- Description
-
The total number of attachments that were pulled since replication started.
sgr_num_attachment_bytes_pulled
- Description
-
The total number of bytes in all the attachments that were pulled since replication started.
sgr_num_docs_pulled
- Description
-
The total number of documents that were pulled since replication started.
sgr_num_docs_purged
- Description
-
The total number of documents that were purged since replication started.
sgr_num_docs_failed_to_pull
- Description
-
The total number of document pulls that failed since replication started.
sgr_push_conflict_count
- Description
-
The total number of pushed documents that conflicted since replication started.
sgr_push_rejected_count
- Description
-
The total number of pushed documents that were rejected since replication started.
sgr_docs_checked_recv
- Description
-
The total number of documents that were purged since replication started.
sgr_deltas_recv
- Description
-
The total number of documents that were purged since replication started.
sgr_conflict_resolved_local_count
- Description
-
The total number of conflicting documents that were resolved successfully locally (by the active replicator)
sgr_conflict_resolved_remote_count
- Description
-
The total number of conflicting documents that were resolved successfully remotely (by the active replicator)
Metrics by replication ( *deprecated )
This structure and its associated metrics is deprecated at version 2.8. The metrics collated and reported here relate only to replications run using the SG Replicate. For metrics relating to replications run using inter-Sync Gateway replication see: Per_replication.
Per_replication (SG Replicate)
This per_replication group header encompasses all the stats for each inter-Sync Gateway replication involving its owning database.
It comprises an array of one or more $replname objects, each of which represents the statistics collected and recorded against the specified $replname (replication_id
).
These metrics refer to Sync Gateway replications only; Couchbase Lite replications are not included. |
$replname
This object comprises the stats collected and recorded for the inter-Sync Gateway replication named $replname (which equates to a replication_id
).
The same structure is used to return statistics from Inter-Sync Gateway and SG Replicate replications, although not all items are populated by each version.
sgr_active
- Description
-
Whether the replication is active at this time. Deprecated @ 2.8: used only by SG Replicate.
sgr_num_attachments_transferred
- Description
-
The total number of attachments transferred since replication started. Deprecated @ 2.8: used only by SG Replicate.
sgr_num_attachment_bytes_transferred
- Description
-
The total number of attachment bytes transferred since replication started. Deprecated @ 2.8: used only by SG Replicate.
sgr_num_docs_pushed (sgr1)
See: sgr_num_docs_pushed