Module Raindrops::Linux
In: lib/raindrops/linux.rb  (CVS)

Methods

Constants

PROC_NET_UNIX_ARGS = %w(/proc/net/unix)   The standard proc path for active UNIX domain sockets, feel free to call String#replace on this if your /proc is mounted in a non-standard location for whatever reason

Public Instance methods

Get ListenStats from an array of paths

Socket state mapping from integer => symbol, based on socket_state enum from include/linux/net.h in the \Linux kernel:

    typedef enum {
            SS_FREE = 0,              /* not allocated                */
            SS_UNCONNECTED,           /* unconnected to any socket    */
            SS_CONNECTING,            /* in process of connecting     */
            SS_CONNECTED,             /* connected to socket          */
            SS_DISCONNECTING          /* in process of disconnecting  */
    } socket_state;
  • SS_CONNECTING maps to ListenStats#queued
  • SS_CONNECTED maps to ListenStats#active

This method may be significantly slower than its tcp_listener_stats counterpart due to the latter being able to use inet_diag via netlink. This parses /proc/net/unix as there is no other (known) way to expose Unix domain socket statistics over netlink.

[Validate]