feat(limiter): lift the log level of rate limiter to `warning`
This commit is contained in:
parent
23a1b18459
commit
1fefb421bc
|
@ -1013,17 +1013,24 @@ check_limiter(
|
||||||
Data,
|
Data,
|
||||||
WhenOk,
|
WhenOk,
|
||||||
Msgs,
|
Msgs,
|
||||||
#state{limiter_timer = undefined, limiter = Limiter} = State
|
#state{channel = Channel, limiter_timer = undefined, limiter = Limiter} = State
|
||||||
) ->
|
) ->
|
||||||
case emqx_limiter_container:check_list(Needs, Limiter) of
|
case emqx_limiter_container:check_list(Needs, Limiter) of
|
||||||
{ok, Limiter2} ->
|
{ok, Limiter2} ->
|
||||||
WhenOk(Data, Msgs, State#state{limiter = Limiter2});
|
WhenOk(Data, Msgs, State#state{limiter = Limiter2});
|
||||||
{pause, Time, Limiter2} ->
|
{pause, Time, Limiter2} ->
|
||||||
?SLOG(debug, #{
|
?SLOG_THROTTLE(
|
||||||
msg => "pause_time_due_to_rate_limit",
|
warning,
|
||||||
needs => Needs,
|
#{
|
||||||
time_in_ms => Time
|
msg => pause_time_due_to_rate_limit,
|
||||||
}),
|
needs => Needs,
|
||||||
|
time_in_ms => Time
|
||||||
|
},
|
||||||
|
#{
|
||||||
|
tag => "RATE",
|
||||||
|
clientid => emqx_channel:info(clientid, Channel)
|
||||||
|
}
|
||||||
|
),
|
||||||
|
|
||||||
Retry = #retry{
|
Retry = #retry{
|
||||||
types = [Type || {_, Type} <- Needs],
|
types = [Type || {_, Type} <- Needs],
|
||||||
|
@ -1057,7 +1064,7 @@ check_limiter(
|
||||||
|
|
||||||
%% try to perform a retry
|
%% try to perform a retry
|
||||||
-spec retry_limiter(state()) -> _.
|
-spec retry_limiter(state()) -> _.
|
||||||
retry_limiter(#state{limiter = Limiter} = State) ->
|
retry_limiter(#state{channel = Channel, limiter = Limiter} = State) ->
|
||||||
#retry{types = Types, data = Data, next = Next} =
|
#retry{types = Types, data = Data, next = Next} =
|
||||||
emqx_limiter_container:get_retry_context(Limiter),
|
emqx_limiter_container:get_retry_context(Limiter),
|
||||||
case emqx_limiter_container:retry_list(Types, Limiter) of
|
case emqx_limiter_container:retry_list(Types, Limiter) of
|
||||||
|
@ -1071,11 +1078,18 @@ retry_limiter(#state{limiter = Limiter} = State) ->
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
{pause, Time, Limiter2} ->
|
{pause, Time, Limiter2} ->
|
||||||
?SLOG(debug, #{
|
?SLOG_THROTTLE(
|
||||||
msg => "pause_time_due_to_rate_limit",
|
warning,
|
||||||
types => Types,
|
#{
|
||||||
time_in_ms => Time
|
msg => pause_time_due_to_rate_limit,
|
||||||
}),
|
types => Types,
|
||||||
|
time_in_ms => Time
|
||||||
|
},
|
||||||
|
#{
|
||||||
|
tag => "RATE",
|
||||||
|
clientid => emqx_channel:info(clientid, Channel)
|
||||||
|
}
|
||||||
|
),
|
||||||
|
|
||||||
TRef = start_timer(Time, limit_timeout),
|
TRef = start_timer(Time, limit_timeout),
|
||||||
|
|
||||||
|
|
|
@ -600,17 +600,24 @@ check_limiter(
|
||||||
Data,
|
Data,
|
||||||
WhenOk,
|
WhenOk,
|
||||||
Msgs,
|
Msgs,
|
||||||
#state{limiter_timer = undefined, limiter = Limiter} = State
|
#state{channel = Channel, limiter_timer = undefined, limiter = Limiter} = State
|
||||||
) ->
|
) ->
|
||||||
case emqx_limiter_container:check_list(Needs, Limiter) of
|
case emqx_limiter_container:check_list(Needs, Limiter) of
|
||||||
{ok, Limiter2} ->
|
{ok, Limiter2} ->
|
||||||
WhenOk(Data, Msgs, State#state{limiter = Limiter2});
|
WhenOk(Data, Msgs, State#state{limiter = Limiter2});
|
||||||
{pause, Time, Limiter2} ->
|
{pause, Time, Limiter2} ->
|
||||||
?SLOG(debug, #{
|
?SLOG_THROTTLE(
|
||||||
msg => "pause_time_due_to_rate_limit",
|
warning,
|
||||||
needs => Needs,
|
#{
|
||||||
time_in_ms => Time
|
msg => pause_time_due_to_rate_limit,
|
||||||
}),
|
needs => Needs,
|
||||||
|
time_in_ms => Time
|
||||||
|
},
|
||||||
|
#{
|
||||||
|
tag => "RATE",
|
||||||
|
clientid => emqx_channel:info(clientid, Channel)
|
||||||
|
}
|
||||||
|
),
|
||||||
|
|
||||||
Retry = #retry{
|
Retry = #retry{
|
||||||
types = [Type || {_, Type} <- Needs],
|
types = [Type || {_, Type} <- Needs],
|
||||||
|
@ -644,7 +651,7 @@ check_limiter(
|
||||||
State#state{limiter_buffer = queue:in(New, Buffer)}.
|
State#state{limiter_buffer = queue:in(New, Buffer)}.
|
||||||
|
|
||||||
-spec retry_limiter(state()) -> state().
|
-spec retry_limiter(state()) -> state().
|
||||||
retry_limiter(#state{limiter = Limiter} = State) ->
|
retry_limiter(#state{channel = Channel, limiter = Limiter} = State) ->
|
||||||
#retry{types = Types, data = Data, next = Next} = emqx_limiter_container:get_retry_context(
|
#retry{types = Types, data = Data, next = Next} = emqx_limiter_container:get_retry_context(
|
||||||
Limiter
|
Limiter
|
||||||
),
|
),
|
||||||
|
@ -659,11 +666,18 @@ retry_limiter(#state{limiter = Limiter} = State) ->
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
{pause, Time, Limiter2} ->
|
{pause, Time, Limiter2} ->
|
||||||
?SLOG(debug, #{
|
?SLOG_THROTTLE(
|
||||||
msg => "pause_time_due_to_rate_limit",
|
warning,
|
||||||
types => Types,
|
#{
|
||||||
time_in_ms => Time
|
msg => pause_time_due_to_rate_limit,
|
||||||
}),
|
types => Types,
|
||||||
|
time_in_ms => Time
|
||||||
|
},
|
||||||
|
#{
|
||||||
|
tag => "RATE",
|
||||||
|
clientid => emqx_channel:info(clientid, Channel)
|
||||||
|
}
|
||||||
|
),
|
||||||
|
|
||||||
TRef = start_timer(Time, limit_timeout),
|
TRef = start_timer(Time, limit_timeout),
|
||||||
|
|
||||||
|
|
|
@ -84,7 +84,8 @@
|
||||||
cannot_publish_to_topic_due_to_not_authorized,
|
cannot_publish_to_topic_due_to_not_authorized,
|
||||||
cannot_publish_to_topic_due_to_quota_exceeded,
|
cannot_publish_to_topic_due_to_quota_exceeded,
|
||||||
connection_rejected_due_to_license_limit_reached,
|
connection_rejected_due_to_license_limit_reached,
|
||||||
dropped_msg_due_to_mqueue_is_full
|
dropped_msg_due_to_mqueue_is_full,
|
||||||
|
pause_time_due_to_rate_limit
|
||||||
]).
|
]).
|
||||||
|
|
||||||
%% Callback to upgrade config after loaded from config file but before validation.
|
%% Callback to upgrade config after loaded from config file but before validation.
|
||||||
|
|
Loading…
Reference in New Issue