SMCSS(8)

NAME
smcd-stats - Print statistics about SMC-D usage smcr-stats - Print statistics about SMC-R usage

SYNOPSIS

smcd [ OPTIONS ] stats { COMMAND | help }

smcr [ OPTIONS ] stats { COMMAND | help }

DESCRIPTION
The smcd stats and smcr stats commands display statistics about SMC-D and SMC-R, respectively. Data includes number of connections, number of failed connections, buffer information, and special calls. Statistics are collected at various data points in the smc kernel module. Therefore, minor inconsistencies in the data can occur and are to be expected.

COMMANDS

show (default)
    Display statistics on respective SMC mode usage. Values displayed are cumulative since last reset, unless option -a/--absolute is specified.

reset
    Display current statistics and reset all counters to zero.

json
    Display current statistics in JSON format.

OPTIONS

-d, --details
    Display additional fields and information in the output.

-a, --absolute
    Display values since smc module load, ignoring any resets.

OUTPUT
The -d/--details option displays a number of additional fields as indicated in the following. It also breaks up a number of counters in section Connections Summary into separate counts for client and server.

  Total connections handled
Total number of connections handled by the SMC module. Includes TCP fallback connections as well as handshake errors.

  SMC connections
Number of connections that successfully entered the respective SMC mode. -d/--details breaks up connections by SMC versions.

  Handshake errors
Number of connections that failed due to errors during the handshaking phase, e.g. peer no longer responding.

  Avg requests per SMC conn
Average number of requests sent and received (including special socket calls) per SMC connection.

  TCP fallback
Number of connections that fell back to TCP/IP.

  Data transmitted
Amount of data sent (TX) or received (RX) in Bytes.

  Total requests
Total number of individual send (TX) or receive (RX) requests handled. Includes requests that ended with errors or did not transfer any data.

  Buffer full
Number of occurrences where the respective send buffer (TX) could not contain all data to be sent, or did not contain as much data as requested in a receive call (RX).

  Buffer full (remote) (--details only)
Number of occurrences where the peer's receive buffer was exceeded by writing data. That is, requests that fill the buffer up to the last bit are not included in the count.

  Buffer too small (--details only)
Number of occurrences where a send request was larger than the local send buffer's total capacity.

  Buffer too small (remote) (--details only)
Number of occurrences where a send request exceeded the total capacity of the peer's receive buffer.

  Buffer downgrades (--details only)
Number of occurrences where a buffer of the requested size could not be allocated for a new connection, and a smaller buffer was used.

  Buffer reuses (--details only)
Number of occurrences where a buffer was provided as requested for a new connection by reusing a buffer from a previous connection.

  Bufs
Histogram of buffer sizes for all connections, including buffer downgrades and buffer reuses. The histogram scale presents exact buffer sizes.

  Reqs
Histogram of request sizes. The histogram scale includes upper boundaries of request sizes. Counts reflect requested send sizes for TX, and actual receive sizes for RX. Difference to Total requests is due to requests not transferring any data and/or erroneous requests.

  Special socket calls
Summarizes the total number of sockets calls that require special handling in SMC. To categorize these calls into individual counters as follows, use the -d/--details option.

cork
    Counts occurrences of sockopt TCP_CORK enablements. That is, does not reflect the number of send requests with TCP_CORK enabled.

nodelay
    Counts occurrences of sockopt TCP_NODELAY enablements. That is, does not reflect the number of send requests with TCP_CORK enabled.

sendpage
    Counts occurrences of the AF_SMC implementation of the sendpage call.

splice
    Counts number of calls of the splice() system call.

urgent data
    Counts number of send and receive calls with MSG_OOB set.

EXAMPLES

1. Show SMC-D statistics:
# smcd stats

2. Show detailed SMC-R statistics:
# smcr -d stats show

3. Show detailed SMC-R statistics and reset SMC-R statistics counters:
# smcr -d stats reset

4. Show detailed SMC-D statistics since module load in JSON format:
# smcd -da stats json

5. Show SMC-R statistics since module load:
# smcr -a stats

SEE ALSO
smcd(8), smcr(8)