feat(buffer_worker): log expired message count

Fixes https://emqx.atlassian.net/browse/EMQX-10165

```
iex(emqx@127.0.0.1)38> 2023-06-21T11:09:35.569404-03:00 [info] msg: buffer_worker_dropped_expired_messages, mfa: emqx_resource_buffer_worker:log_expired_messge_count/1, line: 982, expired_count: 900, resource_id: <<"bridge:webhook:webhook">>, worker_index: 3
```
This commit is contained in:
Thales Macedo Garitezi 2023-06-21 11:10:48 -03:00
parent 7382c6e6e1
commit decfd6df2b
2 changed files with 18 additions and 0 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.