diff --git a/BUILD.bazel b/BUILD.bazel
index ffdceb358f20..8da8bf3f05c9 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -77,7 +77,6 @@ ALL_PLUGINS = [
"//deps/rabbitmq_stomp:bazel_erlang_lib",
"//deps/rabbitmq_stream:bazel_erlang_lib",
"//deps/rabbitmq_stream_management:bazel_erlang_lib",
- "//deps/rabbitmq_stream_prometheus:bazel_erlang_lib",
"//deps/rabbitmq_top:bazel_erlang_lib",
"//deps/rabbitmq_tracing:bazel_erlang_lib",
"//deps/rabbitmq_trust_store:bazel_erlang_lib",
diff --git a/deps/rabbitmq_stream_prometheus/.gitignore b/deps/rabbitmq_stream_prometheus/.gitignore
deleted file mode 100644
index 14abe1637474..000000000000
--- a/deps/rabbitmq_stream_prometheus/.gitignore
+++ /dev/null
@@ -1,56 +0,0 @@
-.eunit
-*.o
-*.beam
-*.plt
-erl_crash.dump
-.concrete/DEV_MODE
-
-# rebar 2.x
-.rebar
-rel/example_project
-ebin/*.beam
-deps
-
-# rebar 3
-.rebar3
-_build/
-_checkouts/
-
-erl_crash.dump
-.sw?
-.*.sw?
-*.beam
-/.erlang.mk/
-/cover/
-/deps/
-/ebin/
-/logs/
-/plugins/
-/xrefr
-elvis
-callgrind*
-ct.coverdata
-test/ct.cover.spec
-_build
-
-rabbitmq_stream.d
-*.plt
-*.d
-
-*.jar
-
-
-*~
-.sw?
-.*.sw?
-*.beam
-*.class
-*.dat
-*.dump
-*.iml
-*.ipr
-*.iws
-.DS_Store
-\#~
-/.idea/
-/deps/
diff --git a/deps/rabbitmq_stream_prometheus/BUILD.bazel b/deps/rabbitmq_stream_prometheus/BUILD.bazel
deleted file mode 100644
index 4b6079cfd957..000000000000
--- a/deps/rabbitmq_stream_prometheus/BUILD.bazel
+++ /dev/null
@@ -1,55 +0,0 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
-load(
- "//:rabbitmq.bzl",
- "RABBITMQ_DIALYZER_OPTS",
- "broker_for_integration_suites",
- "rabbitmq_integration_suite",
- "rabbitmq_lib",
-)
-
-APP_NAME = "rabbitmq_stream_prometheus"
-
-APP_DESCRIPTION = "RabbitMQ Stream Prometheus"
-
-APP_MODULE = "rabbit_stream_prometheus"
-
-BUILD_DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
- "@prometheus//:bazel_erlang_lib",
-]
-
-DEPS = [
- "//deps/rabbitmq_prometheus:bazel_erlang_lib",
- "//deps/rabbitmq_stream:bazel_erlang_lib",
-]
-
-RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
-]
-
-rabbitmq_lib(
- app_description = APP_DESCRIPTION,
- app_module = APP_MODULE,
- app_name = APP_NAME,
- build_deps = BUILD_DEPS,
- runtime_deps = RUNTIME_DEPS,
- deps = DEPS,
-)
-
-xref(tags = ["xref"])
-
-dialyze(
- dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
- plt = "//:base_plt",
- tags = ["dialyze"],
-)
-
-broker_for_integration_suites()
-
-PACKAGE = "deps/rabbitmq_stream_prometheus"
-
-rabbitmq_integration_suite(
- PACKAGE,
- name = "prometheus_http_SUITE",
-)
diff --git a/deps/rabbitmq_stream_prometheus/LICENSE b/deps/rabbitmq_stream_prometheus/LICENSE
deleted file mode 100644
index 669a2bf4505e..000000000000
--- a/deps/rabbitmq_stream_prometheus/LICENSE
+++ /dev/null
@@ -1,5 +0,0 @@
-This package, the RabbitMQ server is licensed under the MPL 2.0. For the
-MPL 2.0, please see LICENSE-MPL-RabbitMQ.
-
-If you have any questions regarding licensing, please contact us at
-info@rabbitmq.com.
\ No newline at end of file
diff --git a/deps/rabbitmq_stream_prometheus/LICENSE-MPL-RabbitMQ b/deps/rabbitmq_stream_prometheus/LICENSE-MPL-RabbitMQ
deleted file mode 100644
index c4b20dbc6631..000000000000
--- a/deps/rabbitmq_stream_prometheus/LICENSE-MPL-RabbitMQ
+++ /dev/null
@@ -1,370 +0,0 @@
-Mozilla Public License Version 2.0
-==================================
-
-1. Definitions
---------------
-
-1.1. "Contributor"
- means each individual or legal entity that creates, contributes to
- the creation of, or owns Covered Software.
-
-1.2. "Contributor Version"
- means the combination of the Contributions of others (if any) used
- by a Contributor and that particular Contributor's Contribution.
-
-1.3. "Contribution"
- means Covered Software of a particular Contributor.
-
-1.4. "Covered Software"
- means Source Code Form to which the initial Contributor has attached
- the notice in Exhibit A, the Executable Form of such Source Code
- Form, and Modifications of such Source Code Form, in each case
- including portions thereof.
-
-1.5. "Incompatible With Secondary Licenses"
- means
-
- (a) that the initial Contributor has attached the notice described
- in Exhibit B to the Covered Software; or
-
- (b) that the Covered Software was made available under the terms of
- version 1.1 or earlier of the License, but not also under the
- terms of a Secondary License.
-
-1.6. "Executable Form"
- means any form of the work other than Source Code Form.
-
-1.7. "Larger Work"
- means a work that combines Covered Software with other material, in
- a separate file or files, that is not Covered Software.
-
-1.8. "License"
- means this document.
-
-1.9. "Licensable"
- means having the right to grant, to the maximum extent possible,
- whether at the time of the initial grant or subsequently, any and
- all of the rights conveyed by this License.
-
-1.10. "Modifications"
- means any of the following:
-
- (a) any file in Source Code Form that results from an addition to,
- deletion from, or modification of the contents of Covered
- Software; or
-
- (b) any new file in Source Code Form that contains any Covered
- Software.
-
-1.11. "Patent Claims" of a Contributor
- means any patent claim(s), including without limitation, method,
- process, and apparatus claims, in any patent Licensable by such
- Contributor that would be infringed, but for the grant of the
- License, by the making, using, selling, offering for sale, having
- made, import, or transfer of either its Contributions or its
- Contributor Version.
-
-1.12. "Secondary License"
- means either the GNU General Public License, Version 2.0, the GNU
- Lesser General Public License, Version 2.1, the GNU Affero General
- Public License, Version 3.0, or any later versions of those
- licenses.
-
-1.13. "Source Code Form"
- means the form of the work preferred for making modifications.
-
-1.14. "You" (or "Your")
- means an individual or a legal entity exercising rights under this
- License. For legal entities, "You" includes any entity that
- controls, is controlled by, or is under common control with You. For
- purposes of this definition, "control" means (a) the power, direct
- or indirect, to cause the direction or management of such entity,
- whether by contract or otherwise, or (b) ownership of more than
- fifty percent (50%) of the outstanding shares or beneficial
- ownership of such entity.
-
-2. License Grants and Conditions
---------------------------------
-
-2.1. Grants
-
-Each Contributor hereby grants You a world-wide, royalty-free,
-non-exclusive license:
-
-(a) under intellectual property rights (other than patent or trademark)
- Licensable by such Contributor to use, reproduce, make available,
- modify, display, perform, distribute, and otherwise exploit its
- Contributions, either on an unmodified basis, with Modifications, or
- as part of a Larger Work; and
-
-(b) under Patent Claims of such Contributor to make, use, sell, offer
- for sale, have made, import, and otherwise transfer either its
- Contributions or its Contributor Version.
-
-2.2. Effective Date
-
-The licenses granted in Section 2.1 with respect to any Contribution
-become effective for each Contribution on the date the Contributor first
-distributes such Contribution.
-
-2.3. Limitations on Grant Scope
-
-The licenses granted in this Section 2 are the only rights granted under
-this License. No additional rights or licenses will be implied from the
-distribution or licensing of Covered Software under this License.
-Notwithstanding Section 2.1(b) above, no patent license is granted by a
-Contributor:
-
-(a) for any code that a Contributor has removed from Covered Software;
- or
-
-(b) for infringements caused by: (i) Your and any other third party's
- modifications of Covered Software, or (ii) the combination of its
- Contributions with other software (except as part of its Contributor
- Version); or
-
-(c) under Patent Claims infringed by Covered Software in the absence of
- its Contributions.
-
-This License does not grant any rights in the trademarks, service marks,
-or logos of any Contributor (except as may be necessary to comply with
-the notice requirements in Section 3.4).
-
-2.4. Subsequent Licenses
-
-No Contributor makes additional grants as a result of Your choice to
-distribute the Covered Software under a subsequent version of this
-License (see Section 10.2) or under the terms of a Secondary License (if
-permitted under the terms of Section 3.3).
-
-2.5. Representation
-
-Each Contributor represents that the Contributor believes its
-Contributions are its original creation(s) or it has sufficient rights
-to grant the rights to its Contributions conveyed by this License.
-
-2.6. Fair Use
-
-This License is not intended to limit any rights You have under
-applicable copyright doctrines of fair use, fair dealing, or other
-equivalents.
-
-2.7. Conditions
-
-Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
-in Section 2.1.
-
-3. Responsibilities
--------------------
-
-3.1. Distribution of Source Form
-
-All distribution of Covered Software in Source Code Form, including any
-Modifications that You create or to which You contribute, must be under
-the terms of this License. You must inform recipients that the Source
-Code Form of the Covered Software is governed by the terms of this
-License, and how they can obtain a copy of this License. You may not
-attempt to alter or restrict the recipients' rights in the Source Code
-Form.
-
-3.2. Distribution of Executable Form
-
-If You distribute Covered Software in Executable Form then:
-
-(a) such Covered Software must also be made available in Source Code
- Form, as described in Section 3.1, and You must inform recipients of
- the Executable Form how they can obtain a copy of such Source Code
- Form by reasonable means in a timely manner, at a charge no more
- than the cost of distribution to the recipient; and
-
-(b) You may distribute such Executable Form under the terms of this
- License, or sublicense it under different terms, provided that the
- license for the Executable Form does not attempt to limit or alter
- the recipients' rights in the Source Code Form under this License.
-
-3.3. Distribution of a Larger Work
-
-You may create and distribute a Larger Work under terms of Your choice,
-provided that You also comply with the requirements of this License for
-the Covered Software. If the Larger Work is a combination of Covered
-Software with a work governed by one or more Secondary Licenses, and the
-Covered Software is not Incompatible With Secondary Licenses, this
-License permits You to additionally distribute such Covered Software
-under the terms of such Secondary License(s), so that the recipient of
-the Larger Work may, at their option, further distribute the Covered
-Software under the terms of either this License or such Secondary
-License(s).
-
-3.4. Notices
-
-You may not remove or alter the substance of any license notices
-(including copyright notices, patent notices, disclaimers of warranty,
-or limitations of liability) contained within the Source Code Form of
-the Covered Software, except that You may alter any license notices to
-the extent required to remedy known factual inaccuracies.
-
-3.5. Application of Additional Terms
-
-You may choose to offer, and to charge a fee for, warranty, support,
-indemnity or liability obligations to one or more recipients of Covered
-Software. However, You may do so only on Your own behalf, and not on
-behalf of any Contributor. You must make it absolutely clear that any
-such warranty, support, indemnity, or liability obligation is offered by
-You alone, and You hereby agree to indemnify every Contributor for any
-liability incurred by such Contributor as a result of warranty, support,
-indemnity or liability terms You offer. You may include additional
-disclaimers of warranty and limitations of liability specific to any
-jurisdiction.
-
-4. Inability to Comply Due to Statute or Regulation
----------------------------------------------------
-
-If it is impossible for You to comply with any of the terms of this
-License with respect to some or all of the Covered Software due to
-statute, judicial order, or regulation then You must: (a) comply with
-the terms of this License to the maximum extent possible; and (b)
-describe the limitations and the code they affect. Such description must
-be placed in a text file included with all distributions of the Covered
-Software under this License. Except to the extent prohibited by statute
-or regulation, such description must be sufficiently detailed for a
-recipient of ordinary skill to be able to understand it.
-
-5. Termination
---------------
-
-5.1. The rights granted under this License will terminate automatically
-if You fail to comply with any of its terms. However, if You become
-compliant, then the rights granted under this License from a particular
-Contributor are reinstated (a) provisionally, unless and until such
-Contributor explicitly and finally terminates Your grants, and (b) on an
-ongoing basis, if such Contributor fails to notify You of the
-non-compliance by some reasonable means prior to 60 days after You have
-come back into compliance. Moreover, Your grants from a particular
-Contributor are reinstated on an ongoing basis if such Contributor
-notifies You of the non-compliance by some reasonable means, this is the
-first time You have received notice of non-compliance with this License
-from such Contributor, and You become compliant prior to 30 days after
-Your receipt of the notice.
-
-5.2. If You initiate litigation against any entity by asserting a patent
-infringement claim (excluding declaratory judgment actions,
-counter-claims, and cross-claims) alleging that a Contributor Version
-directly or indirectly infringes any patent, then the rights granted to
-You by any and all Contributors for the Covered Software under Section
-2.1 of this License shall terminate.
-
-5.3. In the event of termination under Sections 5.1 or 5.2 above, all
-end user license agreements (excluding distributors and resellers) which
-have been validly granted by You or Your distributors under this License
-prior to termination shall survive termination.
-
-************************************************************************
-* *
-* 6. Disclaimer of Warranty *
-* ------------------------- *
-* *
-* Covered Software is provided under this License on an "as is" *
-* basis, without warranty of any kind, either expressed, implied, or *
-* statutory, including, without limitation, warranties that the *
-* Covered Software is free of defects, merchantable, fit for a *
-* particular purpose or non-infringing. The entire risk as to the *
-* quality and performance of the Covered Software is with You. *
-* Should any Covered Software prove defective in any respect, You *
-* (not any Contributor) assume the cost of any necessary servicing, *
-* repair, or correction. This disclaimer of warranty constitutes an *
-* essential part of this License. No use of any Covered Software is *
-* authorized under this License except under this disclaimer. *
-* *
-************************************************************************
-
-************************************************************************
-* *
-* 7. Limitation of Liability *
-* -------------------------- *
-* *
-* Under no circumstances and under no legal theory, whether tort *
-* (including negligence), contract, or otherwise, shall any *
-* Contributor, or anyone who distributes Covered Software as *
-* permitted above, be liable to You for any direct, indirect, *
-* special, incidental, or consequential damages of any character *
-* including, without limitation, damages for lost profits, loss of *
-* goodwill, work stoppage, computer failure or malfunction, or any *
-* and all other commercial damages or losses, even if such party *
-* shall have been informed of the possibility of such damages. This *
-* limitation of liability shall not apply to liability for death or *
-* personal injury resulting from such party's negligence to the *
-* extent applicable law prohibits such limitation. Some *
-* jurisdictions do not allow the exclusion or limitation of *
-* incidental or consequential damages, so this exclusion and *
-* limitation may not apply to You. *
-* *
-************************************************************************
-
-8. Litigation
--------------
-
-Any litigation relating to this License may be brought only in the
-courts of a jurisdiction where the defendant maintains its principal
-place of business and such litigation shall be governed by laws of that
-jurisdiction, without reference to its conflict-of-law provisions.
-Nothing in this Section shall prevent a party's ability to bring
-cross-claims or counter-claims.
-
-9. Miscellaneous
-----------------
-
-This License represents the complete agreement concerning the subject
-matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the extent
-necessary to make it enforceable. Any law or regulation which provides
-that the language of a contract shall be construed against the drafter
-shall not be used to construe this License against a Contributor.
-
-10. Versions of the License
----------------------------
-
-10.1. New Versions
-
-Mozilla Foundation is the license steward. Except as provided in Section
-10.3, no one other than the license steward has the right to modify or
-publish new versions of this License. Each version will be given a
-distinguishing version number.
-
-10.2. Effect of New Versions
-
-You may distribute the Covered Software under the terms of the version
-of the License under which You originally received the Covered Software,
-or under the terms of any subsequent version published by the license
-steward.
-
-10.3. Modified Versions
-
-If you create software not governed by this License, and you want to
-create a new license for such software, you may create and use a
-modified version of this License if you rename the license and remove
-any references to the name of the license steward (except to note that
-such modified license differs from this License).
-
-10.4. Distributing Source Code Form that is Incompatible With Secondary
-Licenses
-
-If You choose to distribute Source Code Form that is Incompatible With
-Secondary Licenses under the terms of this version of the License, the
-notice described in Exhibit B of this License must be attached.
-
-Exhibit A - Source Code Form License Notice
--------------------------------------------
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-If it is not possible or desirable to put the notice in a particular
-file, then You may include the notice in a location (such as a LICENSE
-file in a relevant directory) where a recipient would be likely to look
-for such a notice.
-
-The Original Code is RabbitMQ.
-
-The Initial Developer of the Original Code is Pivotal Software, Inc.
-Copyright (c) 2020 VMware, Inc or its affiliates. All rights reserved.
\ No newline at end of file
diff --git a/deps/rabbitmq_stream_prometheus/Makefile b/deps/rabbitmq_stream_prometheus/Makefile
deleted file mode 100644
index 313b0c6dc9bc..000000000000
--- a/deps/rabbitmq_stream_prometheus/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-PROJECT = rabbitmq_stream_prometheus
-PROJECT_DESCRIPTION = RabbitMQ Stream Prometheus
-PROJECT_MOD = rabbit_stream_prometheus
-
-define PROJECT_ENV
-[
-]
-endef
-
-
-DEPS = rabbit rabbitmq_prometheus rabbitmq_stream
-TEST_DEPS = rabbitmq_ct_helpers rabbitmq_ct_client_helpers
-
-DEP_EARLY_PLUGINS = rabbit_common/mk/rabbitmq-early-plugin.mk
-DEP_PLUGINS = rabbit_common/mk/rabbitmq-plugin.mk
-
-# FIXME: Use erlang.mk patched for RabbitMQ, while waiting for PRs to be
-# reviewed and merged.
-
-ERLANG_MK_REPO = https://github.com/rabbitmq/erlang.mk.git
-ERLANG_MK_COMMIT = rabbitmq-tmp
-
-include ../../rabbitmq-components.mk
-include ../../erlang.mk
diff --git a/deps/rabbitmq_stream_prometheus/README.adoc b/deps/rabbitmq_stream_prometheus/README.adoc
deleted file mode 100644
index 5fde0eb33986..000000000000
--- a/deps/rabbitmq_stream_prometheus/README.adoc
+++ /dev/null
@@ -1,23 +0,0 @@
-= RabbitMQ Stream Prometheus Plugin
-
-== Project Maturity
-
-The project is in early stages of development and is considered experimental.
-It is not ready for production use.
-
-== Support
-
-* For questions: https://groups.google.com/forum/#!forum/rabbitmq-users[RabbitMQ Users]
-* For bugs and feature requests: https://github.com/rabbitmq/rabbitmq-server/issues[GitHub Issues]
-
-The project is currently under development, there is no guarantee yet that it will be maintained and supported
-in the future (read: you are welcome to experiment with it and give feedback, but please do not base
-your whole business on it).
-
-== Licensing
-
-Released under the link:LICENSE-MPL-RabbitMQ[MPL 2.0].
-
-== Copyright
-
-(c) 2020-2021 VMware, Inc. or its affiliates.
\ No newline at end of file
diff --git a/deps/rabbitmq_stream_prometheus/rebar.config b/deps/rabbitmq_stream_prometheus/rebar.config
deleted file mode 100644
index 3744283d0696..000000000000
--- a/deps/rabbitmq_stream_prometheus/rebar.config
+++ /dev/null
@@ -1,12 +0,0 @@
-{plugins, [rebar3_format]}.
-
-{format, [
- {files, ["src/*.erl", "src/collectors/*.erl", "test/*.erl"]},
- {formatter, default_formatter},
- {options, #{
- paper => 80,
- ribbon => 70,
- inline_attributes => {when_under, 1},
- inline_items => {when_under, 4}
- }}
-]}.
\ No newline at end of file
diff --git a/deps/rabbitmq_stream_prometheus/src/collectors/prometheus_rabbitmq_stream_collector.erl b/deps/rabbitmq_stream_prometheus/src/collectors/prometheus_rabbitmq_stream_collector.erl
deleted file mode 100644
index 2e71ccd04c00..000000000000
--- a/deps/rabbitmq_stream_prometheus/src/collectors/prometheus_rabbitmq_stream_collector.erl
+++ /dev/null
@@ -1,176 +0,0 @@
-%% The contents of this file are subject to the Mozilla Public License
-%% Version 2.0 (the "License"); you may not use this file except in
-%% compliance with the License. You may obtain a copy of the License
-%% at https://www.mozilla.org/en-US/MPL/2.0/
-%%
-%% Software distributed under the License is distributed on an "AS IS"
-%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%% the License for the specific language governing rights and
-%% limitations under the License.
-%%
-%% The Original Code is RabbitMQ.
-%%
-%% The Initial Developer of the Original Code is Pivotal Software, Inc.
-%% Copyright (c) 2021 VMware, Inc. or its affiliates. All rights reserved.
-%%
-
--module(prometheus_rabbitmq_stream_collector).
-
--export([deregister_cleanup/1,
- collect_mf/2,
- collect_metrics/2]).
-
--include_lib("prometheus/include/prometheus.hrl").
--include_lib("rabbit_common/include/rabbit.hrl").
--include_lib("rabbitmq_stream/include/rabbit_stream_metrics.hrl").
-
--behaviour(prometheus_collector).
-
--define(METRIC_NAME_PREFIX, "rabbitmq_stream_").
--define(METRICS_RAW,
- [% { ETS table, [ {index, Prometheus metrics name, type, help, key} ] }
- {?TABLE_PUBLISHER,
- [{2, publishers, gauge, "Number of publishers", publishers},
- {2,
- publishers_messages_published_total,
- counter,
- "Total number of messages published to streams",
- published},
- {2,
- publishers_messages_confirmed_total,
- counter,
- "Total number of messages confirmed",
- confirmed},
- {2,
- publishers_messages_errored_total,
- counter,
- "Total number of messages errored",
- errored}]},
- {?TABLE_CONSUMER,
- [{2, consumers, gauge, "Number of consumers", consumers},
- {2,
- consumers_messages_consumed_total,
- counter,
- "Total number of messages from streams",
- consumed}]}]).
-
-%% Collector API
-
-deregister_cleanup(_) ->
- ok.
-
-collect_mf('per-object', Callback) ->
- collect(true, Callback);
-collect_mf(_Registry, Callback) ->
- PerObjectMetrics =
- application:get_env(rabbitmq_prometheus, return_per_object_metrics,
- false),
- collect(PerObjectMetrics, Callback).
-
-collect(PerObjectMetrics, Callback) ->
- [begin
- Data = get_data(Table, PerObjectMetrics),
- mf(Callback, filter_contents(Contents, PerObjectMetrics), Data)
- end
- || {Table, Contents} <- ?METRICS_RAW],
- ok.
-
-filter_contents(Contents, false) ->
- Contents;
-filter_contents(Contents, true) ->
- [E || {_, _, Type, _, _} = E <- Contents,
- Type == counter].
-
-get_data(?TABLE_PUBLISHER = Table, false) ->
- {Table, A1, A2, A3, A4} =
- ets:foldl(fun({_, Props}, {T, A1, A2, A3, A4}) ->
- {T,
- A1 + 1,
- sum(proplists:get_value(published, Props), A2),
- sum(proplists:get_value(confirmed, Props), A3),
- sum(proplists:get_value(errored, Props), A4)}
- end,
- empty(Table), Table),
- [{Table,
- [{publishers, A1}, {published, A2}, {confirmed, A3}, {errored, A4}]}];
-get_data(?TABLE_CONSUMER = Table, false) ->
- {Table, A1, A2} =
- ets:foldl(fun({_, Props}, {T, A1, A2}) ->
- {T, A1 + 1, sum(proplists:get_value(consumed, Props), A2)}
- end,
- empty(Table), Table),
- [{Table, [{consumers, A1}, {consumed, A2}]}];
-get_data(Table, _) ->
- ets:tab2list(Table).
-
-mf(Callback, Contents, Data) ->
- [begin
- Fun = fun(D) -> proplists:get_value(Key, element(Index, D)) end,
- Callback(prometheus_model_helpers:create_mf(?METRIC_NAME(Name),
- Help,
- catch_boolean(Type),
- ?MODULE,
- {Type, Fun, Data}))
- end
- || {Index, Name, Type, Help, Key} <- Contents].
-
-collect_metrics(_Name, {Type, Fun, Items}) ->
- [metric(Type, labels(Item), Fun(Item)) || Item <- Items].
-
-labels(Item) ->
- label(element(1, Item)).
-
-label(#resource{virtual_host = VHost,
- kind = queue,
- name = Name}) ->
- [{vhost, VHost}, {queue, Name}];
-label({Resource, Connection, Id}) ->
- label(Resource) ++ label(Connection) ++ label(Id);
-label(P) when is_pid(P) ->
- [{connection, P}];
-label(Id) when is_integer(Id) ->
- [{id, Id}];
-label(_) ->
- [].
-
-metric(counter, Labels, Value) ->
- emit_counter_metric_if_defined(Labels, Value);
-metric(gauge, Labels, Value) ->
- emit_gauge_metric_if_defined(Labels, Value).
-
-emit_counter_metric_if_defined(Labels, Value) ->
- case Value of
- undefined ->
- undefined;
- '' ->
- prometheus_model_helpers:counter_metric(Labels, undefined);
- Value ->
- prometheus_model_helpers:counter_metric(Labels, Value)
- end.
-
-emit_gauge_metric_if_defined(Labels, Value) ->
- case Value of
- undefined ->
- undefined;
- '' ->
- prometheus_model_helpers:gauge_metric(Labels, undefined);
- Value ->
- prometheus_model_helpers:gauge_metric(Labels, Value)
- end.
-
-empty(T) when T == ?TABLE_CONSUMER ->
- {T, 0, 0};
-empty(T) when T == ?TABLE_PUBLISHER ->
- {T, 0, 0, 0, 0}.
-
-sum(undefined, B) ->
- B;
-sum('', B) ->
- B;
-sum(A, B) ->
- A + B.
-
-catch_boolean(boolean) ->
- untyped;
-catch_boolean(T) ->
- T.
diff --git a/deps/rabbitmq_stream_prometheus/src/rabbit_stream_prometheus.erl b/deps/rabbitmq_stream_prometheus/src/rabbit_stream_prometheus.erl
deleted file mode 100644
index cbfc2ab1de1c..000000000000
--- a/deps/rabbitmq_stream_prometheus/src/rabbit_stream_prometheus.erl
+++ /dev/null
@@ -1,38 +0,0 @@
-%% The contents of this file are subject to the Mozilla Public License
-%% Version 2.0 (the "License"); you may not use this file except in
-%% compliance with the License. You may obtain a copy of the License
-%% at https://www.mozilla.org/en-US/MPL/2.0/
-%%
-%% Software distributed under the License is distributed on an "AS IS"
-%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%% the License for the specific language governing rights and
-%% limitations under the License.
-%%
-%% The Original Code is RabbitMQ.
-%%
-%% The Initial Developer of the Original Code is Pivotal Software, Inc.
-%% Copyright (c) 2021 VMware, Inc. or its affiliates. All rights reserved.
-%%
-
--module(rabbit_stream_prometheus).
-
--behaviour(application).
-
--export([start/2]).
--export([stop/1]).
-
--behaviour(supervisor).
-
--export([init/1]).
-
-start(_Type, _Args) ->
- prometheus_registry:register_collectors([prometheus_rabbitmq_stream_collector]),
- prometheus_registry:register_collectors('per-object',
- [prometheus_rabbitmq_stream_collector]),
- supervisor:start_link({local, ?MODULE}, ?MODULE, []).
-
-stop(_State) ->
- ok.
-
-init([]) ->
- {ok, {{one_for_one, 3, 10}, []}}.
diff --git a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE.erl b/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE.erl
deleted file mode 100644
index cc0b5fbc4b19..000000000000
--- a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE.erl
+++ /dev/null
@@ -1,72 +0,0 @@
-%% This Source Code Form is subject to the terms of the Mozilla Public
-%% License, v. 2.0. If a copy of the MPL was not distributed with this
-%% file, You can obtain one at https://mozilla.org/MPL/2.0/.
-%%
-%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved.
-%%
-
--module(prometheus_http_SUITE).
-
--compile(export_all).
-
-all() ->
- [{group, non_parallel_tests}].
-
-groups() ->
- [{non_parallel_tests, [], [stream_prometheus]}].
-
-%% -------------------------------------------------------------------
-%% Testsuite setup/teardown.
-%% -------------------------------------------------------------------
-
-init_per_suite(Config) ->
- rabbit_ct_helpers:log_environment(),
- Config1 =
- rabbit_ct_helpers:set_config(Config,
- [{rmq_nodename_suffix, ?MODULE}]),
- rabbit_ct_helpers:run_setup_steps(Config1,
- [fun(StepConfig) ->
- rabbit_ct_helpers:merge_app_env(StepConfig,
- {rabbit,
- [{collect_statistics_interval,
- 500}]})
- end]
- ++ rabbit_ct_broker_helpers:setup_steps()
- ++ rabbit_ct_client_helpers:setup_steps()).
-
-end_per_suite(Config) ->
- rabbit_ct_helpers:run_teardown_steps(Config,
- rabbit_ct_client_helpers:teardown_steps()
- ++ rabbit_ct_broker_helpers:teardown_steps()).
-
-init_per_group(_, Config) ->
- Config.
-
-end_per_group(_, Config) ->
- Config.
-
-init_per_testcase(Testcase, Config) ->
- rabbit_ct_helpers:testcase_started(Config, Testcase).
-
-end_per_testcase(Testcase, Config) ->
- rabbit_ct_helpers:testcase_finished(Config, Testcase).
-
-%% -------------------------------------------------------------------
-%% Testcases.
-%% -------------------------------------------------------------------
-
-stream_prometheus(Config) ->
- StreamPortNode = get_stream_port(Config),
- PrometheusPortNode = get_prometheus_port(Config),
- DataDir = rabbit_ct_helpers:get_config(Config, data_dir),
- MakeResult =
- rabbit_ct_helpers:make(Config, DataDir,
- ["tests", {"STREAM_PORT=~b", [StreamPortNode]},
- {"PROMETHEUS_PORT=~b", [PrometheusPortNode]}]),
- {ok, _} = MakeResult.
-
-get_stream_port(Config) ->
- rabbit_ct_broker_helpers:get_node_config(Config, 0, tcp_port_stream).
-
-get_prometheus_port(Config) ->
- proplists:get_value(prometheus_port, Config, 15692).
diff --git a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/.gitignore b/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/.gitignore
deleted file mode 100644
index 4c70cdb707da..000000000000
--- a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/build/
-/lib/
-/target/
diff --git a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/.mvn/wrapper/MavenWrapperDownloader.java b/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/.mvn/wrapper/MavenWrapperDownloader.java
deleted file mode 100644
index b901097f2db6..000000000000
--- a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/.mvn/wrapper/MavenWrapperDownloader.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright 2007-present the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import java.net.*;
-import java.io.*;
-import java.nio.channels.*;
-import java.util.Properties;
-
-public class MavenWrapperDownloader {
-
- private static final String WRAPPER_VERSION = "0.5.6";
- /**
- * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
- */
- private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
- + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
-
- /**
- * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
- * use instead of the default one.
- */
- private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
- ".mvn/wrapper/maven-wrapper.properties";
-
- /**
- * Path where the maven-wrapper.jar will be saved to.
- */
- private static final String MAVEN_WRAPPER_JAR_PATH =
- ".mvn/wrapper/maven-wrapper.jar";
-
- /**
- * Name of the property which should be used to override the default download url for the wrapper.
- */
- private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
-
- public static void main(String args[]) {
- System.out.println("- Downloader started");
- File baseDirectory = new File(args[0]);
- System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
-
- // If the maven-wrapper.properties exists, read it and check if it contains a custom
- // wrapperUrl parameter.
- File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
- String url = DEFAULT_DOWNLOAD_URL;
- if(mavenWrapperPropertyFile.exists()) {
- FileInputStream mavenWrapperPropertyFileInputStream = null;
- try {
- mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
- Properties mavenWrapperProperties = new Properties();
- mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
- url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
- } catch (IOException e) {
- System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
- } finally {
- try {
- if(mavenWrapperPropertyFileInputStream != null) {
- mavenWrapperPropertyFileInputStream.close();
- }
- } catch (IOException e) {
- // Ignore ...
- }
- }
- }
- System.out.println("- Downloading from: " + url);
-
- File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
- if(!outputFile.getParentFile().exists()) {
- if(!outputFile.getParentFile().mkdirs()) {
- System.out.println(
- "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
- }
- }
- System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
- try {
- downloadFileFromURL(url, outputFile);
- System.out.println("Done");
- System.exit(0);
- } catch (Throwable e) {
- System.out.println("- Error downloading");
- e.printStackTrace();
- System.exit(1);
- }
- }
-
- private static void downloadFileFromURL(String urlString, File destination) throws Exception {
- if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
- String username = System.getenv("MVNW_USERNAME");
- char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
- Authenticator.setDefault(new Authenticator() {
- @Override
- protected PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(username, password);
- }
- });
- }
- URL website = new URL(urlString);
- ReadableByteChannel rbc;
- rbc = Channels.newChannel(website.openStream());
- FileOutputStream fos = new FileOutputStream(destination);
- fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
- fos.close();
- rbc.close();
- }
-
-}
diff --git a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/.mvn/wrapper/maven-wrapper.jar b/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/.mvn/wrapper/maven-wrapper.jar
deleted file mode 100644
index 2cc7d4a55c0c..000000000000
Binary files a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/.mvn/wrapper/maven-wrapper.jar and /dev/null differ
diff --git a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/.mvn/wrapper/maven-wrapper.properties b/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/.mvn/wrapper/maven-wrapper.properties
deleted file mode 100644
index 642d572ce90e..000000000000
--- a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/.mvn/wrapper/maven-wrapper.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
-wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
diff --git a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/Makefile b/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/Makefile
deleted file mode 100644
index fdd09d6a72ef..000000000000
--- a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-export PATH :=$(CURDIR):$(PATH)
-HOSTNAME := $(shell hostname)
-MVN_FLAGS += -Dstream.port=$(STREAM_PORT) \
- -Dprometheus.port=$(PROMETHEUS_PORT)
-
-.PHONY: tests clean
-
-tests:
- # Note: to run a single test
- # @mvnw -q $(MVN_FLAGS) -Dtest=StreamTest#metadataOnClusterShouldReturnLeaderAndReplicas test
- @mvnw -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -B $(MVN_FLAGS) test
-
-clean:
- @mvnw clean
diff --git a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/mvnw b/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/mvnw
deleted file mode 100755
index 41c0f0c23db5..000000000000
--- a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/mvnw
+++ /dev/null
@@ -1,310 +0,0 @@
-#!/bin/sh
-# ----------------------------------------------------------------------------
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-# ----------------------------------------------------------------------------
-
-# ----------------------------------------------------------------------------
-# Maven Start Up Batch script
-#
-# Required ENV vars:
-# ------------------
-# JAVA_HOME - location of a JDK home dir
-#
-# Optional ENV vars
-# -----------------
-# M2_HOME - location of maven2's installed home dir
-# MAVEN_OPTS - parameters passed to the Java VM when running Maven
-# e.g. to debug Maven itself, use
-# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
-# ----------------------------------------------------------------------------
-
-if [ -z "$MAVEN_SKIP_RC" ] ; then
-
- if [ -f /etc/mavenrc ] ; then
- . /etc/mavenrc
- fi
-
- if [ -f "$HOME/.mavenrc" ] ; then
- . "$HOME/.mavenrc"
- fi
-
-fi
-
-# OS specific support. $var _must_ be set to either true or false.
-cygwin=false;
-darwin=false;
-mingw=false
-case "`uname`" in
- CYGWIN*) cygwin=true ;;
- MINGW*) mingw=true;;
- Darwin*) darwin=true
- # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
- # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
- if [ -z "$JAVA_HOME" ]; then
- if [ -x "/usr/libexec/java_home" ]; then
- export JAVA_HOME="`/usr/libexec/java_home`"
- else
- export JAVA_HOME="/Library/Java/Home"
- fi
- fi
- ;;
-esac
-
-if [ -z "$JAVA_HOME" ] ; then
- if [ -r /etc/gentoo-release ] ; then
- JAVA_HOME=`java-config --jre-home`
- fi
-fi
-
-if [ -z "$M2_HOME" ] ; then
- ## resolve links - $0 may be a link to maven's home
- PRG="$0"
-
- # need this for relative symlinks
- while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG="`dirname "$PRG"`/$link"
- fi
- done
-
- saveddir=`pwd`
-
- M2_HOME=`dirname "$PRG"`/..
-
- # make it fully qualified
- M2_HOME=`cd "$M2_HOME" && pwd`
-
- cd "$saveddir"
- # echo Using m2 at $M2_HOME
-fi
-
-# For Cygwin, ensure paths are in UNIX format before anything is touched
-if $cygwin ; then
- [ -n "$M2_HOME" ] &&
- M2_HOME=`cygpath --unix "$M2_HOME"`
- [ -n "$JAVA_HOME" ] &&
- JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
- [ -n "$CLASSPATH" ] &&
- CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
-fi
-
-# For Mingw, ensure paths are in UNIX format before anything is touched
-if $mingw ; then
- [ -n "$M2_HOME" ] &&
- M2_HOME="`(cd "$M2_HOME"; pwd)`"
- [ -n "$JAVA_HOME" ] &&
- JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
-fi
-
-if [ -z "$JAVA_HOME" ]; then
- javaExecutable="`which javac`"
- if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
- # readlink(1) is not available as standard on Solaris 10.
- readLink=`which readlink`
- if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
- if $darwin ; then
- javaHome="`dirname \"$javaExecutable\"`"
- javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
- else
- javaExecutable="`readlink -f \"$javaExecutable\"`"
- fi
- javaHome="`dirname \"$javaExecutable\"`"
- javaHome=`expr "$javaHome" : '\(.*\)/bin'`
- JAVA_HOME="$javaHome"
- export JAVA_HOME
- fi
- fi
-fi
-
-if [ -z "$JAVACMD" ] ; then
- if [ -n "$JAVA_HOME" ] ; then
- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
- # IBM's JDK on AIX uses strange locations for the executables
- JAVACMD="$JAVA_HOME/jre/sh/java"
- else
- JAVACMD="$JAVA_HOME/bin/java"
- fi
- else
- JAVACMD="`which java`"
- fi
-fi
-
-if [ ! -x "$JAVACMD" ] ; then
- echo "Error: JAVA_HOME is not defined correctly." >&2
- echo " We cannot execute $JAVACMD" >&2
- exit 1
-fi
-
-if [ -z "$JAVA_HOME" ] ; then
- echo "Warning: JAVA_HOME environment variable is not set."
-fi
-
-CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
-
-# traverses directory structure from process work directory to filesystem root
-# first directory with .mvn subdirectory is considered project base directory
-find_maven_basedir() {
-
- if [ -z "$1" ]
- then
- echo "Path not specified to find_maven_basedir"
- return 1
- fi
-
- basedir="$1"
- wdir="$1"
- while [ "$wdir" != '/' ] ; do
- if [ -d "$wdir"/.mvn ] ; then
- basedir=$wdir
- break
- fi
- # workaround for JBEAP-8937 (on Solaris 10/Sparc)
- if [ -d "${wdir}" ]; then
- wdir=`cd "$wdir/.."; pwd`
- fi
- # end of workaround
- done
- echo "${basedir}"
-}
-
-# concatenates all lines of a file
-concat_lines() {
- if [ -f "$1" ]; then
- echo "$(tr -s '\n' ' ' < "$1")"
- fi
-}
-
-BASE_DIR=`find_maven_basedir "$(pwd)"`
-if [ -z "$BASE_DIR" ]; then
- exit 1;
-fi
-
-##########################################################################################
-# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
-# This allows using the maven wrapper in projects that prohibit checking in binary data.
-##########################################################################################
-if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
- if [ "$MVNW_VERBOSE" = true ]; then
- echo "Found .mvn/wrapper/maven-wrapper.jar"
- fi
-else
- if [ "$MVNW_VERBOSE" = true ]; then
- echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
- fi
- if [ -n "$MVNW_REPOURL" ]; then
- jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
- else
- jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
- fi
- while IFS="=" read key value; do
- case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
- esac
- done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
- if [ "$MVNW_VERBOSE" = true ]; then
- echo "Downloading from: $jarUrl"
- fi
- wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
- if $cygwin; then
- wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
- fi
-
- if command -v wget > /dev/null; then
- if [ "$MVNW_VERBOSE" = true ]; then
- echo "Found wget ... using wget"
- fi
- if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
- wget "$jarUrl" -O "$wrapperJarPath"
- else
- wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
- fi
- elif command -v curl > /dev/null; then
- if [ "$MVNW_VERBOSE" = true ]; then
- echo "Found curl ... using curl"
- fi
- if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
- curl -o "$wrapperJarPath" "$jarUrl" -f
- else
- curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
- fi
-
- else
- if [ "$MVNW_VERBOSE" = true ]; then
- echo "Falling back to using Java to download"
- fi
- javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
- # For Cygwin, switch paths to Windows format before running javac
- if $cygwin; then
- javaClass=`cygpath --path --windows "$javaClass"`
- fi
- if [ -e "$javaClass" ]; then
- if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
- if [ "$MVNW_VERBOSE" = true ]; then
- echo " - Compiling MavenWrapperDownloader.java ..."
- fi
- # Compiling the Java class
- ("$JAVA_HOME/bin/javac" "$javaClass")
- fi
- if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
- # Running the downloader
- if [ "$MVNW_VERBOSE" = true ]; then
- echo " - Running MavenWrapperDownloader.java ..."
- fi
- ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
- fi
- fi
- fi
-fi
-##########################################################################################
-# End of extension
-##########################################################################################
-
-export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
-if [ "$MVNW_VERBOSE" = true ]; then
- echo $MAVEN_PROJECTBASEDIR
-fi
-MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin; then
- [ -n "$M2_HOME" ] &&
- M2_HOME=`cygpath --path --windows "$M2_HOME"`
- [ -n "$JAVA_HOME" ] &&
- JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
- [ -n "$CLASSPATH" ] &&
- CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
- [ -n "$MAVEN_PROJECTBASEDIR" ] &&
- MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
-fi
-
-# Provide a "standardized" way to retrieve the CLI args that will
-# work with both Windows and non-Windows executions.
-MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
-export MAVEN_CMD_LINE_ARGS
-
-WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
-
-exec "$JAVACMD" \
- $MAVEN_OPTS \
- -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
- "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
- ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/mvnw.cmd b/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/mvnw.cmd
deleted file mode 100644
index 86115719e538..000000000000
--- a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/mvnw.cmd
+++ /dev/null
@@ -1,182 +0,0 @@
-@REM ----------------------------------------------------------------------------
-@REM Licensed to the Apache Software Foundation (ASF) under one
-@REM or more contributor license agreements. See the NOTICE file
-@REM distributed with this work for additional information
-@REM regarding copyright ownership. The ASF licenses this file
-@REM to you under the Apache License, Version 2.0 (the
-@REM "License"); you may not use this file except in compliance
-@REM with the License. You may obtain a copy of the License at
-@REM
-@REM http://www.apache.org/licenses/LICENSE-2.0
-@REM
-@REM Unless required by applicable law or agreed to in writing,
-@REM software distributed under the License is distributed on an
-@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@REM KIND, either express or implied. See the License for the
-@REM specific language governing permissions and limitations
-@REM under the License.
-@REM ----------------------------------------------------------------------------
-
-@REM ----------------------------------------------------------------------------
-@REM Maven Start Up Batch script
-@REM
-@REM Required ENV vars:
-@REM JAVA_HOME - location of a JDK home dir
-@REM
-@REM Optional ENV vars
-@REM M2_HOME - location of maven2's installed home dir
-@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
-@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
-@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
-@REM e.g. to debug Maven itself, use
-@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
-@REM ----------------------------------------------------------------------------
-
-@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
-@echo off
-@REM set title of command window
-title %0
-@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
-@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
-
-@REM set %HOME% to equivalent of $HOME
-if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
-
-@REM Execute a user defined script before this one
-if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
-@REM check for pre script, once with legacy .bat ending and once with .cmd ending
-if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
-if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
-:skipRcPre
-
-@setlocal
-
-set ERROR_CODE=0
-
-@REM To isolate internal variables from possible post scripts, we use another setlocal
-@setlocal
-
-@REM ==== START VALIDATION ====
-if not "%JAVA_HOME%" == "" goto OkJHome
-
-echo.
-echo Error: JAVA_HOME not found in your environment. >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-:OkJHome
-if exist "%JAVA_HOME%\bin\java.exe" goto init
-
-echo.
-echo Error: JAVA_HOME is set to an invalid directory. >&2
-echo JAVA_HOME = "%JAVA_HOME%" >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-@REM ==== END VALIDATION ====
-
-:init
-
-@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
-@REM Fallback to current working directory if not found.
-
-set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
-IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
-
-set EXEC_DIR=%CD%
-set WDIR=%EXEC_DIR%
-:findBaseDir
-IF EXIST "%WDIR%"\.mvn goto baseDirFound
-cd ..
-IF "%WDIR%"=="%CD%" goto baseDirNotFound
-set WDIR=%CD%
-goto findBaseDir
-
-:baseDirFound
-set MAVEN_PROJECTBASEDIR=%WDIR%
-cd "%EXEC_DIR%"
-goto endDetectBaseDir
-
-:baseDirNotFound
-set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
-cd "%EXEC_DIR%"
-
-:endDetectBaseDir
-
-IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
-
-@setlocal EnableExtensions EnableDelayedExpansion
-for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
-@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
-
-:endReadAdditionalConfig
-
-SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
-set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
-set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
-
-set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
-
-FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
- IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
-)
-
-@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
-@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
-if exist %WRAPPER_JAR% (
- if "%MVNW_VERBOSE%" == "true" (
- echo Found %WRAPPER_JAR%
- )
-) else (
- if not "%MVNW_REPOURL%" == "" (
- SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
- )
- if "%MVNW_VERBOSE%" == "true" (
- echo Couldn't find %WRAPPER_JAR%, downloading it ...
- echo Downloading from: %DOWNLOAD_URL%
- )
-
- powershell -Command "&{"^
- "$webclient = new-object System.Net.WebClient;"^
- "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
- "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
- "}"^
- "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
- "}"
- if "%MVNW_VERBOSE%" == "true" (
- echo Finished downloading %WRAPPER_JAR%
- )
-)
-@REM End of extension
-
-@REM Provide a "standardized" way to retrieve the CLI args that will
-@REM work with both Windows and non-Windows executions.
-set MAVEN_CMD_LINE_ARGS=%*
-
-%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
-if ERRORLEVEL 1 goto error
-goto end
-
-:error
-set ERROR_CODE=1
-
-:end
-@endlocal & set ERROR_CODE=%ERROR_CODE%
-
-if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
-@REM check for post script, once with legacy .bat ending and once with .cmd ending
-if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
-if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
-:skipRcPost
-
-@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
-if "%MAVEN_BATCH_PAUSE%" == "on" pause
-
-if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
-
-exit /B %ERROR_CODE%
diff --git a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/pom.xml b/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/pom.xml
deleted file mode 100644
index 95b109daa669..000000000000
--- a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/pom.xml
+++ /dev/null
@@ -1,143 +0,0 @@
-
-
- 4.0.0
-
- com.rabbitmq.stream
- rabbitmq-stream-prometheus-tests
- 1.0-SNAPSHOT
-
-
-
- MPL 2.0
- https://www.mozilla.org/en-US/MPL/2.0/
- repo
-
-
-
-
-
- info@rabbitmq.com
- Team RabbitMQ
- VMware, Inc. or its affiliates.
- https://rabbitmq.com
-
-
-
-
- 0.1.0-SNAPSHOT
- 0.33.8
- 5.7.2
- 3.19.0
- 4.9.1
- 1.2.3
- 3.8.1
- 2.22.2
- 2.2.0
- UTF-8
-
-
-
-
-
- com.rabbitmq
- stream-client
- ${stream-client.version}
-
-
-
- org.apache.qpid
- proton-j
- ${proton-j.version}
-
-
-
- org.junit.jupiter
- junit-jupiter-engine
- ${junit.jupiter.version}
- test
-
-
-
- org.junit.jupiter
- junit-jupiter-params
- ${junit.jupiter.version}
- test
-
-
-
- org.assertj
- assertj-core
- ${assertj.version}
- test
-
-
-
- com.squareup.okhttp3
- okhttp
- ${okhttp.version}
- test
-
-
-
- ch.qos.logback
- logback-classic
- ${logback.version}
- test
-
-
-
-
-
-
-
-
-
- maven-compiler-plugin
- ${maven.compiler.plugin.version}
-
-
- 1.8
-
- -Xlint:deprecation
- -Xlint:unchecked
-
-
-
-
-
- maven-surefire-plugin
- ${maven-surefire-plugin.version}
-
-
-
- com.diffplug.spotless
- spotless-maven-plugin
- ${spotless.version}
-
-
-
- 1.9
-
-
-
-
-
-
-
-
-
-
-
-
-
- ossrh
- https://oss.sonatype.org/content/repositories/snapshots
- true
- false
-
-
-
-
-
\ No newline at end of file
diff --git a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/src/test/java/com/rabbitmq/stream/MetricsUtils.java b/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/src/test/java/com/rabbitmq/stream/MetricsUtils.java
deleted file mode 100644
index d3eb637a306d..000000000000
--- a/deps/rabbitmq_stream_prometheus/test/prometheus_http_SUITE_data/src/test/java/com/rabbitmq/stream/MetricsUtils.java
+++ /dev/null
@@ -1,212 +0,0 @@
-// The contents of this file are subject to the Mozilla Public License
-// Version 2.0 (the "License"); you may not use this file except in
-// compliance with the License. You may obtain a copy of the License
-// at https://www.mozilla.org/en-US/MPL/2.0/
-//
-// Software distributed under the License is distributed on an "AS IS"
-// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-// the License for the specific language governing rights and
-// limitations under the License.
-//
-// The Original Code is RabbitMQ.
-//
-// The Initial Developer of the Original Code is Pivotal Software, Inc.
-// Copyright (c) 2021 VMware, Inc. or its affiliates. All rights reserved.
-//
-
-package com.rabbitmq.stream;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.function.BiConsumer;
-
-public class MetricsUtils {
-
- static final String METRIC_PREFIX = "rabbitmq_stream_";
- static final String METRIC_PUBLISHERS = "publishers";
- static final String METRIC_PUBLISHERS_PUBLISHED = "publishers_messages_published_total";
- static final String METRIC_PUBLISHERS_CONFIRMED = "publishers_messages_confirmed_total";
- static final String METRIC_PUBLISHERS_ERRORED = "publishers_messages_errored_total";
- static final String METRIC_CONSUMERS = "consumers";
- static final String METRIC_CONSUMERS_CONSUMED = "consumers_messages_consumed_total";
- static final List METRICS =
- Collections.unmodifiableList(
- Arrays.asList(
- METRIC_PUBLISHERS,
- METRIC_PUBLISHERS_PUBLISHED,
- METRIC_PUBLISHERS_CONFIRMED,
- METRIC_PUBLISHERS_ERRORED,
- METRIC_CONSUMERS,
- METRIC_CONSUMERS_CONSUMED));
-
- static Metrics parseMetrics(String content) throws IOException {
- Metrics metrics = new Metrics();
- try (BufferedReader reader = new BufferedReader(new StringReader(content))) {
- String line;
- String type = null, name = null;
- Metric metric = null;
- while ((line = reader.readLine()) != null) {
- if (line.trim().isEmpty()
- || !line.contains(METRIC_PREFIX)
- || line.contains("ct_rabbitmq_stream_prometheus")
- || line.contains("ct-rabbitmq_stream_prometheus")) {
- // empty line, non-stream metrics,
- // or line containing the name of the erlang node, which is the name of the test suite
- // the latter shows up in some metrics
- continue;
- }
- if (line.startsWith("# TYPE ")) {
- String[] nameType = line.replace("# TYPE ", "").split(" ");
- name = nameType[0];
- type = nameType[1];
- } else if (line.startsWith("# HELP ")) {
- String help = line.replace("# HELP ", "").replace(name + " ", "");
- metric = new Metric(name, type, help);
- metrics.add(metric);
- } else if (line.startsWith(name)) {
- Map labels = Collections.emptyMap();
- if (line.contains("{")) {
- String l = line.substring(line.indexOf("{") + 1, line.indexOf("}"));
- labels =
- Arrays.stream(l.split(","))
- .map(label -> label.trim().split("="))
- .collect(
- () -> new HashMap<>(),
- (acc, keyValue) -> acc.put(keyValue[0], keyValue[1].replace("\"", "")),
- (BiConsumer