From 27190b89c4c3a3eac022a1bc9ff1f717f849156c Mon Sep 17 00:00:00 2001 From: Mikhail Uvarov Date: Mon, 13 Jun 2022 10:21:39 +0200 Subject: [PATCH] Fix review comments --- big_tests/dynamic_domains.config | 1 - big_tests/test.config | 1 - big_tests/tests/domain_helper.erl | 4 ---- big_tests/tests/graphql_metric_SUITE.erl | 12 ++++++++---- big_tests/tests/mam_helper.erl | 4 ++-- priv/graphql/schemas/admin/metric.gql | 1 + .../admin/mongoose_graphql_metric_admin_query.erl | 11 ++--------- src/graphql/mongoose_graphql_union.erl | 7 +------ 8 files changed, 14 insertions(+), 27 deletions(-) diff --git a/big_tests/dynamic_domains.config b/big_tests/dynamic_domains.config index ca044e64672..6f55ba42706 100644 --- a/big_tests/dynamic_domains.config +++ b/big_tests/dynamic_domains.config @@ -4,7 +4,6 @@ {hosts, [{mim, [{node, mongooseim@localhost}, {domain, <<"domain.example.com">>}, {host_type, <<"test type">>}, - {metric_host_type, <<"test_type">>}, {secondary_domain, <<"domain.example.org">>}, {secondary_host_type, <<"test type">>}, {dynamic_domains, [{<<"test type">>, [<<"domain.example.com">>, <<"domain.example.org">>]}, diff --git a/big_tests/test.config b/big_tests/test.config index 55b36f93b41..b3442e46018 100644 --- a/big_tests/test.config +++ b/big_tests/test.config @@ -19,7 +19,6 @@ {hosts, [{mim, [{node, mongooseim@localhost}, {domain, <<"localhost">>}, {host_type, <<"localhost">>}, - {metric_host_type, <<"localhost">>}, {vars, "mim1"}, {cluster, mim}, {secondary_domain, <<"localhost.bis">>}, diff --git a/big_tests/tests/domain_helper.erl b/big_tests/tests/domain_helper.erl index baacc8bcbf0..8a81a8f4475 100644 --- a/big_tests/tests/domain_helper.erl +++ b/big_tests/tests/domain_helper.erl @@ -11,7 +11,6 @@ host_types/1, host_type/0, host_type/1, - metric_host_type/0, domain_to_host_type/2, domain/0, domain/1, @@ -35,9 +34,6 @@ domain() -> host_type(NodeKey) -> get_or_fail({hosts, NodeKey, host_type}). -metric_host_type() -> - get_or_fail({hosts, mim, metric_host_type}). - domain_to_host_type(Node, Domain) -> {ok, HostType} = rpc(Node, mongoose_domain_core, get_host_type, [Domain]), HostType. diff --git a/big_tests/tests/graphql_metric_SUITE.erl b/big_tests/tests/graphql_metric_SUITE.erl index bf8093523ba..635494b6b66 100644 --- a/big_tests/tests/graphql_metric_SUITE.erl +++ b/big_tests/tests/graphql_metric_SUITE.erl @@ -101,7 +101,7 @@ get_by_name_global_erlang_metrics(Config) -> variables => #{}, operationName => <<"Q1">>}, Config), ParsedResult = ok_result(<<"metric">>, <<"getMetrics">>, Result), Map = maps:from_list([{Name, X} || X = #{<<"name">> := Name} <- ParsedResult]), - Info = maps:get([<<"global">>,<<"erlang">>, <<"system_info">>], Map), + Info = maps:get([<<"global">>, <<"erlang">>, <<"system_info">>], Map), %% VMSystemInfoMetric type #{<<"type">> := <<"vm_system_info">>} = Info, check_metric_by_type(Info), @@ -152,6 +152,7 @@ get_by_name_metrics_as_dicts(Config) -> Result = execute_auth(#{query => get_by_args_metrics_as_dicts_call(Args), variables => #{}, operationName => <<"Q1">>}, Config), ParsedResult = ok_result(<<"metric">>, <<"getMetricsAsDicts">>, Result), + [_|_] = ParsedResult, %% Only xmppStanzaSent type lists:foreach(fun(#{<<"dict">> := Dict, <<"name">> := [_, <<"xmppStanzaSent">>]}) -> check_spiral_dict(Dict) @@ -163,7 +164,7 @@ get_metrics_as_dicts_with_key_one(Config) -> operationName => <<"Q1">>}, Config), ParsedResult = ok_result(<<"metric">>, <<"getMetricsAsDicts">>, Result), Map = dict_objects_to_map(ParsedResult), - SentName = [domain_helper:metric_host_type(), <<"xmppStanzaSent">>], + SentName = [metric_host_type(), <<"xmppStanzaSent">>], [#{<<"key">> := <<"one">>, <<"value">> := One}] = maps:get(SentName, Map), true = is_integer(One). @@ -188,7 +189,7 @@ get_by_name_cluster_metrics_as_dicts(Config) -> %% Contains data for at least two nodes true = maps:size(Map) > 1, %% Only xmppStanzaSent type - maps:map(fun(_Node, NodeRes) -> + maps:map(fun(_Node, [_|_] = NodeRes) -> lists:foreach(fun(#{<<"dict">> := Dict, <<"name">> := [_, <<"xmppStanzaSent">>]}) -> check_spiral_dict(Dict) @@ -208,7 +209,7 @@ check_node_result_is_valid(ResList, MetricsAreGlobal) -> Map = dict_objects_to_map(ResList), SentName = case MetricsAreGlobal of true -> [<<"global">>, <<"xmppStanzaSent">>]; - false -> [domain_helper:metric_host_type(), <<"xmppStanzaSent">>] + false -> [metric_host_type(), <<"xmppStanzaSent">>] end, check_spiral_dict(maps:get(SentName, Map)), [#{<<"key">> := <<"value">>,<<"value">> := V}] = @@ -310,3 +311,6 @@ check_spiral_dict(Dict) -> values_are_integers(Map, Keys) -> lists:foreach(fun(Key) -> true = is_integer(maps:get(Key, Map)) end, Keys). + +metric_host_type() -> + binary:replace(domain_helper:host_type(), <<" ">>, <<"_">>, [global]). diff --git a/big_tests/tests/mam_helper.erl b/big_tests/tests/mam_helper.erl index 10ae4f28925..4b450fa0b5f 100644 --- a/big_tests/tests/mam_helper.erl +++ b/big_tests/tests/mam_helper.erl @@ -655,9 +655,9 @@ send_muc_rsm_messages(Config) -> escalus:wait_for_stanzas(Alice, 3), %% Alice sends messages to Bob. - lists:foreach(fun(N) -> + lists:foreach(fun(NN) -> escalus:send(Alice, escalus_stanza:groupchat_to( - RoomAddr, generate_message_text(N))) + RoomAddr, generate_message_text(NN))) end, lists:seq(1, N)), assert_list_size(N, escalus:wait_for_stanzas(Bob, N)), assert_list_size(N, escalus:wait_for_stanzas(Alice, N)), diff --git a/priv/graphql/schemas/admin/metric.gql b/priv/graphql/schemas/admin/metric.gql index 12007cea355..4f439aa79cc 100644 --- a/priv/graphql/schemas/admin/metric.gql +++ b/priv/graphql/schemas/admin/metric.gql @@ -32,6 +32,7 @@ type HistogramMetric { min: Int "Max value" max: Int + "Median value" median: Int "50th percentile" p50: Int diff --git a/src/graphql/admin/mongoose_graphql_metric_admin_query.erl b/src/graphql/admin/mongoose_graphql_metric_admin_query.erl index e7229d4261a..72220f68efe 100644 --- a/src/graphql/admin/mongoose_graphql_metric_admin_query.erl +++ b/src/graphql/admin/mongoose_graphql_metric_admin_query.erl @@ -78,14 +78,7 @@ prepare_key(X) when is_integer(X) -> %% For percentiles prepare_name(null) -> []; -prepare_name([<<"global">> | T]) -> - [global | prepare_name2(T)]; -prepare_name([H | T]) -> - [binary_to_atom(H) | prepare_name2(T)]; -prepare_name([]) -> - []. - -prepare_name2(Segments) -> +prepare_name(Segments) -> lists:map(fun binary_to_atom/1, Segments). make_metric_result({Name, Dict}) -> @@ -164,7 +157,7 @@ format_merged_inet_stats(#{connections := Cons, <<"send_pend">> => SPend}. format_rdbms_stats(#{recv_cnt := RCnt, recv_max := RMax, recv_oct := ROct, - send_cnt := SCnt,send_max := SMax, send_oct := SOct, + send_cnt := SCnt, send_max := SMax, send_oct := SOct, send_pend := SPend, workers := Workers}) -> #{<<"type">> => <<"rdbms_stats">>, <<"workers">> => Workers, <<"recv_cnt">> => RCnt, <<"recv_max">> => RMax, <<"recv_oct">> => ROct, diff --git a/src/graphql/mongoose_graphql_union.erl b/src/graphql/mongoose_graphql_union.erl index ba3521c425e..acce89eb71d 100644 --- a/src/graphql/mongoose_graphql_union.erl +++ b/src/graphql/mongoose_graphql_union.erl @@ -20,8 +20,6 @@ execute(#{<<"type">> := <<"gauge">>, <<"name">> := _, <<"value">> := _}) -> {ok, <<"GaugeMetric">>}; execute(#{<<"type">> := <<"merged_inet_stats">>, <<"connections">> := _}) -> {ok, <<"MergedInetStatsMetric">>}; -execute(#{<<"type">> := <<"merged_inet_stats">>, <<"connections">> := _}) -> - {ok, <<"MergedInetStatsMetric">>}; execute(#{<<"type">> := <<"vm_stats_memory">>, <<"processes_used">> := _}) -> {ok, <<"VMStatsMemoryMetric">>}; execute(#{<<"type">> := <<"vm_system_info">>, <<"port_count">> := _}) -> @@ -29,7 +27,4 @@ execute(#{<<"type">> := <<"vm_system_info">>, <<"port_count">> := _}) -> execute(#{<<"type">> := <<"probe_queues">>, <<"fsm">> := _}) -> {ok, <<"ProbeQueuesMetric">>}; execute(#{<<"type">> := <<"rdbms_stats">>, <<"workers">> := _}) -> - {ok, <<"RDBMSStatsMetric">>}; -execute(Value) -> - ?LOG_ERROR(#{what => graphql_unknown_type, value => Value}), - {error, unknown_type}. + {ok, <<"RDBMSStatsMetric">>}.