From 887a74a6cb438c76ff5094037a6460114a648f38 Mon Sep 17 00:00:00 2001 From: zhongwencool Date: Mon, 11 Sep 2023 14:38:04 +0800 Subject: [PATCH] fix: telemetry report error on windows --- apps/emqx_telemetry/src/emqx_telemetry.app.src | 2 +- apps/emqx_telemetry/src/emqx_telemetry.erl | 3 +-- apps/emqx_telemetry/test/emqx_telemetry_SUITE.erl | 6 ++++++ apps/emqx_telemetry/test/emqx_telemetry_api_SUITE.erl | 2 +- changes/ce/fix-11584.en.md | 1 + 5 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 changes/ce/fix-11584.en.md diff --git a/apps/emqx_telemetry/src/emqx_telemetry.app.src b/apps/emqx_telemetry/src/emqx_telemetry.app.src index 4ec8bce8d..d9483298f 100644 --- a/apps/emqx_telemetry/src/emqx_telemetry.app.src +++ b/apps/emqx_telemetry/src/emqx_telemetry.app.src @@ -1,6 +1,6 @@ {application, emqx_telemetry, [ {description, "Report telemetry data for EMQX Opensource edition"}, - {vsn, "0.1.1"}, + {vsn, "0.1.2"}, {registered, [emqx_telemetry_sup, emqx_telemetry]}, {mod, {emqx_telemetry_app, []}}, {applications, [ diff --git a/apps/emqx_telemetry/src/emqx_telemetry.erl b/apps/emqx_telemetry/src/emqx_telemetry.erl index 6196a06fc..8842d7a86 100644 --- a/apps/emqx_telemetry/src/emqx_telemetry.erl +++ b/apps/emqx_telemetry/src/emqx_telemetry.erl @@ -416,10 +416,9 @@ read_raw_build_info() -> file:read_file(Filename). vm_specs() -> - SysMemData = memsup:get_system_memory_data(), [ {num_cpus, erlang:system_info(logical_processors)}, - {total_memory, proplists:get_value(total_memory, SysMemData)} + {total_memory, emqx_mgmt:vm_stats('total.memory')} ]. -spec mqtt_runtime_insights(state()) -> {map(), state()}. diff --git a/apps/emqx_telemetry/test/emqx_telemetry_SUITE.erl b/apps/emqx_telemetry/test/emqx_telemetry_SUITE.erl index 971bcfa35..cf4ae0dee 100644 --- a/apps/emqx_telemetry/test/emqx_telemetry_SUITE.erl +++ b/apps/emqx_telemetry/test/emqx_telemetry_SUITE.erl @@ -70,6 +70,9 @@ end_per_suite(_Config) -> meck:unload(emqx_authz), ok. +init_per_testcase(t_get_telemetry_without_memsup, Config) -> + ok = application:stop(os_mon), + init_per_testcase(t_get_telemetry, Config); init_per_testcase(t_get_telemetry, Config) -> DataDir = ?config(data_dir, Config), mock_httpc(), @@ -198,6 +201,9 @@ init_per_testcase(_Testcase, Config) -> mock_httpc(), Config. +end_per_testcase(t_get_telemetry_without_memsup, Config) -> + application:start(os_mon), + end_per_testcase(t_get_telemetry, Config); end_per_testcase(t_get_telemetry, _Config) -> meck:unload([httpc, emqx_telemetry]), application:stop(emqx_gateway), diff --git a/apps/emqx_telemetry/test/emqx_telemetry_api_SUITE.erl b/apps/emqx_telemetry/test/emqx_telemetry_api_SUITE.erl index e0021080e..cf2335883 100644 --- a/apps/emqx_telemetry/test/emqx_telemetry_api_SUITE.erl +++ b/apps/emqx_telemetry/test/emqx_telemetry_api_SUITE.erl @@ -32,7 +32,7 @@ init_per_suite(Config) -> ok = emqx_common_test_helpers:load_config(emqx_modules_schema, ?BASE_CONF), ok = emqx_common_test_helpers:load_config(emqx_telemetry_schema, ?BASE_CONF), ok = emqx_mgmt_api_test_util:init_suite( - [emqx_conf, emqx_authn, emqx_authz, emqx_telemetry], + [emqx_conf, emqx_authn, emqx_management, emqx_authz, emqx_telemetry], fun set_special_configs/1 ), diff --git a/changes/ce/fix-11584.en.md b/changes/ce/fix-11584.en.md new file mode 100644 index 000000000..dd20646a9 --- /dev/null +++ b/changes/ce/fix-11584.en.md @@ -0,0 +1 @@ +Fixed telemetry reporting error on Windows when os_mon module is unavailable.