The Pulsar Wireshark dissector allows to automatically decode the Pulsar binary protocol and visualize useful debug information (linking requests with responses, latency stats, etc.)
Based on your operating system, run the following command.
brew install homebrew/cask/wireshark
sudo apt install wireshark
To build the Wireshark plugin, install Wireshark with the development headers
NOTE
Make sure the Wireshark application version is the same as the Wireshark headers version.
$ brew install wireshark
$ sudo apt install wireshark-dev
Tip
If the compiler cannot find the Wireshark headers, add the include path manually.
-DWIRESHARK_INCLUDE_PATH=<WIRESHARK_INCLUDE_PATH>
Compile the dissector.
cd pulsar-client-cpp cmake -DBUILD_WIRESHARK=ON . make pulsar-dissector
This creates the pulsar-dissector.so
plugin library in the Wireshark directory.
Copy the dissector in the appropriate location so that Wireshark can find it at startup.
You can see the location of personal plugins, which is important for the next step.
Example
Wireshark 3.6.0 on macOS
~/.local/lib/wireshark/plugins/3-6/
mkdir -p ~/.local/lib/wireshark/plugins/3-6/epan cd pulsar-client-cpp/wireshark cp pulsar-dissector.so ~/.local/lib/wireshark/plugins/3-6/epan
Reboot Wireshark. You can see the pulsar-dissector in View > Internals > Dissector Tables.