diff options
author | Michael Klishin <klishinm@vmware.com> | 2022-06-07 08:41:25 +0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-07 08:41:25 +0400 |
commit | a8dd5ac456438ef54ed13c2920afead1a4be4b65 (patch) | |
tree | db33a46b63f3c494356f0d8eac61c2fb89abbe4f | |
parent | aced9fb7ee4032b9be3bc1d1245ddc00ae8c9453 (diff) | |
parent | af094c5628560b5a093582ed415ce07fa7dccc9e (diff) | |
download | rabbitmq-server-git-oid.tar.gz |
Merge pull request #4950 from rabbitmq/mergify/bp/v3.10.x/pr-4928oid
Seshat 0.3.2 (backport #4928)
-rw-r--r-- | MODULE.bazel | 15 | ||||
-rw-r--r-- | deps/rabbit/Makefile | 4 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_global_counters.erl | 16 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_stream_queue.erl | 47 | ||||
-rw-r--r-- | workspace_helpers.bzl | 26 |
5 files changed, 54 insertions, 54 deletions
diff --git a/MODULE.bazel b/MODULE.bazel index ab3dd7e837..18d3c64f87 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -130,7 +130,14 @@ erlang_package.hex( erlang_package.git( repository = "rabbitmq/osiris", - tag = "v1.2.6", + branch = "main", + patch_cmds = [""" +VERSION=$(git rev-parse HEAD) +echo "Injecting ${VERSION} into Makefile..." +sed -i"_orig" -E '/PROJECT_VERSION/ s/[0-9]+\\.[0-9]+\\.[0-9]+/'${VERSION}'/' Makefile +echo "Injecting ${VERSION} into BUILD.bazel..." +sed -i"_orig" -E '/VERSION/ s/[0-9]+\\.[0-9]+\\.[0-9]+/'${VERSION}'/' BUILD.bazel +"""], ) erlang_package.hex( @@ -186,9 +193,9 @@ erlang_package.hex( sha256 = "3624feb7a4b78fd9ae0e66cc3158fe7422770ad6987a1ebf8df4d3303b1c4b0c", ) -erlang_package.git( - repository = "rabbitmq/seshat", - tag = "0.1.0", +erlang_package.hex( + name = "seshat", + version = "0.3.2", ) erlang_package.hex( diff --git a/deps/rabbit/Makefile b/deps/rabbit/Makefile index 5193fd7367..5e45f5b84d 100644 --- a/deps/rabbit/Makefile +++ b/deps/rabbit/Makefile @@ -145,9 +145,9 @@ TEST_DEPS = rabbitmq_ct_helpers rabbitmq_ct_client_helpers amqp_client meck prop PLT_APPS += mnesia dep_syslog = git https://github.com/schlagert/syslog 4.0.0 -dep_osiris = git https://github.com/rabbitmq/osiris v1.2.6 +dep_osiris = git https://github.com/rabbitmq/osiris main dep_systemd = hex 0.6.1 -dep_seshat = git https://github.com/rabbitmq/seshat 0.1.0 +dep_seshat = hex 0.3.2 define usage_xml_to_erl $(subst __,_,$(patsubst $(DOCS_DIR)/rabbitmq%.1.xml, src/rabbit_%_usage.erl, $(subst -,_,$(1)))) diff --git a/deps/rabbit/src/rabbit_global_counters.erl b/deps/rabbit/src/rabbit_global_counters.erl index 6b1377f228..6787556fe5 100644 --- a/deps/rabbit/src/rabbit_global_counters.erl +++ b/deps/rabbit/src/rabbit_global_counters.erl @@ -186,23 +186,23 @@ init(Labels) -> init(Labels, []). init(Labels = [{protocol, Protocol}, {queue_type, QueueType}], Extra) -> - _ = seshat_counters:new_group(?MODULE), - Counters = seshat_counters:new(?MODULE, Labels, ?PROTOCOL_QUEUE_TYPE_COUNTERS ++ Extra), + _ = seshat:new_group(?MODULE), + Counters = seshat:new(?MODULE, Labels, ?PROTOCOL_QUEUE_TYPE_COUNTERS ++ Extra), persistent_term:put({?MODULE, Protocol, QueueType}, Counters); init(Labels = [{protocol, Protocol}], Extra) -> - _ = seshat_counters:new_group(?MODULE), - Counters = seshat_counters:new(?MODULE, Labels, ?PROTOCOL_COUNTERS ++ Extra), + _ = seshat:new_group(?MODULE), + Counters = seshat:new(?MODULE, Labels, ?PROTOCOL_COUNTERS ++ Extra), persistent_term:put({?MODULE, Protocol}, Counters); init(Labels = [{queue_type, QueueType}, {dead_letter_strategy, DLS}], Extra) -> - _ = seshat_counters:new_group(?MODULE), - Counters = seshat_counters:new(?MODULE, Labels, ?MESSAGES_DEAD_LETTERED_COUNTERS ++ Extra), + _ = seshat:new_group(?MODULE), + Counters = seshat:new(?MODULE, Labels, ?MESSAGES_DEAD_LETTERED_COUNTERS ++ Extra), persistent_term:put({?MODULE, QueueType, DLS}, Counters). overview() -> - seshat_counters:overview(?MODULE). + seshat:overview(?MODULE). prometheus_format() -> - seshat_counters:prometheus_format(?MODULE). + seshat:format(?MODULE). increase_protocol_counter(Protocol, Counter, Num) -> counters:add(fetch(Protocol), Counter, Num). diff --git a/deps/rabbit/src/rabbit_stream_queue.erl b/deps/rabbit/src/rabbit_stream_queue.erl index 6307bb75e9..7c0d2318f3 100644 --- a/deps/rabbit/src/rabbit_stream_queue.erl +++ b/deps/rabbit/src/rabbit_stream_queue.erl @@ -42,7 +42,8 @@ -export([parse_offset_arg/1]). -export([status/2, - tracking_status/2]). + tracking_status/2, + get_overview/1]). -include_lib("rabbit_common/include/rabbit.hrl"). -include("amqqueue.hrl"). @@ -561,9 +562,13 @@ i(committed_offset, Q) -> %% TODO should it be on a metrics table? %% The queue could be removed between the list() and this call %% to retrieve the overview. Let's default to '' if it's gone. - Data = osiris_counters:overview(), - maps:get(committed_offset, - maps:get({osiris_writer, amqqueue:get_name(Q)}, Data, #{}), ''); + Key = {osiris_writer, amqqueue:get_name(Q)}, + case osiris_counters:overview(Key) of + undefined -> + ''; + Data -> + maps:get(committed_offset, Data, '') + end; i(policy, Q) -> case rabbit_policy:name(Q) of none -> ''; @@ -602,7 +607,6 @@ status(Vhost, QueueName) -> {error, quorum_queue_not_supported}; {ok, Q} when ?amqqueue_is_stream(Q) -> _Pid = amqqueue:get_pid(Q), - % Max = maps:get(max_segment_size_bytes, Conf, osiris_log:get_default_max_segment_size_bytes()), [begin [{role, Role}, get_key(node, C), @@ -624,33 +628,31 @@ get_counters(Q) -> {ok, Members} = rabbit_stream_coordinator:members(StreamId), QName = amqqueue:get_name(Q), Counters = [begin - Data = safe_get_overview(Node), - get_counter(QName, Data, #{node => Node}) + safe_get_overview(Node, QName) end || Node <- maps:keys(Members)], lists:filter(fun (X) -> X =/= undefined end, Counters). -safe_get_overview(Node) -> - case rpc:call(Node, osiris_counters, overview, []) of +safe_get_overview(Node, QName) -> + case rpc:call(Node, ?MODULE, get_overview, [QName]) of {badrpc, _} -> #{node => Node}; - Data -> - Data + Result -> + Result end. -get_counter(QName, Data, Add) -> - case maps:get({osiris_writer, QName}, Data, undefined) of +get_overview(QName) -> + case osiris_counters:overview({osiris_writer, QName}) of undefined -> - case maps:get({osiris_replica, QName}, Data, undefined) of + case osiris_counters:overview({osiris_replica, QName}) of undefined -> - {undefined, Add}; + undefined; M -> - {replica, maps:merge(Add, M)} + {replica, M#{node => node()}} end; M -> - {writer, maps:merge(Add, M)} + {writer, M#{node => node()}} end. - -spec tracking_status(rabbit_types:vhost(), Name :: rabbit_misc:resource_name()) -> [[{atom(), term()}]] | {error, term()}. tracking_status(Vhost, QueueName) -> @@ -679,13 +681,8 @@ tracking_status(Vhost, QueueName) -> readers(QName) -> try - Data = osiris_counters:overview(), - Readers = case maps:get({osiris_writer, QName}, Data, not_found) of - not_found -> - maps:get(readers, maps:get({osiris_replica, QName}, Data, #{}), 0); - Map -> - maps:get(readers, Map, 0) - end, + {_Role, Counters} = get_overview(QName), + Readers = maps:get(readers, Counters, 0), {node(), Readers} catch _:_ -> diff --git a/workspace_helpers.bzl b/workspace_helpers.bzl index a269749564..395ff21b20 100644 --- a/workspace_helpers.bzl +++ b/workspace_helpers.bzl @@ -152,13 +152,10 @@ erlang_app( sha256 = "a41b6d3e11a3444e063e09cc225f7f3e631ce14019e5fbcaebfda89b1bd788ea", ) - github_erlang_app( + git_repository( name = "osiris", - org = "rabbitmq", - ref = "refs/tags/v1.2.6", - version = "1.2.6", - sha256 = "abfe9bc53b0eb1c14713152314f612562ecb76465b9f804313e3510b73e5720b", - build_file = rabbitmq_workspace + "//:BUILD.osiris", + branch = "main", + remote = "https://github.com/rabbitmq/osiris.git", ) hex_pm_erlang_app( @@ -213,16 +210,15 @@ erlang_app( sha256 = "2c7523c8dee91dff41f6b3d63cba2bd49eb6d2fe5bf1eec0df7f87eb5e230e1c", ) - github_erlang_app( + hex_pm_erlang_app( + name = "redbug", + version = "2.0.7", + sha256 = "3624feb7a4b78fd9ae0e66cc3158fe7422770ad6987a1ebf8df4d3303b1c4b0c", + ) + + hex_pm_erlang_app( name = "seshat", - org = "rabbitmq", - ref = "0.1.0", - version = "0.1.0", - extra_apps = [ - "sasl", - "crypto", - ], - sha256 = "fd20039322eabed814d0dfe75743652846007ec93faae3e141c9602c21152b14", + version = "0.3.2", ) hex_pm_erlang_app( |