From 5c29c20426baea10ffb84915788b3bbb4e674012 Mon Sep 17 00:00:00 2001 From: JimMoen Date: Mon, 20 Dec 2021 16:44:51 +0800 Subject: [PATCH 1/2] fix(telemetry): use required fields, rolling distro use PRETTY_NAME --- lib-ce/emqx_telemetry/src/emqx_telemetry.erl | 38 +++++++++----------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/lib-ce/emqx_telemetry/src/emqx_telemetry.erl b/lib-ce/emqx_telemetry/src/emqx_telemetry.erl index 3e8d3ffd3..e07eeb7fb 100644 --- a/lib-ce/emqx_telemetry/src/emqx_telemetry.erl +++ b/lib-ce/emqx_telemetry/src/emqx_telemetry.erl @@ -82,7 +82,7 @@ timer = undefined :: undefined | reference() }). -%% The count of 100-nanosecond intervals between the UUID epoch +%% The count of 100-nanosecond intervals between the UUID epoch %% 1582-10-15 00:00:00 and the UNIX epoch 1970-01-01 00:00:00. -define(GREGORIAN_EPOCH_OFFSET, 16#01b21dd213814000). @@ -253,29 +253,23 @@ os_info() -> [{os_name, Name}, {os_version, Version}]; {unix, _} -> - case file:read_file_info("/etc/os-release") of + case file:read_file("/etc/os-release") of {error, _} -> [{os_name, "Unknown"}, {os_version, "Unknown"}]; - {ok, FileInfo} -> - case FileInfo#file_info.access of - Access when Access =:= read orelse Access =:= read_write -> - OSInfo = lists:foldl(fun(Line, Acc) -> - [Var, Value] = string:tokens(Line, "="), - NValue = case Value of - _ when is_list(Value) -> - lists:nth(1, string:tokens(Value, "\"")); - _ -> - Value - end, - [{Var, NValue} | Acc] - end, [], string:tokens(os:cmd("cat /etc/os-release"), "\n")), - [{os_name, get_value("NAME", OSInfo)}, - {os_version, get_value("VERSION", OSInfo, get_value("VERSION_ID", OSInfo))}]; - _ -> - [{os_name, "Unknown"}, - {os_version, "Unknown"}] - end + {ok, FileContent} -> + OSInfo = lists:foldl(fun(Line, Acc) -> + [Var, Value] = string:tokens(Line, "="), + NValue = case Value of + _ when is_list(Value) -> + lists:nth(1, string:tokens(Value, "\"")); + _ -> + Value + end, + [{Var, NValue} | Acc] + end, [], string:tokens(binary:bin_to_list(FileContent), "\n")), + [{os_name, get_value("NAME", OSInfo)}, + {os_version, get_value("VERSION", OSInfo, get_value("VERSION_ID", OSInfo, get_value("PRETTY_NAME", OSInfo)))}] end; {win32, nt} -> Ver = os:cmd("ver"), @@ -429,5 +423,7 @@ module_attributes(Module) -> bin(L) when is_list(L) -> list_to_binary(L); +bin(A) when is_atom(A) -> + atom_to_binary(A); bin(B) when is_binary(B) -> B. From 2fba756aea96ff815997f0bbc8820d946a5c2a64 Mon Sep 17 00:00:00 2001 From: JimMoen Date: Mon, 20 Dec 2021 18:31:20 +0800 Subject: [PATCH 2/2] chore(telemetry): update appup.src --- lib-ce/emqx_telemetry/src/emqx_telemetry.app.src | 2 +- lib-ce/emqx_telemetry/src/emqx_telemetry.appup.src | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib-ce/emqx_telemetry/src/emqx_telemetry.app.src b/lib-ce/emqx_telemetry/src/emqx_telemetry.app.src index e65678c37..8394836ef 100644 --- a/lib-ce/emqx_telemetry/src/emqx_telemetry.app.src +++ b/lib-ce/emqx_telemetry/src/emqx_telemetry.app.src @@ -1,6 +1,6 @@ {application, emqx_telemetry, [{description, "EMQ X Telemetry"}, - {vsn, "4.3.1"}, % strict semver, bump manually! + {vsn, "4.3.2"}, % strict semver, bump manually! {modules, []}, {registered, [emqx_telemetry_sup]}, {applications, [kernel,stdlib]}, diff --git a/lib-ce/emqx_telemetry/src/emqx_telemetry.appup.src b/lib-ce/emqx_telemetry/src/emqx_telemetry.appup.src index 27998f0d5..23de107d9 100644 --- a/lib-ce/emqx_telemetry/src/emqx_telemetry.appup.src +++ b/lib-ce/emqx_telemetry/src/emqx_telemetry.appup.src @@ -1,13 +1,13 @@ %% -*- mode: erlang -*- {VSN, [ - {"4.3.0", [ + {<<"4\\.3\\.[0-1]">>, [ {load_module, emqx_telemetry, brutal_purge, soft_purge, []} ]}, {<<".*">>, []} ], [ - {"4.3.0", [ + {<<"4\\.3\\.[0-1]">>, [ {load_module, emqx_telemetry, brutal_purge, soft_purge, []} ]}, {<<".*">>, []}