Michael Klishin
9c79ad8d55
More missed license header updates #9969
2024-02-05 12:26:25 -05: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
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
Michael Klishin
507076ab44
Update (c) info
2016-01-01 12:59:16 +03: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
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
Michael Klishin
66f1a85221
Add connection.blocked and connection.unblocked extension methods
2013-01-09 18:10:05 +00:00
Simon MacMullen
08de6606b4
I'm slightly paranoid that people will use these. Putting them at the end and making their IDs not possible to express with the codec might help.
2013-01-09 12:23:52 +00:00
Emile Joubert
9d6d1c6c78
Update copyright 2012
2012-02-02 12:51:57 +00:00
Simon MacMullen
2312640129
Merge in default.
2011-07-22 15:52:57 +01:00
Steve Powell
742f5b6aeb
Changed "name": "server properties" to "name": "server-properties" in both json files.
2011-03-09 11:55:23 +00:00
Michael Bridgen
6c96330489
Add count as a base for credit. This means messages in flight can be accounted for -- the sender of basic.credit may not have received all the messages the queue has delivered.
2011-02-09 16:26:29 +00:00
Simon MacMullen
70bac1aa88
Remove redundant fields from credit-ok.
2011-02-03 15:49:05 +00:00
Simon MacMullen
f5440b22b2
Change mind again on how this should work - have a synchronous reply method, and an async method for spontaneous notification.
2011-02-03 13:38:05 +00:00
Simon MacMullen
97c44175d0
In fact this should *not* be synchronous.
2011-02-03 13:03:59 +00:00
Simon MacMullen
d75743e953
Mark basic.credit as synchronous, so that clients can interpret the credit-state as the reply. I *think* this is non-evil.
2011-02-03 11:44:18 +00:00
Simon MacMullen
841cfb164e
Credit needs to be per ctag.
2011-02-02 12:03:58 +00:00
Simon MacMullen
f7679c8e72
First pass at channel.credit.
2011-02-01 14:49:58 +00:00
Matthew Sackman
ace7ee4c37
Correct all copyright notices
2011-01-19 14:00:43 +00:00
Simon MacMullen
aa844322a9
Merge with default
2011-01-14 13:14:22 +00:00
Simon MacMullen
e2a84111e1
m-x untabify
2011-01-14 13:12:22 +00:00
Rob Harrop
dc7e06aa39
Removed tabs from basic.nack section
2011-01-12 09:33:33 +00:00
Rob Harrop
960c9af7f2
Added requeue flag to basic.nack
2011-01-12 09:19:50 +00:00
Rob Harrop
1b1dd38e6e
Merge default
2011-01-11 17:07:06 +00:00
Simon MacMullen
6ec9ba9e32
Merge bug23656 into default
2011-01-11 15:59:00 +00:00
Rob Harrop
7de63185ac
Added basic.nack to the JSON protocol definition
2011-01-11 15:31:14 +00:00
Matthias Radestock
4f13afcb88
default queue name to "" everywhere
...
since the MRDQ feature operates everywhere
2011-01-07 17:56:42 +00:00
Alexandru Scvortov
a2e0b9b68a
remove confirm.select{multiple}
2010-12-30 00:01:35 +00:00
Alexandru Scvortov
fc48c15f9a
merge default into bug20284
2010-10-18 18:13:49 +01:00
Matthias Radestock
302b1e1eb7
cosmetic
2010-09-27 19:34:03 +01:00
Alexandru Scvortov
f48768127c
merge default into bug20284
2010-09-22 16:27:43 +01:00
Matthew Sackman
046ea717ca
exchange.unbind has nowait
2010-09-12 17:35:12 +01:00
Matthew Sackman
a4fa7fd893
Implement exchange-to-exchange bindings
2010-09-11 23:46:30 +01:00
Alexandru Scvortov
48303cb310
moved confirm extension into 0-9-1 json
2010-09-03 10:45:53 +01:00
Matthias Radestock
b8ec5273b8
rename basic.consume's 'filter' arg to 'arguments', as per the 0-9-1 spec
2010-09-01 06:42:53 +01:00