There are too few documents on the design and implementation of EMQX #14534
-
Our company is using EMQX, with tens of millions of devices connected to the broker. Therefore, we need to have a comprehensive understanding of the operation mechanism of EMQX. Unfortunately, I am currently finding it difficult to locate similar documentation. Similar to documentation like Kafka: https://kafka.apache.org/documentation/#design https://kafka.apache.org/documentation/#implementation We are currently using the open-source version of EMQX and have encountered some performance issues. Besides seeking help from the community, we also hope to gain a deeper understanding of what performance tuning can be done. I am currently compiling EMQX on a local Ubuntu system and have been debugging the source code. I have encountered the following issues: 1、After modifying the source code, running the make command is very slow and takes a few minutes to complete the code compilation. Is there a faster method?
2、It is difficult to trace the code execution path while reading the source code. I think this might be related to Erlang's message model, where a single request requires the cooperation of many processes. For example, I printed a log in the terminate function, but I don't know which process is sending the message, making it difficult to trace the source of the code |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hi @shengbinxu, agree that would be a welcome addition to the EMQX documentation.
|
Beta Was this translation helpful? Give feedback.
Hi @shengbinxu, agree that would be a welcome addition to the EMQX documentation.
make
ormake emqx
in the working directory of the EMQX repo itself. Small changes should be recompiled incrementally, however the whole process might still take some time.?TRACE
macros you're using however are primarily intended for the Log Trace feature. There is?SLOG
macro family, suitable for when you just want to put something to the service logs (at the correct logging level).