Alexey Serbin has uploaded this change for review. ( http://gerrit.cloudera.org:8080/20772
Change subject: [util] move TCP socket stats into the Socket class ...................................................................... [util] move TCP socket stats into the Socket class This patch moves the protobuf data structures for TCP socket statistics and transport details from src/kudu/rpc/rpc_introspection.proto into src/kudu/util/net/socket_info.proto, separating them into a standalone file. In addition, four more fields from the kernel's tcp_info struct have been exposed through the SocketStatsPB protobuf message. Those allow for tracking of outstanding/backlogged requests for new connections to TCP sockets being listened to by a Kudu server. The code that used to retrieve statistics on an RPC connection's TCP socket has been moved into the Socket class correspondingly. With that, it's now possible to collect statistics from a TCP socket that's not yet a transport for a KRPC connection. It also makes it a better design choice if considering the TransportDetailsPB::TlsDetails message, since the updated code doesn't need to use dynamic-/down-casting anymore. I also added a new test case to cover two out of four fields in the newly exposed TCP socket statistics: it's not trivial to cover the other two without messing up with a firewall or by selectively dropping IP packets by other means. The functionality of collecting TCP statistics for a Socket instance will be used by follow-up patches that introduce new metrics to track the state of a TCP socket that a Kudu RPC server listens at. Change-Id: I48ba7915f5153bae288b462b07965cdea7b7957b --- M src/kudu/rpc/CMakeLists.txt M src/kudu/rpc/connection.cc M src/kudu/rpc/connection.h M src/kudu/rpc/rpc-test.cc M src/kudu/rpc/rpc_introspection.proto M src/kudu/security/CMakeLists.txt M src/kudu/security/tls_socket.cc M src/kudu/security/tls_socket.h M src/kudu/util/CMakeLists.txt M src/kudu/util/net/socket.cc M src/kudu/util/net/socket.h A src/kudu/util/net/socket_info.proto 12 files changed, 434 insertions(+), 320 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/72/20772/1 -- To view, visit http://gerrit.cloudera.org:8080/20772 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I48ba7915f5153bae288b462b07965cdea7b7957b Gerrit-Change-Number: 20772 Gerrit-PatchSet: 1 Gerrit-Owner: Alexey Serbin <[email protected]>
