
// autogenerated by show asciidoc counters
These counters and their description are based on OsmoGbProxy UNKNOWN-dirty (OsmoGbProxy).

=== Rate Counters

// generating tables for rate_ctr_group
// rate_ctr_group table NSVC Peer Statistics
.ns:nsvc - NSVC Peer Statistics
[options="header"]
|===
| Name | Reference | Description
| packets:in | <<ns:nsvc_packets:in>> | Packets at NS Level  ( In)
| packets:out | <<ns:nsvc_packets:out>> | Packets at NS Level  (Out)
| packets:out:drop | <<ns:nsvc_packets:out:drop>> | Dropped Packets      (Out)
| bytes:in | <<ns:nsvc_bytes:in>> | Bytes at NS Level    ( In)
| bytes:out | <<ns:nsvc_bytes:out>> | Bytes at NS Level    (Out)
| bytes:out:drop | <<ns:nsvc_bytes:out:drop>> | Dropped Bytes        (Out)
| blocked | <<ns:nsvc_blocked>> | NS-VC Block count         
| unblocked | <<ns:nsvc_unblocked>> | NS-VC Unblock count       
| dead | <<ns:nsvc_dead>> | NS-VC gone dead count     
| replaced | <<ns:nsvc_replaced>> | NS-VC replaced other count
| nsei-chg | <<ns:nsvc_nsei-chg>> | NS-VC changed NSEI count  
| lost:alive | <<ns:nsvc_lost:alive>> | ALIVE ACK missing count   
| lost:reset | <<ns:nsvc_lost:reset>> | RESET ACK missing count   
|===
// rate_ctr_group table GBProxy Peer Statistics
.gbproxy:peer - GBProxy Peer Statistics
[options="header"]
|===
| Name | Reference | Description
| blocked | <<gbproxy:peer_blocked>> | BVC Block                       
| unblocked | <<gbproxy:peer_unblocked>> | BVC Unblock                     
| dropped | <<gbproxy:peer_dropped>> | BVC blocked, dropped packet     
| inv-nsei | <<gbproxy:peer_inv-nsei>> | NSEI mismatch                   
| tx-err | <<gbproxy:peer_tx-err>> | NS Transmission error           
|===
// rate_ctr_group table GBProxy Global Statistics
.gbproxy:global - GBProxy Global Statistics
[options="header"]
|===
| Name | Reference | Description
| inv-bvci | <<gbproxy:global_inv-bvci>> | Invalid BVC Identifier          
| inv-lai | <<gbproxy:global_inv-lai>> | Invalid Location Area Identifier
| inv-rai | <<gbproxy:global_inv-rai>> | Invalid Routing Area Identifier 
| inv-nsei | <<gbproxy:global_inv-nsei>> | No BVC established for NSEI     
| proto-err:bss | <<gbproxy:global_proto-err:bss>> | BSSGP protocol error      (BSS )
| proto-err:sgsn | <<gbproxy:global_proto-err:sgsn>> | BSSGP protocol error      (SGSN)
| not-supp:bss | <<gbproxy:global_not-supp:bss>> | Feature not supported     (BSS )
| not-supp:sgsn | <<gbproxy:global_not-supp:sgsn>> | Feature not supported     (SGSN)
| restart:sgsn | <<gbproxy:global_restart:sgsn>> | Restarted RESET procedure (SGSN)
| tx-err:sgsn | <<gbproxy:global_tx-err:sgsn>> | NS Transmission error     (SGSN)
| error | <<gbproxy:global_error>> | Other error                     
| mod-peer-err | <<gbproxy:global_mod-peer-err>> | Patch error: no peer            
|===
== Osmo Stat Items

// generating tables for osmo_stat_items
NSVC Peer Statistics
// osmo_stat_item_group table NSVC Peer Statistics
.ns.nsvc - NSVC Peer Statistics
[options="header"]
|===
| Name | Reference | Description | Unit
| alive.delay | <<ns.nsvc_alive.delay>> | ALIVE response time         | ms
|===
NS Bind Statistics
// osmo_stat_item_group table NS Bind Statistics
.ns.bind - NS Bind Statistics
[options="header"]
|===
| Name | Reference | Description | Unit
| tx_backlog_length | <<ns.bind_tx_backlog_length>> | Transmit backlog length | packets
|===
== Osmo Counters

// generating tables for osmo_counters
// there are no ungrouped osmo_counters
