Добавлена оперативная и историческая статистика нод и узлов mnesia #22

This commit is contained in:
2026-05-28 18:59:21 +03:00
parent 29fe0386be
commit f507d08e2c
16 changed files with 753 additions and 201 deletions
+19 -1
View File
@@ -69,6 +69,7 @@ test() ->
test_stats_for_role("Support", SupportToken, loose),
test_stats_with_dates(SuperToken),
test_node_metrics_history(SuperToken),
% Детальная статистика
test_user_stats(SuperToken),
@@ -219,4 +220,21 @@ test_calendar_stats(Token) ->
?assert(maps:is_key(<<"top_calendars_by_positive_reviews">>, Stats)),
?assert(maps:is_key(<<"top_calendars_by_negative_reviews">>, Stats)),
?assert(maps:is_key(<<"top_calendars_by_rating">>, Stats)),
ct:pal(" OK: total=~p", [maps:get(<<"total_calendars">>, Stats)]).
ct:pal(" OK: total=~p", [maps:get(<<"total_calendars">>, Stats)]).
test_node_metrics_history(Token) ->
ct:pal(" TEST: Node metrics history"),
From = <<"2026-01-01T00:00:00Z">>,
To = <<"2026-12-31T23:59:59Z">>,
Path = <<"/v1/admin/nodes/metrics?from=", From/binary, "&to=", To/binary>>,
{ok, 200, _, Body} = api_test_runner:admin_request(get, Path, Token, <<"">>),
Metrics = jsx:decode(list_to_binary(Body), [return_maps]),
?assert(is_list(Metrics)),
% Так как монитор работает, метрики уже должны быть
?assert(length(Metrics) >= 1),
% Проверяем структуру первой метрики
First = hd(Metrics),
?assert(maps:is_key(<<"timestamp">>, First)),
?assert(maps:is_key(<<"node">>, First)),
?assert(maps:is_key(<<"memory_total">>, First)),
ct:pal(" OK: ~p metrics received", [length(Metrics)]).