Skip to content

Commit

Permalink
Report crypto library version in 'rabbitmq-diagnostics status'
Browse files Browse the repository at this point in the history
Just like we do in the node startup banner.

Closes #4799.

(cherry picked from commit 2b80ed5)
  • Loading branch information
michaelklishin authored and mergify[bot] committed May 12, 2022
1 parent f16548c commit fa00d8a
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
5 changes: 5 additions & 0 deletions deps/rabbit/src/rabbit.erl
Original file line number Diff line number Diff line change
Expand Up @@ -678,11 +678,16 @@ maybe_print_boot_progress(true, IterationsLeft) ->

status() ->
Version = base_product_version(),
CryptoLibInfo = case crypto:info_lib() of
[Tuple] when is_tuple(Tuple) -> Tuple;
Tuple when is_tuple(Tuple) -> Tuple
end,
S1 = [{pid, list_to_integer(os:getpid())},
%% The timeout value used is twice that of gen_server:call/2.
{running_applications, rabbit_misc:which_applications()},
{os, os:type()},
{rabbitmq_version, Version},
{crypto_lib_info, CryptoLibInfo},
{erlang_version, erlang:system_info(system_version)},
{memory, rabbit_vm:memory()},
{alarms, alarms()},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ defmodule RabbitMQ.CLI.Ctl.Commands.StatusCommand do
"RabbitMQ version: #{m[:rabbitmq_version]}",
"Node name: #{node_name}",
"Erlang configuration: #{m[:erlang_version]}",
"Crypto library: #{m[:crypto_lib_version]}",
"Erlang processes: #{m[:processes][:used]} used, #{m[:processes][:limit]} limit",
"Scheduler run queue: #{m[:run_queue]}",
"Cluster heartbeat timeout (net_ticktime): #{m[:net_ticktime]}"
Expand Down Expand Up @@ -204,13 +205,19 @@ defmodule RabbitMQ.CLI.Ctl.Commands.StatusCommand do
#

defp result_map(result) do
crypto_lib_version = case Keyword.get(result, :crypto_lib_info) do
{_, _, version} -> version
other -> other
end

%{
os: os_name(Keyword.get(result, :os)),
pid: Keyword.get(result, :pid),
product_name: Keyword.get(result, :product_name) |> to_string,
product_version: Keyword.get(result, :product_version) |> to_string,
rabbitmq_version: Keyword.get(result, :rabbitmq_version) |> to_string,
erlang_version: Keyword.get(result, :erlang_version) |> to_string |> String.trim_trailing,
crypto_lib_version: crypto_lib_version,
uptime: Keyword.get(result, :uptime),
is_under_maintenance: Keyword.get(result, :is_under_maintenance, false),
processes: Enum.into(Keyword.get(result, :processes), %{}),
Expand Down

0 comments on commit fa00d8a

Please sign in to comment.