summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2014-11-11 16:46:20 +0000
committerSimon MacMullen <simon@rabbitmq.com>2014-11-11 16:46:20 +0000
commit0e338d6fc8638f8eadd594ec72c1e766f3350958 (patch)
treec149bc56e46c50ae2ee99bfa1fa37a8ec404c2f6
parent5957db9e3d058335f70d0c80acf8e28f14176bfc (diff)
downloadrabbitmq-server-0e338d6fc8638f8eadd594ec72c1e766f3350958.tar.gz
Also generate stats on seek.
-rw-r--r--src/file_handle_cache.erl6
-rw-r--r--src/file_handle_cache_stats.erl2
2 files changed, 6 insertions, 2 deletions
diff --git a/src/file_handle_cache.erl b/src/file_handle_cache.erl
index cec4bccc..3364c3ae 100644
--- a/src/file_handle_cache.erl
+++ b/src/file_handle_cache.erl
@@ -550,6 +550,10 @@ prim_file_write(Hdl, Bytes) ->
prim_file_sync(Hdl) ->
file_handle_cache_stats:update(sync, fun() -> prim_file:sync(Hdl) end).
+prim_file_position(Hdl, NewOffset) ->
+ file_handle_cache_stats:update(
+ seek, fun() -> prim_file:position(Hdl, NewOffset) end).
+
is_reader(Mode) -> lists:member(read, Mode).
is_writer(Mode) -> lists:member(write, Mode).
@@ -791,7 +795,7 @@ maybe_seek(NewOffset, Handle = #handle { hdl = Hdl, offset = Offset,
at_eof = AtEoF }) ->
{AtEoF1, NeedsSeek} = needs_seek(AtEoF, Offset, NewOffset),
case (case NeedsSeek of
- true -> prim_file:position(Hdl, NewOffset);
+ true -> prim_file_position(Hdl, NewOffset);
false -> {ok, Offset}
end) of
{ok, Offset1} = Result ->
diff --git a/src/file_handle_cache_stats.erl b/src/file_handle_cache_stats.erl
index d055d84a..5a8d7b29 100644
--- a/src/file_handle_cache_stats.erl
+++ b/src/file_handle_cache_stats.erl
@@ -26,7 +26,7 @@ init() ->
ets:new(?TABLE, [public, named_table]),
[ets:insert(?TABLE, {{Op, Counter}, 0}) || Op <- [read, write],
Counter <- [count, bytes, time]],
- [ets:insert(?TABLE, {{Op, Counter}, 0}) || Op <- [sync],
+ [ets:insert(?TABLE, {{Op, Counter}, 0}) || Op <- [sync, seek],
Counter <- [count, time]].
update(Op, Bytes, Thunk) ->