Apache Camel Performances Tests Repository https://camel.apache.org
  • Python 48.4%
  • Java 42.2%
  • Shell 8.4%
  • XSLT 0.8%
  • JavaScript 0.1%
  • Other 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Claus Ibsen 9175ca3aec ai-benchmark: the harness stops only its own Camel apps and the infra services it started
On Nov 6 a reference pass of test-citrus-orders stopped chaosdemo, a Camel app
that another session ran on this machine: run_test stopped every Camel app that
started while camel test run ran. run-stepwise-ladder.sh also ran camel stop
with no name after each example and camel infra stop for every service of the
steps folder after a run, and infra_start stopped a service before it started
its own.

The apps of the harness are now the ones that run from its folders: the
runtime.directory of the app's status file, as camel restart takes it, or its
working directory. That is the dev app, the peer, the integrations a Citrus
test starts, and the apps the model starts with camel_run under any name.
run_test stops those the test left running, the harness stops what still runs
of them when an example ends, and the runners do the same as a safety net for
an interrupted run. Another session's apps run from its own folders and stay.

The harness records the PID of each infra service it starts, in
stepwise/infra-started.json, and stops only those: before the next pass of an
example and when the run is over. A service that another session runs already
is used as it is and left running, with a line in run.log.

run-kamelet-check.sh gets the same two changes. agent_local.py, the one-shot
harness, is unchanged.

Verified with reference and negative passes of test-citrus-orders,
connect-http-client and connect-service-jms-request-reply, with a Camel app
from another folder running beside them: it ran through all passes, and after
each pass no app or infra service of the harness was left. An artemis started
outside the harness was used as it is and not stopped.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Y4dDi5iQNgtHrDdz2NpwF
2026-11-06 10:20:10 +01:00
.github Play tests on GitHub Actions CI 2026-06-10 13:56:07 +02:00
ai-benchmark ai-benchmark: the harness stops only its own Camel apps and the infra services it started 2026-11-06 10:20:10 +01:00
profiling Bump org.postgresql:postgresql in /profiling/kafka/postgresql-kafka 2026-07-23 19:45:48 +02:00
tests Fix compilation from upgrade 4.7 to 4.20 2026-06-10 13:56:07 +02:00
.asf.yaml Set up default protection ruleset for default and release branches 2026-06-09 10:50:56 +02:00
.gitignore Add a Kafka to AWS2-S3 example with JFR 2021-03-10 15:28:48 +01:00
LICENSE.txt Added License File 2021-06-08 10:39:52 +02:00
NOTICE.txt Added NOTICE file 2021-06-08 10:40:11 +02:00
pom.xml Bump for next version 2026-08-11 15:10:35 +02:00
README.md README: point at the ai-benchmark harness 2026-09-15 09:42:32 +02:00

Apache Camel Performance Tests

This project provides performance tests for Apache Camel.

Running the Performance Tests

Camel JMH

The performance tests located in the camel-jmh module can be run using the following command:

mvn -l camel-${version}-jmh-test.log -DargLine="-XX:+UseNUMA -Xmx4G -Xms4G -server" -Dcamel.version=${version} -Pjmh -Dtest=${TESTS}  clean test

Where:

  • ${version} is the Apache Camel version to use.
  • ${TESTS} is a comma-separated list of tests to run (e.g., AggregatorTest,ContentBasedRouterBodyTest).

After running the tests, the results are stored in JMH JSON files (i.e.: <test name>.jmh.json).

AI benchmark

The ai-benchmark directory holds a harness that measures how well an AI model builds and edits Camel integrations through the Camel MCP server, scored by what runs. See ai-benchmark/README.md and the blog post https://camel.apache.org/blog/2026/09/camel-local-model-benchmark/ for the first series.