STAPPROBES.SOCKET

Section: Misc. Reference Manual Pages (3stap)
Updated: 2009-10-21
Index Return to Main Contents
 

NAME

stapprobes.socket - systemtap socket probe points

 

DESCRIPTION

This family of probe points is used to probe socket activities. It contains the following probe points:

socket.send

Fires at the conclusion of sending a message on a socket. This probe alias includes the socket.sendmsg.return, socket.aio_write.return and socket.writev.return probes (these probes should catch all messages sent on sockets). The arguments supplied at the beginning of the send are cached and made available in this probe.

Context:

The message sender.

Arguments:

name
    Name of this probe.

size
    Size of message sent (in bytes) or error code if success == 0

protocol
    Protocol used on the socket. Use sock_prot_num2str(protocol) 
    to convert to a string.


    Common values include:
         0 - IP (Internet Protocol, local interprocess communications)
         6 - TCP (Transmission Control Protocol)
        17 - UDP (User Datagram Protocol)
       132 - SCTP (Stream Control Transmission Protocol)


     Refer to /etc/protocols for a complete list of possible values.

family
    Protocol family of the socket (from include/linux/socket.h).
    Use sock_fam_num2str(family) to convert to a string.


    Possible values are:
        0  - UNSPEC (Unspecified)
        1  - LOCAL (Unix domain/local sockets)
        2  - INET (Internet Protocol (IP))
        3  - AX25 (Amateur Radio AX.25)
        4  - IPX (Novell IPX)
        5  - APPLETALK (AppleTalk DDP)
        6  - NETROM (Amateur Radio NET/ROM)
        7  - BRIDGE (Multiprotocol bridge)
        8  - ATMPVC (ATM PVCs)
        9  - X25 (X.25)
        10 - INET6 (IP version 6)
        11 - ROSE (Amateur Radio X.25 PLP)
        12 - DECNET (Reserved for DECnet project)
        13 - NETBEUI (Reserved for 802.2LLC project)
        14 - SECURITY (Security callback pseudo AF)
        15 - KEY (key management API)
        16 - NETLINK (Netlink protocol)
        17 - PACKET (Packet family)
        18 - ASH (Ash)
        19 - ECONET (Acorn Econet)
        20 - ATMSVC (ATM SVCs)
        22 - SNA (Linux SNA Project)
        23 - IRDA (IRDA sockets)
        24 - PPP0X (PPPoX sockets)
        25 - WANPIPE (Wanpipe API Sockets)
        26 - LLC (Linux LLC)
        30 - TIPC (TIPC sockets)
        31 - BLUETOOTH (Bluetooth sockets)

state
    State of the socket.  Use sock_state_num2str(state) to convert
    to a string.


    Possible values are:
        0 - FREE (not allocated)
        1 - UNCONNECTED (unconnected to any socket)
        2 - CONNECTING (in the process of connecting)
        3 - CONNECTED (connected to a socket)
        4 - DISCONNECTING (in the process of disconnecting)

flags
    Socket flags.  Use sock_flags_num2str(flags) to convert
    to a string.


    Possible values are:
        0 - ASYNC_NOSPACE
        1 - ASYNC_WAITDATA
        2 - NOSPACE
        3 - PASSCRED
        4 - PASSSEC

type
    Socket type.  Use sock_type_num2str(type) to convert
    to a string.


    Possible values are:
        1  - STREAM (stream connection socket)
        2  - DGRAM (datagram connectionless socket)
        3  - RAW (raw socket)
        4  - RDM (reliably-deliverd message)
        5  - SEQPACKET (sequential packet socket)
        6  - DCCP (datagram congestion control protocol socket)
        10 - PACKET (Linux-specific way of getting packets at device level)

success
    Was send successful?


    Possible values are:
        1 - Yes
        0 - No

socket.receive

Fires at the conclusion of receiving a message on a socket. This probe alias includes the socket.recvmsg.return, socket.aio_read.return and socket.readv.return probes (these probes should catch all messages received on sockets). The arguments supplied at the beginning of the receive are cached and made available in this probe.

Context:

The message receiver.

Arguments:

Same as socket.send.

socket.sendmsg

Fires when the sock_sendmsg() kernel function is entered.

Context:

The message sender.

Arguments:

Same as socket.send, with the following exceptions:

size


    Size of message being sent (in bytes).

success


    Not used.

socket.sendmsg.return

Fires when the sock_sendmsg() kernel function returns.

Context:

The message sender.

Arguments:

Same as socket.send

socket.recvmsg

Fires when the sock_recvmsg() kernel function is entered.

Context:

The message receiver.

Arguments:

Same as socket.receive, with the following exceptions:

size


    Size of message being received (in bytes).

success


    Not used.

socket.recvmsg.return

Fires when the sock_recvmsg() kernel function returns.

Context:

The message receiver.

Arguments:

Same as socket.receive.

socket.aio_write

Fires when the sock_aio_write() kernel function is entered.

Context:

The message sender.

Arguments:

Same as socket.send, with the following exceptions:

size


    Size of message being sent (in bytes).

success


    Not used.

socket.aio_write.return

Fires when the sock_aio_write() kernel function returns.

Context:

The message sender.

Arguments:

Same as socket.send.

socket.aio_read

Fires when the sock_aio_read() kernel function is entered.

Context:

The message receiver.

Arguments:

Same as socket.receive, with the following exceptions:

size


    Size of message being received (in bytes).

success


    Not used.

socket.aio_read.return

Fires when the sock_aio_read() kernel function returns.

Context:

The message receiver.

Arguments:

Same as socket.receive.

socket.writev

Fires when the sock_writev() kernel function is entered.

Context:

The message sender.

Arguments:

Same as socket.send, with the following exceptions:

size


    Size of message being sent (in bytes).

success


    Not used.

socket.writev.return

Fires when the sock_writev() kernel function returns.

Context:

The message sender.

Arguments:

Same as socket.send.

socket.readv

Fires when the sock_readv() kernel function is entered.

Context:

The message receiver.

Arguments:

Same as socket.receive, with the following exceptions:

size


    Size of message being received (in bytes).

success


    Not used.

socket.readv.return

Fires when the sock_readv() kernel function returns.

Context:

The message receiver.

Arguments:

Same as socket.receive.

socket.create

Fires at the beginning of creating a socket.

Context:

The socket creator.

Arguments:

name
protocol
family
type
    See  socket.send.

requester
    Requester type.


    Possible values are:
        1 - kernel
        0 - user

socket.create.return

Fires at the end of creating a socket.

Context:

The socket creator.

Arguments:

Same as socket.create, plus:

err
    Return code.


    Possible values are:
        0 - success
      < 0 - error

success
    Was the socket created successfully?


    Possible values are:
        1 - Yes
        0 - No

socket.close

Fires at the beginning of closing a socket.

Context:

The socket closer.

Arguments:

name
protocol
family
state
flags
type
    See socket.send.

socket.close.return

Fires at the end of closing a socket.

Context:

The socket closer.

Arguments:

name
    Name of this probe.

 

SEE ALSO

stap(1), stapprobes(3stap), stapfuncs(3stap)