summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2011-06-09 12:13:40 +0100
committerSimon MacMullen <simon@rabbitmq.com>2011-06-09 12:13:40 +0100
commitc3f40599ea9372bfff768adb8102a3c415d13910 (patch)
tree889cc5bc56b47a218fd2e4c3830e47bb6d47b4c5
parent0b376497cd2eebd5c8522076a24b36a147c5ab37 (diff)
downloadrabbitmq-server-bug24162.tar.gz
Make the stats interval configurable.bug24162
-rw-r--r--ebin/rabbit_app.in1
-rw-r--r--include/rabbit.hrl1
-rw-r--r--src/rabbit_event.erl12
3 files changed, 8 insertions, 6 deletions
diff --git a/ebin/rabbit_app.in b/ebin/rabbit_app.in
index 7dabb8c3..0afd7da6 100644
--- a/ebin/rabbit_app.in
+++ b/ebin/rabbit_app.in
@@ -33,6 +33,7 @@
{cluster_nodes, []},
{server_properties, []},
{collect_statistics, none},
+ {collect_statistics_interval, 5000},
{auth_mechanisms, ['PLAIN', 'AMQPLAIN']},
{auth_backends, [rabbit_auth_backend_internal]},
{delegate_count, 16},
diff --git a/include/rabbit.hrl b/include/rabbit.hrl
index db4773b8..67e2dfe5 100644
--- a/include/rabbit.hrl
+++ b/include/rabbit.hrl
@@ -86,7 +86,6 @@
-define(HIBERNATE_AFTER_MIN, 1000).
-define(DESIRED_HIBERNATE, 10000).
--define(STATS_INTERVAL, 5000).
-define(ROUTING_HEADERS, [<<"CC">>, <<"BCC">>]).
-define(DELETED_HEADER, <<"BCC">>).
diff --git a/src/rabbit_event.erl b/src/rabbit_event.erl
index 9ed532db..468f9293 100644
--- a/src/rabbit_event.erl
+++ b/src/rabbit_event.erl
@@ -26,7 +26,7 @@
%%----------------------------------------------------------------------------
--record(state, {level, timer}).
+-record(state, {level, interval, timer}).
%%----------------------------------------------------------------------------
@@ -49,6 +49,7 @@
-opaque(state() :: #state {
level :: level(),
+ interval :: integer(),
timer :: atom()
}).
@@ -95,13 +96,14 @@ start_link() ->
init_stats_timer() ->
{ok, StatsLevel} = application:get_env(rabbit, collect_statistics),
- #state{level = StatsLevel, timer = undefined}.
+ {ok, Interval} = application:get_env(rabbit, collect_statistics_interval),
+ #state{level = StatsLevel, interval = Interval, timer = undefined}.
ensure_stats_timer(State = #state{level = none}, _Fun) ->
State;
-ensure_stats_timer(State = #state{timer = undefined}, Fun) ->
- {ok, TRef} = timer:apply_after(?STATS_INTERVAL,
- erlang, apply, [Fun, []]),
+ensure_stats_timer(State = #state{interval = Interval,
+ timer = undefined}, Fun) ->
+ {ok, TRef} = timer:apply_after(Interval, erlang, apply, [Fun, []]),
State#state{timer = TRef};
ensure_stats_timer(State, _Fun) ->
State.