Merge pull request #11115 from thalesmg/log-expired-msgs-buffer-workers-master-20230621

feat(buffer_worker): log expired message count
This commit is contained in:
Thales Macedo Garitezi 2023-06-21 16:20:35 -03:00 committed by GitHub
commit c76fa411db
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 1 deletions

View File

@ -927,6 +927,7 @@ merge_counters(OldCounters, DeltaCounters) ->
flush_metrics(Data = #{id := Id, counters := Counters}) ->
bump_counters(Id, Counters),
set_gauges(Data),
log_expired_message_count(Data),
ensure_metrics_flush_timer(Data#{counters := #{}}).
-spec ensure_metrics_flush_timer(data()) -> data().
@ -966,6 +967,22 @@ do_bump_counters1(dropped_resource_not_found, Val, Id) ->
do_bump_counters1(dropped_resource_stopped, Val, Id) ->
emqx_resource_metrics:dropped_resource_stopped_inc(Id, Val).
-spec log_expired_message_count(data()) -> ok.
log_expired_message_count(_Data = #{id := Id, index := Index, counters := Counters}) ->
ExpiredCount = maps:get(dropped_expired, Counters, 0),
case ExpiredCount > 0 of
false ->
ok;
true ->
?SLOG(info, #{
msg => "buffer_worker_dropped_expired_messages",
resource_id => Id,
worker_index => Index,
expired_count => ExpiredCount
}),
ok
end.
-spec set_gauges(data()) -> ok.
set_gauges(_Data = #{id := Id, index := Index, queue := Q, inflight_tid := InflightTID}) ->
emqx_resource_metrics:queuing_set(Id, Index, queue_count(Q)),

View File

@ -0,0 +1 @@
Added info logs to indicate when buffered messages are dropped due to time-to-live (TTL) expiration.

View File

@ -95,7 +95,9 @@ defmodule EMQXUmbrella.MixProject do
github: "emqx/ranch", ref: "de8ba2a00817c0a6eb1b8f20d6fb3e44e2c9a5aa", override: true},
# in conflict by grpc and eetcd
{:gpb, "4.19.7", override: true, runtime: false},
{:hackney, github: "emqx/hackney", tag: "1.18.1-1", override: true}
{:hackney, github: "emqx/hackney", tag: "1.18.1-1", override: true},
# set by hackney (dependency)
{:ssl_verify_fun, "1.1.6", override: true}
] ++
emqx_apps(profile_info, version) ++
enterprise_deps(profile_info) ++ bcrypt_dep() ++ jq_dep() ++ quicer_dep()