[PATCH] vinyl: improve latency stat
Vladimir Davydov
vdavydov.dev at gmail.com
Sat Mar 3 13:33:37 MSK 2018
On Fri, Mar 02, 2018 at 03:17:36PM +0300, Vladimir Davydov wrote:
> To facilitate performance analysis, let us
> - Report not only 99th percentile, but also 50th, 75th, 90th, and 95th.
> - Add microsecond-granular buckets to the latency histogram.
> - Use clock_monotonic() instead of ev_monotonic_now() for measuring
> latency as it is more precise and allows to catch CPU-bound stalls.
> On Linux the syscall is implemented using VDSO so it shouldn't
> introduce any noticable performance penalty.
>
> Closes #3207
> ---
> https://github.com/tarantool/tarantool/issues/3207
> https://github.com/tarantool/tarantool/tree/gh-3207-vy-improve-latency-stat
>
> src/box/vinyl.c | 9 ++++++++-
> src/box/vy_point_lookup.c | 5 +++--
> src/box/vy_read_iterator.c | 9 ++++++---
> src/latency.c | 13 ++++++-------
> src/latency.h | 3 ++-
> 5 files changed, 25 insertions(+), 14 deletions(-)
This patch breaks compilation on CentOS 6 because of missing lrt
dependency. I fixed it on the branch:
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 8ab09e96..ee9f4421 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -111,6 +111,9 @@ target_link_libraries(core
${LIBCORO_LIBRARIES}
${MSGPUCK_LIBRARIES}
)
+if (TARGET_OS_LINUX)
+ target_link_libraries(core rt)
+endif()
add_library(stat STATIC rmean.c latency.c histogram.c)
target_link_libraries(stat core)
More information about the Tarantool-patches
mailing list