Commit Graph

178 Commits

Author SHA1 Message Date
Luke Bakken dba25f6462
Replace files with symlinks
This prevents duplicated and out-of-date instructions.
2022-04-15 06:04:29 -07:00
David Ansari e10247feee Reduce CPU usage of rabbit_framing_amqp_0_9_1:decode_method_fields/2
This diff will generate module rabbit_framing_amqp_0_9_1 with
re-ordered clauses of function decode_method_fields/2.

After this change, basic class will be at the top of the function
clauses. That's better because for example basic.publish and basic.ack
are called far more often than for example methods of class connection,
channel or exchange.

Note that "the compiler does not rearrange clauses that match binaries."
See https://www.erlang.org/doc/efficiency_guide/functions.html#pattern-matching

Measurement taken on an Ubuntu 20.04 VM before and after this change:
1. Install latest Erlang from master (i.e. Erlang 25)
2. RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="+JPperf true +S 1" make run-broker
   (Single scheduler makes the flame graph easier to read.)
3. Run rabbitmq-perf-test without any parameters
4. sudo perf record -g -F 9999 -p <pid> -- sleep 5
   where <pid> is the output of 'os:getpid().' (in the Erlang shell).
   This samples CPU stack traces via frame pointers of
   rabbitmq-server at 9999 Hertz for 5 seconds.
5. Generate a differential flame graph as described in
   https://www.brendangregg.com/blog/2014-11-09/differential-flame-graphs.html

Before this change, stack frame rabbit_framing_amqp_0_9_1:decode_method_fields/2
was 1.57% present in all stack trackes, most of the time (> 1%) running
on the CPU, i.e. directly consuming CPU cycles.
This does not sound like a lot, but is actually quite a lot for a single
function!

