diff options
| author | Michael Klishin <michael@clojurewerkz.org> | 2016-06-30 16:12:19 +0300 |
|---|---|---|
| committer | Michael Klishin <michael@clojurewerkz.org> | 2016-06-30 16:12:19 +0300 |
| commit | d600f4ba74c3b6d1c157369b9253a55b4a2589d3 (patch) | |
| tree | 8f24a92953739529c2d5d56cacaaa4499ff44090 /src | |
| parent | f67a8477dee59e79a66c9ed464f04af6d559e811 (diff) | |
| parent | ef4146b4823f56bc8cd6c8509a4c9a32682fceea (diff) | |
| download | rabbitmq-server-git-d600f4ba74c3b6d1c157369b9253a55b4a2589d3.tar.gz | |
Merge branch 'stable'
Diffstat (limited to 'src')
| -rw-r--r-- | src/file_handle_cache.erl | 8 | ||||
| -rw-r--r-- | src/file_handle_cache_stats.erl | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/file_handle_cache.erl b/src/file_handle_cache.erl index f2c28c4e43..3f5232a657 100644 --- a/src/file_handle_cache.erl +++ b/src/file_handle_cache.erl @@ -315,7 +315,7 @@ open_with_absolute_path(Path, Mode, Options) -> case IsWriter andalso HasWriter of true -> {error, writer_exists}; false -> {ok, Ref} = new_closed_handle(Path, Mode1, Options), - case get_or_reopen([{Ref, new}]) of + case get_or_reopen_timed([{Ref, new}]) of {ok, [_Handle1]} -> RCount1 = case is_reader(Mode1) of true -> RCount + 1; @@ -674,7 +674,7 @@ with_handles(Refs, Fun) -> with_handles(Refs, reset, Fun). with_handles(Refs, ReadBuffer, Fun) -> - case get_or_reopen([{Ref, reopen} || Ref <- Refs]) of + case get_or_reopen_timed([{Ref, reopen} || Ref <- Refs]) of {ok, Handles0} -> Handles = case ReadBuffer of reset -> [reset_read_buffer(H) || H <- Handles0]; @@ -712,6 +712,10 @@ with_flushed_handles(Refs, ReadBuffer, Fun) -> end end). +get_or_reopen_timed(RefNewOrReopens) -> + file_handle_cache_stats:update( + io_file_handle_open_attempt, fun() -> get_or_reopen(RefNewOrReopens) end). + get_or_reopen(RefNewOrReopens) -> case partition_handles(RefNewOrReopens) of {OpenHdls, []} -> diff --git a/src/file_handle_cache_stats.erl b/src/file_handle_cache_stats.erl index 8f368a8405..f639881a6f 100644 --- a/src/file_handle_cache_stats.erl +++ b/src/file_handle_cache_stats.erl @@ -26,7 +26,7 @@ [io_reopen, mnesia_ram_tx, mnesia_disk_tx, msg_store_read, msg_store_write, queue_index_journal_write, queue_index_write, queue_index_read]). --define(COUNT_TIME, [io_sync, io_seek]). +-define(COUNT_TIME, [io_sync, io_seek, io_file_handle_open_attempt]). -define(COUNT_TIME_BYTES, [io_read, io_write]). init() -> |
