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]>

Reply via email to