diff options
| author | Matthias Radestock <matthias@lshift.net> | 2008-11-24 11:02:31 +0000 |
|---|---|---|
| committer | Matthias Radestock <matthias@lshift.net> | 2008-11-24 11:02:31 +0000 |
| commit | 7c50f0f937f93ad763f2621786d5dffdf9d36dff (patch) | |
| tree | 756f723c73b8df19284c4030db3cbcf45bef1036 /src | |
| parent | caede44da77c98cfad317aa3918bc8621e7dc3a1 (diff) | |
| download | rabbitmq-server-git-7c50f0f937f93ad763f2621786d5dffdf9d36dff.tar.gz | |
add some socket stats to info
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_reader.erl | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl index cbadaff2c6..da8651da8f 100644 --- a/src/rabbit_reader.erl +++ b/src/rabbit_reader.erl @@ -52,6 +52,7 @@ -define(INFO_KEYS, [pid, address, port, peer_address, peer_port, + recv_oct, recv_cnt, send_oct, send_cnt, send_pend, state, channels, user, vhost, timeout, frame_max]). %% connection lifecycle @@ -663,6 +664,16 @@ i(peer_address, #v1{sock = Sock}) -> i(peer_port, #v1{sock = Sock}) -> {ok, {_, P}} = inet:peername(Sock), P; +i(SockStat, #v1{sock = Sock}) when SockStat =:= recv_oct; + SockStat =:= recv_cnt; + SockStat =:= send_oct; + SockStat =:= send_cnt; + SockStat =:= send_pend -> + case inet:getstat(Sock, [SockStat]) of + {ok, [{SockStat, StatVal}]} -> StatVal; + {error, einval} -> undefined; + {error, Error} -> throw({cannot_get_socket_stats, Error}) + end; i(state, #v1{connection_state = S}) -> S; i(channels, #v1{}) -> |
