This is a small demo application that is used for cpu and memory profiling the internal Camel routing engine.
The demo uses a timer to trigger 1000 msg/sec that gets routed by Camel. The demo does not use any networking or external services. This is on purpose to focus profiling the internals of Camel - more specific the routing engine.
The demo can be run with mvn camel:run
or by running the MyApplication.java
main class (from an IDE you can right-click this file and Run...).
A profile such as YourKit or JDK mission control can be attached to the running application and manually profiled.
The application can be configured in application.properties
such as the functionality to turn on|off the pooling of exchanges (and other objects).
After running this demo a camel-recording-*.jfr recording is generated, it is possible to plot jfr metrics to grafana following these steps:
cd ../monitoring docker-compose up
curl -F "file=@/camel-recording-*.jfr" "localhost:8080/load"
http://localhost:3000
dashboard camel-jfr to observe results (default login is admin/admin)