tap

Gets statistics associated with TAP.

Syntax

Request syntax:

cbstats [host]:11210 tap
cbstats [host]:11210 tap-takeover vb name

Description

TAP is an internal protocol that streams information about data changes between cluster nodes. Couchbase Server uses the TAP protocol during rebalance and replication at other cluster nodes.

TAP stats

Table 1. TAP stats description
Stat Description

ep_tap_ack_grace_period

The amount of time to wait for a TAP acks before disconnecting.

ep_tap_ack_interval

The amount of messages a TAP producer should send before requesting an ack.

ep_tap_ack_window_size

The maximum amount of ack requests that can be sent before the consumer sends a response ack. When the window is full the TAP stream is paused.

ep_tap_backoff_period

The number of seconds the TAP connection should back off after receiving ETMPFAIL.

ep_tap_bg_fetch_requeued

Number of times a TAP background fetch task is requeued.

ep_tap_bg_fetched

Number of TAP disk fetches.

ep_tap_bg_max_pending

The maximum number of background jobs a TAP connection may have.

ep_tap_count

Number of TAP connections.

ep_tap_deletes

Number of TAP deletion messages sent.

ep_tap_fg_fetched

Number of TAP memory fetches.

ep_tap_noop_interval

The number of secs between a noop is added to an idle connection.

ep_tap_queue_backfillremaining

Number of items to be backfilled.

ep_tap_queue_backoff

Total back-off items.

ep_tap_queue_drain

Total drained items.

ep_tap_queue_fill

Total enqueued items.

ep_tap_queue_itemondisk

Number of items remaining on disk.

ep_tap_throttle_queue_cap

Disk write queue cap to throttle tap streams.

ep_tap_throttle_threshold

Percentage of memory in use before we throttle tap streams.

ep_tap_throttled

Number of TAP messages refused due to throttling.

ep_tap_total_backlog_size

Number of remaining items for replication.

ep_tap_total_fetched

Sum of all TAP messages sent.

ep_tap_total_queue

Sum of TAP queue sizes on the current TAP queues.

Per TAP client stats

Each stat begins with ep_TAPq followed by a unique /client_id/ and another colon. For example, if your client is named slave1, the qlen stat would be ep_TAPq:slave1:qlen.

Stat Description P/C

type

The kind of TAP connection (producer or consumer).

PC

created

Creation time for the TAP connection.

PC

supports_ack

true if the connection use acks.

PC

connected

true if this client is connected.

PC

disconnects

Number of disconnects from this client.

PC

reserved

true if the TAP stream is reserved.

P

suspended

true if the TAP stream is suspended.

P

qlen

Queue size for the given client_id.

P

qlen_high_pri

High priority TAP queue items.

P

qlen_low_pri

Low priority TAP queue items.

P

vb_filters

Size of connection vbucket filter set.

P

vb_filter

The content of the vbucket filter.

P

rec_fetched

Tap messages sent to the client

P

rec_skipped

Number of messages skipped due to TAP reconnect with a different filter.

P

idle

true if this connection is idle.

P

has_queued_item

true if there are any remaining items from a hash table or a disk.

P

bg_result_size

Number of ready background results.

P

bg_jobs_issued

Number of background jobs started.

P

bg_jobs_completed

Number of background jobs completed.

P

flags

Connection flags set by the client.

P

pending_disconnect

true if we’re hanging up on this client.

P

paused

true if this client is blocked.

P

pending_backfill

true if we’re still backfilling keys for this connection.

P

pending_disk_backfill

true if we’re still backfilling keys from disk for this connection.

P

backfill_completed

true if all items from backfill is successfully transmitted to the client.

P

backfill_start_timestamp

Timestamp of backfill start.

P

reconnects

Number of reconnects from this client.

P

backfill_age

The age of the start of the backfill.

P

ack_seqno

The current TAP ACK sequence number.

P

recv_ack_seqno

Last receive TAP ACK sequence number.

P

ack_log_size

Tap ACK backlog size.

P

ack_window_full

true if our TAP ACK window is full.

P

seqno_ack_requested

The seqno of the ack message that the producer wants to get a response for.

P

expires

When this ACK backlog expires.

P

queue_memory

Memory used for TAP queue.

P

queue_fill

Total queued items.

P

queue_drain

Total drained items.

P

queue_backoff

Total back-off items.

P

queue_backfillremaining

Number of backfill remaining.

P

queue_itemondisk

Number of items remaining on disk.

P

total_backlog_size

Num of remaining items for replication.

P

total_noops

Number of NOOP messages sent.

P

num_checkpoint_end

Number of chkpoint end operations.

C

num_checkpoint_end_failed

Number of chkpoint end operations failed.

C

num_checkpoint_start

Number of chkpoint end operations.

C

num_checkpoint_start_failed

Number of chkpoint end operations failed.

C

num_delete

Number of delete operations.

C

num_delete_failed

Number of failed delete operations.

C

num_flush

Number of flush operations.

C

num_flush_failed

Number of failed flush operations.

C

num_mutation

Number of mutation operations.

C

num_mutation_failed

Number of failed mutation operations.

C

num_opaque

Number of opaque operation.

C

num_opaque_failed

Number of failed opaque operations.

C

num_vbucket_set

Number of vbucket set operations.

C

num_vbucket_set_failed

Number of failed vbucket set operations.

C

num_unknown

Number of unknown operations.

C

Options

None

Example

Request for TAP stats:

cbstats [host]:11210 tap

Response

Response example for TAP stats

 ep_tap_ack_grace_period:        300
 ep_tap_ack_interval:            1000
 ep_tap_ack_window_size:         10
 ep_tap_backoff_period:          5
 ep_tap_bg_fetch_requeued:       0
 ep_tap_bg_fetched:              0
 ep_tap_bg_max_pending:          500
 ep_tap_count:                   0
 ep_tap_deletes:                 0
 ep_tap_fg_fetched:              0
 ep_tap_noop_interval:           20
 ep_tap_queue_backfillremaining: 0
 ep_tap_queue_backoff:           0
 ep_tap_queue_drain:             0
 ep_tap_queue_fill:              0
 ep_tap_queue_itemondisk:        0
 ep_tap_throttle_queue_cap:      1000000
 ep_tap_throttle_threshold:      90
 ep_tap_throttled:               0
 ep_tap_total_backlog_size:      0
 ep_tap_total_fetched:           0
 ep_tap_total_queue:             0