This repository was archived by the owner on Nov 17, 2020. It is now read-only.
Add support for non-JSON encoding of replies#367
Merged
Conversation
Contributor
|
Thank you! I personally don't see any issues with this approach. |
Contributor
|
@binarin thank you - the approach looks generally fine to me. |
Contributor
|
@binarin thanks, looks good to me too! |
Contributor
|
@binarin so can you please get this PR into a state that's ready for QA and merging? |
f33b64b to
9819756
Compare
One of the low-hanging fruits in HTTP API optimization. E.g. serializing information about 10000 queues: - For JSON it takes 2 seconds on my machine and more than 1GB of RAM - For BERT it takes 0.2 seconds and negligible amount of RAM
9819756 to
a2897c0
Compare
Author
|
Done |
binarin
pushed a commit
to binarin/rabbitmq_exporter
that referenced
this pull request
Apr 14, 2017
Since 3.6.9 (see rabbitmq/rabbitmq-management#367) RabbitMQ supports BERT encoding as a JSON alternative. Given that BERT encoding is implemented in C inside the Erlang VM, it's way more effective than pure-Erlang JSON encoding. So this greatly reduces monitoring overhead when we have a lot of objects in RabbitMQ.
binarin
pushed a commit
to binarin/rabbitmq_exporter
that referenced
this pull request
Apr 14, 2017
Since 3.6.9 (see rabbitmq/rabbitmq-management#367) RabbitMQ supports BERT encoding as a JSON alternative. Given that BERT encoding is implemented in C inside the Erlang VM, it's way more effective than pure-Erlang JSON encoding. So this greatly reduces monitoring overhead when we have a lot of objects in RabbitMQ.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
One of the low-hanging fruits in HTTP API optimization.
E.g. serializing information about 10000 queues:
If the approach in general is OK, I'm going to replace all other
instances of
<<"application/json">>everywhere.