From 9d72480f2e30a211ca5dbe16929d09e5c8190f5c Mon Sep 17 00:00:00 2001 From: Marcus Holland-Moritz Date: Sat, 27 Apr 2024 15:29:24 +0200 Subject: [PATCH] feat(inode_reader): add context for perfmon tracing --- src/dwarfs/inode_reader_v2.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/dwarfs/inode_reader_v2.cpp b/src/dwarfs/inode_reader_v2.cpp index 28e68eec..4c6449b6 100644 --- a/src/dwarfs/inode_reader_v2.cpp +++ b/src/dwarfs/inode_reader_v2.cpp @@ -99,9 +99,9 @@ class inode_reader_ final : public inode_reader_v2::impl { , LOG_PROXY_INIT(lgr) // clang-format off PERFMON_CLS_PROXY_INIT(perfmon, "inode_reader_v2") - PERFMON_CLS_TIMER_INIT(read) - PERFMON_CLS_TIMER_INIT(readv_iovec) - PERFMON_CLS_TIMER_INIT(readv_future) // clang-format on + PERFMON_CLS_TIMER_INIT(read, "offset", "size") + PERFMON_CLS_TIMER_INIT(readv_iovec, "offset", "size") + PERFMON_CLS_TIMER_INIT(readv_future, "offset", "size") // clang-format on , offset_cache_{offset_cache_size} , readahead_cache_{readahead_cache_size} , iovec_sizes_(1, 0, 256) {} @@ -358,6 +358,7 @@ inode_reader_::readv(uint32_t inode, size_t const size, file_off_t offset, chunk_range chunks) const { PERFMON_CLS_SCOPED_SECTION(readv_future) + PERFMON_SET_CONTEXT(static_cast(offset), size); return read_internal(inode, size, offset, chunks); } @@ -367,6 +368,7 @@ ssize_t inode_reader_::read(char* buf, uint32_t inode, size_t size, file_off_t offset, chunk_range chunks) const { PERFMON_CLS_SCOPED_SECTION(read) + PERFMON_SET_CONTEXT(static_cast(offset), size); return read_internal(inode, size, offset, chunks, [&](size_t num_read, const block_range& br) { @@ -379,6 +381,7 @@ ssize_t inode_reader_::readv(iovec_read_buf& buf, uint32_t inode, size_t size, file_off_t offset, chunk_range chunks) const { PERFMON_CLS_SCOPED_SECTION(readv_iovec) + PERFMON_SET_CONTEXT(static_cast(offset), size); auto rv = read_internal( inode, size, offset, chunks, [&](size_t, const block_range& br) {