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
commita765a61c445aa3e44682b280559f39c6671a36e3 (patch)
treec149bc56e46c50ae2ee99bfa1fa37a8ec404c2f6
parent56f30a96e9ce6035f8870faf12a13fe7b7f87d61 (diff)
downloadrabbitmq-server-git-a765a61c445aa3e44682b280559f39c6671a36e3.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 cec4bccc95..3364c3aecd 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 d055d84a7b..5a8d7b2943 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) ->