Alexey Serbin has uploaded this change for review. (
http://gerrit.cloudera.org:8080/24181
Change subject: WIP [rpc] introduce read/write event loop handler latency
......................................................................
WIP [rpc] introduce read/write event loop handler latency
WIP:
* add test scenarios
* run ad-hoc perf testing to validate the behavior of the newly
introduced metrics
This changelist adds metrics for tracking latency of registered read
and write handlers invoked by the I/O event loop mechanism. The idea
is to be able to tell how much time it took the registered handler
to start reading/writing pending data since the beginning of a loop
prompted by corresponding I/O event.
Two pairs of histograms have been added:
* Histograms of read/write handler latencies for currently active RPC
connections. Each of the histograms is updated when a registed
handler is invoked on a reactor thread in the epoll event loop.
These read/write per-connection histograms are available as a part
of the JSON output at the /rpcz endpoint of the embedded webserver.
* Histograms of maximum read/write latencies among all RPC connections
that have already been closed. Each of the histograms is updated
with connection's lifetime maximum read/write handler latency
upon shutting down the connection. These histograms are available
as server-level metrics that can be fetched from the /metrics and
the /metrics_prometheus endpoint of the embedded webserver. These
are named 'reactor_ev_loop_max_read_latency_us' and
'reactor_ev_loop_max_write_latency_us' correspondingly.
Change-Id: I8f7208d1adfe95bc9e909f7db04221dbb15ea552
---
M src/kudu/rpc/CMakeLists.txt
M src/kudu/rpc/connection.cc
M src/kudu/rpc/connection.h
M src/kudu/rpc/reactor.cc
M src/kudu/rpc/reactor.h
M src/kudu/rpc/rpc_introspection.proto
M src/kudu/util/metrics.cc
M src/kudu/util/metrics.h
8 files changed, 142 insertions(+), 25 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/81/24181/1
--
To view, visit http://gerrit.cloudera.org:8080/24181
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I8f7208d1adfe95bc9e909f7db04221dbb15ea552
Gerrit-Change-Number: 24181
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin <[email protected]>