summaryrefslogtreecommitdiff
path: root/deps/amqp10_common
Commit message (Collapse)AuthorAgeFilesLines
* Add a workflow to compare the bazel/erlang.mk outputRin Kuryloski2023-05-151-2/+2
| | | | To catch any drift between the builds
* Replace globs in bazel with explicit lists of filesRin Kuryloski2023-04-251-29/+17
| | | | As this is preferred in rules_erlang 3.9.14
* Restore the original -include_lib statements from before #6466Rin Kuryloski2023-04-201-0/+2
| | | | | | since this broke erlang_ls requires rules_erlang 3.9.13
* Use gazelle generated bazel filesRin Kuryloski2023-04-172-5/+149
| | | | | | | | | | | Bazel build files are now maintained primarily with `bazel run gazelle`. This will analyze and merge changes into the build files as necessitated by certain code changes (e.g. the introduction of new modules). In some cases there hints to gazelle in the build files, such as `# gazelle:erlang...` or `# keep` comments. xref checks on plugins that depend on the cli are a good example.
* Cleanup dialyzer callsAlexey Lebedeff2023-02-061-0/+2
| | | | | | - Use the same base .plt everywhere, so there is no need to list standard apps everywhere - Fix typespecs: some typos and the use of not-exported types
* Use improved assert_suites2 macro from rules_erlang 3.9.0Rin Kuryloski2023-01-181-11/+13
|
* (c) year bump: 2022 => 2023Michael Klishin2023-01-013-3/+3
|
* Update branch names and linksLuke Bakken2022-09-293-3/+6
| | | | | | | | Fix publish of libs to hex.pm @lhoguin noticed that the hex packages for the amqp_client, amqp10_client and related project do not currently work with erlang.mk. This PR fixes this issue. Tested using this project: https://github.com/lukebakken/amqp-clients-test.git
* Update amqp*_client Makefiles for branch renameRin Kuryloski2022-08-161-2/+2
| | | | For hex publishing correctness
* Use the new xref2 macro from rules_erlangPhilip Kuryloski2022-06-091-1/+1
| | | | That adopts the modern erlang.mk xref behaviour
* Make rabbitmq-server work with rules_erlang 3Philip Kuryloski2022-06-081-66/+26
| | | | | | | | | | | | | | | | | | | | Also rework elixir dependency handling, so we no longer rely on mix to fetch the rabbitmq_cli deps Also: - Specify ra version with a commit rather than a branch - Fixup compilation options for erlang 23 - Add missing ra reference in MODULE.bazel - Add missing flag in oci.yaml - Reduce bazel rbe jobs to try to save memory - Use bazel built erlang for erlang git master tests - Use the same cache for all the workflows but windows - Avoid using `mix local.hex --force` in elixir rules - Fetching seems blocked in CI, and this should reduce hex api usage in all builds, which is always nice - Remove xref and dialyze tags since rules_erlang 3 includes them in the defaults
* Switch the default python binary for codegen scripts to python3Philip Kuryloski2022-06-021-1/+1
|
* Increase receiving throughput from a stream via AMQPDavid Ansari2022-05-165-23/+188
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit increases consumption throughput from a stream via AMQP 0.9.1 for 1 consumer by 83k msg/s or 55%, for 4 consumers by 140k msg/s or 44%. This commit tries to follow https://www.erlang.org/doc/efficiency_guide/binaryhandling.html by reusing match contexts instead of creating new sub-binaries. The CPU and mmap() memory flame graphs show that when producing and consuming from a stream via AMQP 0.9.1 module amqp10_binary_parser requires before this commit: 10.1% CPU time and 8.0% of mmap system calls after this commit: 2.6% CPU time 2.5% of mmap system calls Performance tests Start rabbitmq-server without any plugins enabled and with 4 schedulers: ``` make run-broker PLUGINS="" RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="+JPperf true +S 4" ``` Test 1 Perf test client: ``` -x 1 -y 2 -qa x-queue-type=stream -ad false -f persistent -u s1 --qos 10000 --multi-ack-every 1000 -z 30 ``` master branch: sending rate avg msg/s 143k - 146k receiving rate avg msg/s 188k - 194k PR: sending rate avg 133k - 138k receiving rate avg 266k - 276k This shows that with AMQP 0.9.1 and a stream, prior to this commit the broker could not deliver messages to consumers as fast as they were published. After this commit, it can. Test 2 First, produce a few millions messages: ``` -x 1 -y 0 -qa x-queue-type=stream -ad false -f persistent -u s2 ``` Then, consume them: ``` -x 0 -y 1 -qa x-queue-type=stream -ad false -f persistent -u s2 --qos 10000 --multi-ack-every 1000 -ca x-stream-offset=first -z 30 ``` receving rate avg msg/s master branch: 147k - 156k PR: 230k - 237k Improvement: 83k / 55% Test 3 -x 0 -y 4 -qa x-queue-type=stream -ad false -f persistent -u s2 --qos 10000 --multi-ack-every 1000 -ca x-stream-offset=first -z 30 receving rate avg msg/s master branch: 313k - 319k PR: 450k - 461k Improvement: 140k / 44%
* Correct GitHub repo links in Hex metadataMichael Klishin2022-04-201-2/+2
|
* Fix incorrect location of HEX_TARBALL_FILES in deps/amqp10_commonLuke Bakken2022-04-191-2/+2
|
* Begin work migrating to native hex publishingLuke Bakken2022-04-191-8/+13
| | | | Use hex for credentials_obfuscation dep
* Replace files with symlinksLuke Bakken2022-04-152-82/+2
| | | | This prevents duplicated and out-of-date instructions.
* Bring over PROJECT_APP_EXTRA_KEYS values from make to bazelPhilip Kuryloski2022-04-071-0/+19
|
* Update amqp10_client and amqp10_common for hex.pm publishLuke Bakken2022-03-292-69/+21
| | | | | | | | | | | | Fixes #2577 Related rabbitmq/rabbitmq-ci#50 Yolo-copy amqp_client targets for dist Update license short name Remove unnecessary targets now that hex.pm exists
* Bump (c) yearMichael Klishin2022-03-213-3/+3
|
* Use rules_erlang v2Philip Kuryloski2022-01-181-12/+9
| | | | | | | | bazel-erlang has been renamed rules_erlang. v2 is a substantial refactor that brings Windows support. While this alone isn't enough to run all rabbitmq-server suites on windows, one can at least now start the broker (bazel run broker) and run the tests that do not start a background broker process
* Update CLA URLcla-urlMichal Kuratczyk2021-09-231-2/+2
|
* Also assert no missing suites for all other depsPhilip Kuryloski2021-07-121-8/+13
|
* Add dialyze for amqp10_commonPhilip Kuryloski2021-05-311-0/+6
|
* Perform xref checks on many tier-1 pluginsPhilip Kuryloski2021-05-211-0/+3
|
* Add basic xref for deps/rabbitPhilip Kuryloski2021-05-191-3/+29
|
* Adopt change of suite_name -> name in ct_suite from @bazel-erlangPhilip Kuryloski2021-04-081-1/+1
|
* Namingmk-amqp10-parser-infinite-loopMichael Klishin2021-04-071-2/+2
|
* A typoMichael Klishin2021-04-071-1/+1
|
* AMQP 1.0 binary parser: treat arrays with extra or missing input as fatal errorsMichael Klishin2021-04-072-7/+78
| | | | | | | | | | With some input it is possible that the terminating clause will never match. While at it, consume binary input when parsing short form primitives: null, true, false, as well as uint/ulong zero values. Pair: @lhoguin.
* Add a partial Bazel build (#2938)Philip Kuryloski2021-03-291-0/+74
| | | Adds WORKSPACE.bazel, BUILD.bazel & *.bzl files for partial build & test with Bazel. Introduces a build-time dependency on https://github.com/rabbitmq/bazel-erlang
* Remove duplicate rabbitmq-components.mk and erlang.mk filesPhilip Kuryloski2021-03-223-8173/+2
| | | | | Also adjust the references in rabbitmq-components.mk to account for post monorepo locations
* fix missing Ra deps updateskjnilsson2021-03-191-1/+1
|
* Sync rabbitmq-components.mk in a few more placesMichael Klishin2021-03-121-2/+2
|
* Sync rabbitmq-components.mkMichael Klishin2021-03-051-2/+2
|
* Bump Lager to 3.8.2 for OTP 24 compatibilityMichael Klishin2021-02-241-1/+5
|
* Bump (c) yearMichael Klishin2021-01-223-3/+3
|
* Update rabbitmq-components.mkArnaud Cogoluègnes2020-11-031-0/+2
|
* Update rabbitmq-components.mkMichael Klishin2020-10-211-2/+2
|
* Update rabbitmq-components.mkLuke Bakken2020-08-041-13/+26
|
* Update rabbitmq-components.mkJean-Sébastien Pédron2020-07-301-4/+11
|
* Update rabbitmq-components.mkLuke Bakken2020-07-291-9/+9
|
* Update erlang.mkdcorbacho2020-07-211-1/+2
|
* Update rabbitmq-components.mkJean-Sébastien Pédron2020-07-211-1/+1
|
* Update rabbitmq-components.mkMichael Klishin2020-07-211-2/+2
|
* Revert drop of Exhibit B on MPL 2.0dcorbacho2020-07-201-2/+8
|
* Update MPL2 license file, drop Exhibit BMichael Klishin2020-07-172-0/+372
| | | | | | | | | and add a VMware copyright notice. We did not mean to make this code Incompatible with Secondary Licenses as defined in [1]. 1. https://www.mozilla.org/en-US/MPL/2.0/FAQ/
* Switch to Mozilla Public License 2.0 (MPL 2.0)dcorbacho2020-07-104-491/+9
|
* Update erlang.mkJean-Sébastien Pédron2020-06-231-17/+112
|
* Bump Recon to 2.5.1Michael Klishin2020-06-091-2/+2
| | | | | | for Erlang 23 compatibility of 'rabbitmq-diagnostics observer' References zhongwencool/observer_cli#68.