The diffential flame graph depicts a single dark blue frame: function decode_method_fields
with a reduction of ~0.85%.
2021-12-31 02:26:21 +01:00
Michal Kuratczyk 1a2126676d Update CLA URL 2021-09-23 14:29:36 +02:00
Philip Kuryloski 388654c542
Add a partial Bazel build (#2938)
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
2021-03-29 11:01:43 +02:00
dcorbacho 83bacac4c7 Revert drop of Exhibit B on MPL 2.0 2020-07-20 16:58:05 +01:00
dcorbacho 7bbba504b0 Update LICENSE 2020-07-20 10:52:11 +01:00
Michael Klishin ed8a7c8fb6 Drop Exhibit B from our version of MPL 2.0 2020-07-19 00:38:19 +03:00
dcorbacho 52a2b53f4a Switch to Mozilla Public License 2.0 (MPL 2.0) 2020-07-11 19:34:19 +01:00
Jean-Sébastien Pédron c1bbb9969c Update copyright (year 2020) 2020-03-10 15:38:30 +01:00
Michael Klishin a6b7dc7626 Merge branch 'master' into master 2020-01-04 03:18:14 +03:00
Michael Klishin d0fcef099a Merge branch 'master' into queue-name 2020-01-04 03:16:12 +03:00
Gavin M. Roy eaba3aa665 Use the message-count domain 2020-01-03 17:26:57 -05:00
Gavin M. Roy a5929d76f0 Use the queue-name domain 2020-01-03 15:08:47 -05:00
Gavin M. Roy b437f6c1a6 Change exchange from shortstr to the exchange-name domain 2020-01-03 15:01:46 -05:00
Arnaud Cogoluègnes 75c44c3371 Set new-secret type to longstr
Short strings are limited to 256 characters and tokens can easily be
longer than this.
2019-06-25 14:29:28 +02:00
Michael Klishin f1b04ace78 Introduce connection.update-secret[-ok] methods
So that clients with expiring credentials/secrets,
such as those using JWT/OAuth 2.0 tokens, would have
a chance to provide updated credentials (e.g.
a new JWT token) to the server without reconnecting.

Pair: @gerhard.

Per discussion with @acogoluegnes.
2019-06-19 19:30:01 +03:00
Spring Operator 1f4f304f4d 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://www.twiststandards.org/index.php?option=com_docman&task=cat_view&gid=28&&Itemid=90 (301) with 2 occurrences could not be migrated:
   ([https](https://www.twiststandards.org/index.php?option=com_docman&task=cat_view&gid=28&&Itemid=90) result SSLHandshakeException).

# Fixed URLs

## 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://github.com/tonyg/json-shapes with 2 occurrences migrated to:
  https://github.com/tonyg/json-shapes ([https](https://github.com/tonyg/json-shapes) 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://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://pypi.python.org/pypi/simplejson with 1 occurrences migrated to:
  https://pypi.python.org/pypi/simplejson ([https](https://pypi.python.org/pypi/simplejson) result 301).
* http://www.mozilla.org/MPL/ with 2 occurrences migrated to:
  https://www.mozilla.org/MPL/ ([https](https://www.mozilla.org/MPL/) result 301).
2019-03-20 03:13:25 -05:00
Spring Operator 3998d95cf7 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).

# 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://www.amqp.org/schema/amqp.xsd (404) with 5 occurrences migrated to:
  https://www.amqp.org/schema/amqp.xsd ([https](https://www.amqp.org/schema/amqp.xsd) result 404).
2019-03-19 20:08:34 -05:00
Jean-Sébastien Pédron ea4f78f4ff Makefile: New targets to print Git repoository URLs
They are useful to query the upstream/default Git repository URLs for
both fetch and push.

They were copied from rabbitmq-common.

[#156874375]
2018-04-18 12:03:41 +02:00
Jean-Sébastien Pédron 9f309c293e Remove rabbitmq-components.mk
It was accidentally committed to this project but it doesn't belong
here. Moreover, it breaks `gmake update-rabbitmq-components-mk` in the
Umbrella.
2017-10-13 14:05:16 +02:00
Michael Klishin a77a57651f merge branch 'stable' 2017-06-02 01:38:07 +03:00
Michael Klishin 436f8bf41f Be Python 3 compatible
Python 2.7+ is also supported.

Conflicts:
	amqp_codegen.py
2017-05-03 19:35:17 +02:00
Jean-Sébastien Pédron 65f0d703a3 Import AMQP 1.0 spec XML files from rabbitmq-amqp1.0
Those files are needed by rabbitmq-amqp1.0-common to generate headers
and modules shared by the AMQP 1.0 plugin and client.

[#136435249]
2017-01-11 14:19:50 +01:00
Jean-Sébastien Pédron 61880d62f5 amqp_codegen.py: Create the parent directories of the output file
[#127354185]
2016-08-05 15:07:55 +02:00
Michael Klishin ab5bbcc7af Update CONTRIBUTING.md, add CODE_OF_CONDUCT.md 2016-05-28 14:22:49 +03:00
Michael Klishin 507076ab44 Update (c) info 2016-01-01 12:59:16 +03:00
Jean-Sébastien Pédron b51fd3fb00 amqp_codegen.py: Remove shebang line + chmod 644
This is a library, not an executable script.

While here, remove trailing spaces.
2015-12-18 16:00:57 +01:00
Loïc Hoguin 4fe4efdf84 Make amqp_codegen.py work with Python 3 2015-12-17 14:00:53 +01:00
Jean-Sébastien Pédron b5c15a6c5b Silence `make all` 2015-09-03 15:20:13 +02:00
Jean-Sébastien Pédron 3f7cc51079 Merge branch 'stable' 2015-08-10 11:52:30 +02:00
Jean-Sébastien Pédron a99ac32a2e Makefile: Silence "echo $message" 2015-08-10 11:52:00 +02:00
derwinlu d4c4b91bf9 add shebang for python version detection 2015-07-03 11:29:29 +02:00
Michael Klishin 2ce40b455b Sync CONTRIBUTING.md with the template one 2015-02-20 17:07:35 +03:00
Jean-Sébastien Pédron 203e1b52f0 Merge branch 'stable' 2015-02-19 18:13:28 +01:00
Jean-Sébastien Pédron 5188e56ee3 Convert .hgignore to .gitignore 2015-02-19 17:26:02 +01:00
Michael Klishin dd6112cbfc Sync CONTRIBUTING.md with the template one 2015-02-18 00:23:48 +03:00
Jean-Sébastien Pédron 092055db0e Remove the "moved to GitHub" warning. 2015-02-17 21:03:14 +01:00
Jean-Sebastien Pedron 003759af4e README.md: Warn about the move to GitHub 2015-02-17 17:38:56 +01:00
Simon MacMullen 80236ac4d5 Update copyright for 2014 2014-03-17 17:25:20 +00:00
Simon MacMullen f5e2c19697 Merge bug25191 2013-08-06 15:31:51 +01:00
Simon MacMullen 4dd13bb41b s/VMware/GoPivotal/g 2013-07-01 10:49:11 +01:00
Michael Klishin 271f4df111 Merge branch default into bug25191 2013-06-17 17:25:56 +04:00
Simon MacMullen 50e12eb008 Oops 2013-04-26 13:39:41 +01:00
Simon MacMullen 5b63a46547 Move credit to an extension. 2013-04-26 13:38:53 +01:00
Simon MacMullen 00f16875b3 Move credit to an extension. 2013-04-26 13:38:53 +01:00
Simon MacMullen 116c2e1f2b Merge default 2013-04-16 11:53:57 +01:00
Matthias Radestock 8abc21e1bb merge bug23749 into default 2013-03-22 19:01:46 +00:00
Simon MacMullen cef00bed1a Now we don't need that any more either. 2013-01-29 14:03:44 +00:00
Simon MacMullen 93417eeccf Simplify: convert basic.credit_state to basic.credit_drained, which implicitly asserts that credit is 0, length 0 and drain is true, and tells you how much credit was discarded rather than the new delivery count (so we can soon remove all delivery count code from the broker). 2013-01-29 13:56:52 +00:00
Emile Joubert 5131c2efd4 Update copyright 2013 2013-01-23 11:27:10 +00:00