38 lines
1021 B
Plaintext
38 lines
1021 B
Plaintext
== Spring Cloud Sleuth Benchmarks
|
|
|
|
This module can run benchmarks using the following tools
|
|
|
|
- JMH
|
|
- JMeter
|
|
|
|
=== How to run it?
|
|
|
|
In the root folder inside the `scripts` folder there are the following benchmark scripts:
|
|
|
|
- runJmhBenchmark.sh
|
|
- runJmeterBenchmarks.sh
|
|
|
|
Just execute them from the root folder like this:
|
|
|
|
[source]
|
|
----
|
|
./scripts/runJmeterBenchmarks.sh
|
|
./scripts/runJmhBenchmarks.sh
|
|
----
|
|
|
|
=== How do they work?
|
|
|
|
For JMH we're building a shaded JAR file that is next executed.
|
|
|
|
For JMeter we're running two applications, one with Sleuth, one without with Spring Boot
|
|
Maven Plugin. Next a Maven JMeter plugin is executed that loads the `*.jmx` files, starts
|
|
JMeter and prints out the results. At the end Spring Boot Maven Plugin stops the applications.
|
|
|
|
=== What are we testing?
|
|
|
|
For now we're testing the performance impact of the following:
|
|
|
|
- our custom Trace HTTP filter
|
|
- instrumentation of controllers - `@Callable` returning and the sync one
|
|
- instrumentation of RestTemplate
|
|
- `@Async` annotated methods |