Philip Kuryloski
4cbea85b60
Refactor rabbitmq_event_exchange bazel
2021-05-11 11:01:48 +02:00
Philip Kuryloski
072a1c0462
Refactor and dedupe .bazel file content
2021-04-16 10:22:44 +02:00
Philip Kuryloski
80e98a431f
Fixup previous commit
2021-04-09 16:11:10 +02:00
Philip Kuryloski
c131a03503
Add rabbitmq_event_exchange to bazel
2021-04-09 15:55:19 +02:00
Philip Kuryloski
a63f169fcb
Remove duplicate rabbitmq-components.mk and erlang.mk files
...
Also adjust the references in rabbitmq-components.mk to account for
post monorepo locations
2021-03-22 15:40:19 +01:00
kjnilsson
52f745dcde
Update rabbitmq-components.mk
...
use v1.x branch of ra
2021-03-18 15:14:40 +00:00
Loïc Hoguin
d5e3bdd623
Add ADDITIONAL_PLUGINS variable
...
This allows including additional applications or third party
plugins when creating a release, running the broker locally,
or just building from the top-level Makefile.
To include Looking Glass in a release, for example:
$ make package-generic-unix ADDITIONAL_PLUGINS="looking_glass"
A Docker image can then be built using this release and will
contain Looking Glass:
$ make docker-image
Beware macOS users! Applications such as Looking Glass include
NIFs. NIFs must be compiled in the right environment. If you
are building a Docker image then make sure to build the NIF
on Linux! In the two steps above, this corresponds to Step 1.
To run the broker with Looking Glass available:
$ make run-broker ADDITIONAL_PLUGINS="looking_glass"
This commit also moves Looking Glass dependency information
into rabbitmq-components.mk so it is available at all times.
2021-03-12 12:29:28 +01:00
Jean-Sébastien Pédron
cdcf602749
Switch from Lager to the new Erlang Logger API for logging
...
The configuration remains the same for the end-user. The only exception
is the log root directory: it is now set through the `log_root`
application env. variable in `rabbit`. People using the Cuttlefish-based
configuration file are not affected by this exception.
The main change is how the logging facility is configured. It now
happens in `rabbit_prelaunch_logging`. The `rabbit_lager` module is
removed.
The supported outputs remain the same: the console, text files, the
`amq.rabbitmq.log` exchange and syslog.
The message text format slightly changed: the timestamp is more precise
(now to the microsecond) and the level can be abbreviated to always be
4-character long to align all messages and improve readability. Here is
an example:
2021-03-03 10:22:30.377392+01:00 [dbug] <0.229.0> == Prelaunch DONE ==
2021-03-03 10:22:30.377860+01:00 [info] <0.229.0>
2021-03-03 10:22:30.377860+01:00 [info] <0.229.0> Starting RabbitMQ 3.8.10+115.g071f3fb on Erlang 23.2.5
2021-03-03 10:22:30.377860+01:00 [info] <0.229.0> Licensed under the MPL 2.0. Website: https://rabbitmq.com
The example above also shows that multiline messages are supported and
each line is prepended with the same prefix (the timestamp, the level
and the Erlang process PID).
JSON is also supported as a message format and now for any outputs.
Indeed, it is possible to use it with e.g. syslog or the exchange. Here
is an example of a JSON-formatted message sent to syslog:
Mar 3 11:23:06 localhost rabbitmq-server[27908] <0.229.0> - {"time":"2021-03-03T11:23:06.998466+01:00","level":"notice","msg":"Logging: configured log handlers are now ACTIVE","meta":{"domain":"rabbitmq.prelaunch","file":"src/rabbit_prelaunch_logging.erl","gl":"<0.228.0>","line":311,"mfa":["rabbit_prelaunch_logging","configure_logger",1],"pid":"<0.229.0>"}}
For quick testing, the values accepted by the `$RABBITMQ_LOGS`
environment variables were extended:
* `-` still means stdout
* `-stderr` means stderr
* `syslog:` means syslog on localhost
* `exchange:` means logging to `amq.rabbitmq.log`
`$RABBITMQ_LOG` was also extended. It now accepts a `+json` modifier (in
addition to the existing `+color` one). With that modifier, messages are
formatted as JSON intead of plain text.
The `rabbitmqctl rotate_logs` command is deprecated. The reason is
Logger does not expose a function to force log rotation. However, it
will detect when a file was rotated by an external tool.
From a developer point of view, the old `rabbit_log*` API remains
supported, though it is now deprecated. It is implemented as regular
modules: there is no `parse_transform` involved anymore.
In the code, it is recommended to use the new Logger macros. For
instance, `?LOG_INFO(Format, Args)`. If possible, messages should be
augmented with some metadata. For instance (note the map after the
message):
?LOG_NOTICE("Logging: switching to configured handler(s); following "
"messages may not be visible in this log output",
#{domain => ?RMQLOG_DOMAIN_PRELAUNCH}),
Domains in Erlang Logger parlance are the way to categorize messages.
Some predefined domains, matching previous categories, are currently
defined in `rabbit_common/include/logging.hrl` or headers in the
relevant plugins for plugin-specific categories.
At this point, very few messages have been converted from the old
`rabbit_log*` API to the new macros. It can be done gradually when
working on a particular module or logging.
The Erlang builtin console/file handler, `logger_std_h`, has been forked
because it lacks date-based file rotation. The configuration of
date-based rotation is identical to Lager. Once the dust has settled for
this feature, the goal is to submit it upstream for inclusion in Erlang.
The forked module is calld `rabbit_logger_std_h` and is based
`logger_std_h` in Erlang 23.0.
2021-03-11 15:17:36 +01:00
dcorbacho
61f7b2a723
Update to ranch 2.0
2021-03-08 23:11:05 +01:00
Michael Klishin
b6c4831e75
Bump Lager to 3.9.1
2021-03-04 04:36:39 +03:00
Loïc Hoguin
66ac1bf5e9
Bump observer_cli to 1.6.1
...
More responsive when the system is overloaded with file calls.
2021-03-01 21:55:27 +03:00
Michael Klishin
8fe3df9343
Upgrade Lager to 3.9.0 for OTP 24 compatibility
...
`lager_util:expand_path/1` use changes are
due to erlang-lager/lager#540
2021-02-26 00:52:15 +03:00
Michael Klishin
f73e851f9c
Bump observer_cli to 1.6.0
2021-02-24 12:53:55 +03:00
Michael Klishin
a5098b28a7
Bump Lager to 3.8.2 for OTP 24 compatibility
2021-02-24 12:53:30 +03:00
Arnaud Cogoluègnes
b921ac11a8
Merge pull request #2712 from rabbitmq/rabbitmq-stream-prometheus
...
Add stream prometheus plugin
2021-01-27 16:46:37 +01:00
Michael Klishin
52479099ec
Bump (c) year
2021-01-22 09:00:14 +03:00
Arnaud Cogoluègnes
bf72683eb2
Add stream prometheus plugin
2021-01-11 16:49:56 +01:00
Arnaud Cogoluègnes
23d7e8114c
Introduce stream management plugin
2020-11-19 14:48:25 +01:00
Jean-Sébastien Pédron
47686ee1f0
Remove unused .github directories
...
They were valid until the switch to the "monorepository" when everything
was merged into a single Git repository.
2020-11-17 13:33:16 +01:00
Arnaud Cogoluègnes
3194c79595
Update rabbitmq-components.mk
2020-11-03 14:27:38 +01:00
Michael Klishin
399cdb43f7
Update rabbitmq-components.mk
2020-10-21 12:55:35 +03:00
Luke Bakken
78f1ebb96d
Update rabbitmq-components.mk
2020-08-04 08:41:47 -07:00
Jean-Sébastien Pédron
283d619696
Update rabbitmq-components.mk
2020-07-30 12:06:52 +02:00
Luke Bakken
e058184846
Update rabbitmq-components.mk
2020-07-29 10:02:03 -07:00
dcorbacho
45ee99d8c4
Update erlang.mk
2020-07-21 14:32:21 +01:00
Michael Klishin
d3b455449f
Update rabbitmq-components.mk
2020-07-21 13:12:47 +03:00
Michael Klishin
1b6dd0666f
Update rabbitmq-components.mk
2020-07-21 03:44:44 +03:00
dcorbacho
29a6c1bd47
Update LICENSE
2020-07-20 10:53:42 +01:00
dcorbacho
7d029dd5ea
Switch to Mozilla Public License 2.0 (MPL 2.0)
2020-07-12 22:47:07 +01:00
Jean-Sébastien Pédron
54be861542
Update erlang.mk
2020-06-23 17:13:53 +02:00
Michael Klishin
d50b3ff368
Update rabbitmq-components.mk
2020-06-10 19:51:16 +03:00
Jean-Sébastien Pédron
2bf9994e5e
Update copyright (year 2020)
2020-03-10 16:09:41 +01:00
Gerhard Lazu
216f3162c7
Update rabbitmq-components.mk
2020-03-06 09:19:15 +00:00
Gerhard Lazu
5b7920ca90
Update erlang.mk
2020-03-06 09:17:38 +00:00
Jean-Sébastien Pédron
552e2359ae
Travis CI: Update config from rabbitmq-common
2020-03-04 14:24:28 +01:00
Jean-Sébastien Pédron
520f306eec
Travis CI: Update config from rabbitmq-common
2020-03-04 11:17:14 +01:00
Jean-Sébastien Pédron
74f86f3bf2
Travis CI: Update config from rabbitmq-common
2020-03-03 14:53:38 +01:00
Gerhard Lazu
f6e843c19c
Update rabbitmq-components.mk
2020-02-11 15:31:43 +00:00
Michael Klishin
62761c8234
(c) bump
2019-12-29 05:50:28 +03:00
Jean-Sébastien Pédron
aa968258bc
Git: Ignore copied CLI
2019-12-12 13:29:50 +01:00
Jean-Sébastien Pédron
d01e3c88c6
Update rabbitmq-components.mk
2019-12-12 13:14:53 +01:00
Luke Bakken
4522d0bc78
Ensure added/removed first binding event
...
Fixes #41
This event must be sent to all nodes, otherwise rabbit_event will drop messages it should deliver to amq.rabbitmq.event
2019-09-25 07:38:26 -07:00
kjnilsson
74ae15fbf9
Update rabbitmq-components.mk
2019-09-13 10:24:19 +01:00
kjnilsson
45a60829e4
Update rabbitmq-components.mk
2019-09-04 10:30:56 +01:00
Jean-Sébastien Pédron
d3cb93639f
Update erlang.mk
2019-08-29 20:45:06 +02:00
Michael Klishin
4b5ccf3683
Update rabbitmq-components.mk
2019-08-11 01:47:53 +10:00
Jean-Sébastien Pédron
79333b0723
Update erlang.mk
2019-08-02 09:53:53 +02:00
Michael Klishin
9adf4451c6
Update rabbitmq-components.mk
2019-08-01 17:13:14 +03:00
Arnaud Cogoluègnes
e529ceca6b
Update rabbitmq-components.mk
2019-07-09 16:05:56 +02:00
Jean-Sébastien Pédron
afe2d16ac9
Update rabbitmq-components.mk
2019-06-28 16:05:29 +02:00
Jean-Sébastien Pédron
0e7d19d6bd
Update erlang.mk
2019-06-28 16:02:00 +02:00
Gerhard Lazu
4c7fde26fe
Update rabbitmq-components.mk
2019-06-03 02:23:36 +01:00
Jean-Sébastien Pédron
0d990b0f6a
Update rabbitmq-components.mk
2019-05-17 15:17:17 +02:00
Michael Klishin
72e08da051
Update rabbitmq-components.mk
2019-05-17 08:36:36 +03:00
Michael Klishin
2d8bce48b2
Update rabbitmq-components.mk
2019-05-16 23:26:05 +03:00
Luke Bakken
01ab99e0c2
Add GitHub templates
2019-05-15 07:31:15 -07:00
Michael Klishin
6ce3291d2e
Update rabbitmq-components.mk
2019-05-14 11:50:46 +03:00
Michael Klishin
76593f69b0
Update rabbitmq-components.mk
2019-05-13 16:40:30 +03:00
Gerhard Lazu
f92525c719
Update rabbitmq-components.mk
2019-05-01 13:18:12 +01:00
Luke Bakken
ff71662783
Update rabbitmq-components.mk
2019-04-30 16:20:56 -07:00
Jean-Sébastien Pédron
2f77efe692
Update rabbitmq-components.mk
2019-04-30 14:47:29 +02:00
Gerhard Lazu
7fcc60163c
Update rabbitmq-components.mk
2019-04-22 21:55:03 +01:00
Spring Operator
cb00b95fef
URL Cleanup
...
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.
* http://blog.listincomprehension.com/search/label/procket (200) with 1 occurrences could not be migrated:
([https](https://blog.listincomprehension.com/search/label/procket ) result ClosedChannelException).
* http://dozzie.jarowit.net/trac/wiki/TOML (200) with 1 occurrences could not be migrated:
([https](https://dozzie.jarowit.net/trac/wiki/TOML ) result SSLHandshakeException).
* http://dozzie.jarowit.net/trac/wiki/subproc (200) with 1 occurrences could not be migrated:
([https](https://dozzie.jarowit.net/trac/wiki/subproc ) result SSLHandshakeException).
* http://e2project.org (200) with 1 occurrences could not be migrated:
([https](https://e2project.org ) result AnnotatedConnectException).
* http://nitrogenproject.com/ (200) with 2 occurrences could not be migrated:
([https](https://nitrogenproject.com/ ) result ConnectTimeoutException).
* http://proper.softlab.ntua.gr (200) with 1 occurrences could not be migrated:
([https](https://proper.softlab.ntua.gr ) result SSLHandshakeException).
* http://yaws.hyber.org (200) with 1 occurrences could not be migrated:
([https](https://yaws.hyber.org ) result AnnotatedConnectException).
* http://choven.ca (503) with 1 occurrences could not be migrated:
([https](https://choven.ca ) result ConnectTimeoutException).
# Fixed URLs
## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.
* http://fixprotocol.org/ (301) with 1 occurrences migrated to:
https://fixtrading.org ([https](https://fixprotocol.org/ ) result SSLHandshakeException).
* http://erldb.org (UnknownHostException) with 1 occurrences migrated to:
https://erldb.org ([https](https://erldb.org ) result UnknownHostException).
## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.
* http://cloudi.org/ with 27 occurrences migrated to:
https://cloudi.org/ ([https](https://cloudi.org/ ) result 200).
* http://erlware.org/ with 1 occurrences migrated to:
https://erlware.org/ ([https](https://erlware.org/ ) result 200).
* http://inaka.github.io/cowboy-trails/ with 1 occurrences migrated to:
https://inaka.github.io/cowboy-trails/ ([https](https://inaka.github.io/cowboy-trails/ ) result 200).
* http://ninenines.eu with 6 occurrences migrated to:
https://ninenines.eu ([https](https://ninenines.eu ) result 200).
* http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html with 1 occurrences migrated to:
https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html ([https](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html ) result 200).
* http://www.actordb.com/ with 2 occurrences migrated to:
https://www.actordb.com/ ([https](https://www.actordb.com/ ) result 200).
* http://www.cs.kent.ac.uk/projects/wrangler/Home.html with 1 occurrences migrated to:
https://www.cs.kent.ac.uk/projects/wrangler/Home.html ([https](https://www.cs.kent.ac.uk/projects/wrangler/Home.html ) result 200).
* http://www.rabbitmq.com/community-plugins.html with 1 occurrences migrated to:
https://www.rabbitmq.com/community-plugins.html ([https](https://www.rabbitmq.com/community-plugins.html ) result 200).
* http://www.rabbitmq.com/plugin-development.html with 1 occurrences migrated to:
https://www.rabbitmq.com/plugin-development.html ([https](https://www.rabbitmq.com/plugin-development.html ) result 200).
* http://www.rebar3.org with 1 occurrences migrated to:
https://www.rebar3.org ([https](https://www.rebar3.org ) result 200).
* http://contributor-covenant.org with 1 occurrences migrated to:
https://contributor-covenant.org ([https](https://contributor-covenant.org ) result 301).
* http://contributor-covenant.org/version/1/3/0/ with 1 occurrences migrated to:
https://contributor-covenant.org/version/1/3/0/ ([https](https://contributor-covenant.org/version/1/3/0/ ) result 301).
* http://inaka.github.com/apns4erl with 1 occurrences migrated to:
https://inaka.github.com/apns4erl ([https](https://inaka.github.com/apns4erl ) result 301).
* http://inaka.github.com/edis/ with 1 occurrences migrated to:
https://inaka.github.com/edis/ ([https](https://inaka.github.com/edis/ ) result 301).
* http://lasp-lang.org/ with 1 occurrences migrated to:
https://lasp-lang.org/ ([https](https://lasp-lang.org/ ) result 301).
* http://saleyn.github.com/erlexec with 1 occurrences migrated to:
https://saleyn.github.com/erlexec ([https](https://saleyn.github.com/erlexec ) result 301).
* http://www.mozilla.org/MPL/ with 6 occurrences migrated to:
https://www.mozilla.org/MPL/ ([https](https://www.mozilla.org/MPL/ ) result 301).
* http://zhongwencool.github.io/observer_cli with 1 occurrences migrated to:
https://zhongwencool.github.io/observer_cli ([https](https://zhongwencool.github.io/observer_cli ) result 301).
2019-03-20 03:15:07 -05:00
Michael Klishin
d4e3087564
Travis: use Erlang 21.3, Elixir 1.8.1
2019-03-20 10:33:14 +03:00
Michael Klishin
6c9b21df0b
Update rabbitmq-components.mk
2019-03-15 05:32:53 +03:00
Michael Klishin
8afac02aaf
Update rabbitmq-components.mk
2019-03-15 05:05:43 +03:00
Michael Klishin
b50894a4da
Update rabbitmq-components.mk
2019-02-12 23:23:53 +03:00
Michael Klishin
62a403b872
.travis.yml: use 21.2 as 21.2.2 builds are no available
2019-01-14 01:20:20 +03:00
Michael Klishin
81d71ac5d1
.travis.yml: sync Erlang and Elixir versions, require Erlang/OTP 21.2
2019-01-13 05:49:59 +03:00
Michael Klishin
34ad97c117
Default exchange bindings are implicit as of rabbitmq/rabbitmq-server#1721
2019-01-10 05:16:56 +03:00
Luke Bakken
d7659371ed
Update rabbitmq-components.mk
2019-01-09 12:55:02 -08:00
Luke Bakken
b4988b6941
Update rabbitmq-components.mk
2019-01-08 11:58:27 -08:00
Michael Klishin
09c889c2e0
Update rabbitmq-components.mk
2018-12-06 18:28:45 +03:00
Michael Klishin
63b5b35d55
Update rabbitmq-components.mk
2018-12-06 03:15:11 +03:00
Jean-Sébastien Pédron
d90b54c153
Update rabbitmq-components.mk
2018-11-30 14:56:48 +01:00
Jean-Sébastien Pédron
5afac56428
Update rabbitmq-components.mk
2018-11-22 09:19:33 +01:00
Michael Klishin
e9a1e04cf4
Merge pull request #37 from rabbitmq/rabbitmq-server-1722
...
Performance optimisations
2018-11-01 23:06:24 +03:00
Michael Klishin
7eb4bdcb8f
Naming
2018-11-01 23:02:23 +03:00
Diana Corbacho
9f9af450af
Use an exchange decorator to drop all events when no binding is present
...
Avoids the expensive routing operation
[#160943793 ]
2018-10-31 12:46:35 +00:00
kjnilsson
700e3bc01e
Update rabbitmq-components.mk
2018-10-29 12:43:18 +00:00
Diana Corbacho
28c0877e40
Unroll fmt/1 into fmt/2 for performance enhancement
...
[#160943793 ]
2018-10-19 15:42:28 +02:00
Diana Corbacho
26066623ce
Update test cases
...
[#160943793 ]
2018-10-19 11:15:30 +02:00
Diana Corbacho
53afc1f1d1
Optimisation: store vhost in gen_event state
...
Avoids the contention created in the application manager by get_env
[#160943793 ]
2018-10-17 16:49:00 +02:00
Diana Corbacho
9ab831ee00
Optimise rabbit_exchange_type_event:key/1
...
Pattern matching is more efficient that the string operations,
let's use all the keys we're aware of to speed up the handler.
Any unknown or new one will be processed as before (see last function clause).
[#160943793 ]
2018-10-17 15:14:54 +02:00
Diana Corbacho
fd0dee8126
Optimise fmt_proplist performance
...
[#160943793 ]
2018-10-17 15:13:50 +02:00
Jean-Sébastien Pédron
4409032272
Update rabbitmq-components.mk
2018-09-19 10:38:14 +02:00
Jean-Sébastien Pédron
83de05ebb6
Update rabbitmq-components.mk
2018-09-11 14:22:28 +02:00
Michael Klishin
003045087c
Drive by change: use more modern version of Elixir in .travis.yml
2018-08-20 17:14:32 +03:00
Diana Corbacho
816627821b
Use eunit macros for assertions
2018-08-20 15:04:30 +01:00
Diana Corbacho
e9776239af
Delete exchange when unregistering/disabling plugin
...
[#159848473 ]
2018-08-20 14:05:21 +01:00
Michael Klishin
4db0006f8f
Expose rabbitmq_event_exchange.vhost to new style config
...
as event_exchange.vhost.
Closes #31 .
[#159764208 ]
(c) year update
Ignore the rabbit.schema file that ct helpers copies over
2018-08-14 08:25:06 -07:00
Jean-Sébastien Pédron
c1bcc68795
Update rabbitmq-components.mk
2018-08-09 17:44:13 +02:00
Jean-Sébastien Pédron
75c8b146f8
Update rabbitmq-components.mk
2018-08-09 12:17:00 +02:00
Jean-Sébastien Pédron
2491d05431
Update rabbitmq-components.mk
2018-06-07 11:31:35 +02:00
Jean-Sébastien Pédron
07d08611e4
Update erlang.mk
2018-04-11 10:53:09 +02:00
Jean-Sébastien Pédron
522bc8ad53
Update rabbitmq-components.mk
2018-04-11 10:51:20 +02:00
Jean-Sébastien Pédron
74bd6cbdf5
Update rabbitmq-components.mk
2018-04-11 10:10:02 +02:00
Jean-Sébastien Pédron
43c5793f03
Travis CI: Update config from rabbitmq-common
2018-04-10 13:06:40 +02:00
Jean-Sébastien Pédron
c0abc0cd83
Update erlang.mk
2018-03-02 19:05:38 +01:00
Jean-Sébastien Pédron
d70db7d070
Update rabbitmq-components.mk
2018-01-30 15:23:37 +01:00