test(ds): Attempt to stabilize metrics_worker tests in CI

This commit is contained in:
ieQu1 2024-04-02 17:41:38 +02:00
parent 4382971443
commit ae5935e7f7
No known key found for this signature in database
GPG Key ID: 488654DF3FED6FDE
4 changed files with 36 additions and 8 deletions

View File

@ -221,7 +221,6 @@ do_flush(
emqx_ds_builtin_metrics:inc_egress_batches(Metrics), emqx_ds_builtin_metrics:inc_egress_batches(Metrics),
emqx_ds_builtin_metrics:inc_egress_messages(Metrics, S#s.n), emqx_ds_builtin_metrics:inc_egress_messages(Metrics, S#s.n),
emqx_ds_builtin_metrics:inc_egress_bytes(Metrics, S#s.n_bytes), emqx_ds_builtin_metrics:inc_egress_bytes(Metrics, S#s.n_bytes),
lists:foreach(fun(From) -> gen_server:reply(From, ok) end, Replies),
?tp( ?tp(
emqx_ds_replication_layer_egress_flush, emqx_ds_replication_layer_egress_flush,
#{db => DB, shard => Shard, batch => Messages} #{db => DB, shard => Shard, batch => Messages}

View File

@ -67,7 +67,8 @@ consume(DB, TopicFilter, StartTime) ->
fun({_Stream, Msgs}) -> fun({_Stream, Msgs}) ->
Msgs Msgs
end, end,
consume_per_stream(DB, TopicFilter, StartTime)). consume_per_stream(DB, TopicFilter, StartTime)
).
consume_per_stream(DB, TopicFilter, StartTime) -> consume_per_stream(DB, TopicFilter, StartTime) ->
Streams = emqx_ds:get_streams(DB, TopicFilter, StartTime), Streams = emqx_ds:get_streams(DB, TopicFilter, StartTime),

View File

@ -31,18 +31,17 @@ suite() ->
-define(NAME, ?MODULE). -define(NAME, ?MODULE).
init_per_suite(Config) -> init_per_suite(Config) ->
{ok, _} = emqx_metrics_worker:start_link(?NAME),
Config. Config.
end_per_suite(_Config) -> end_per_suite(_Config) ->
ok = emqx_metrics_worker:stop(?NAME). ok.
init_per_testcase(_, Config) -> init_per_testcase(_, Config) ->
ok = emqx_metrics_worker:stop(?NAME),
{ok, _} = emqx_metrics_worker:start_link(?NAME), {ok, _} = emqx_metrics_worker:start_link(?NAME),
Config. Config.
end_per_testcase(_, _Config) -> end_per_testcase(_, _Config) ->
ok = emqx_metrics_worker:stop(?NAME),
ok. ok.
t_get_metrics(_) -> t_get_metrics(_) ->

View File

@ -0,0 +1,29 @@
Added metrics related to EMQX durable storage to Prometheus.
New metrics:
- `emqx_ds_egress_batches`
- `emqx_ds_egress_batches_retry`
- `emqx_ds_egress_batches_failed`
- `emqx_ds_egress_messages`
- `emqx_ds_egress_bytes`
- `emqx_ds_egress_flush_time`
- `emqx_ds_store_batch_time`
- `emqx_ds_builtin_next_time`
- `emqx_ds_storage_bitfield_lts_counter_seek`
- `emqx_ds_storage_bitfield_lts_counter_next`
- `emqx_ds_storage_bitfield_lts_counter_collision`
Note: these metrics are only visible when session persistence is enabled.
Number of persisted messages has been also added to the dashboard.