Files
spring-cloud-sleuth/benchmarks
dependabot-preview[bot] 4cdc13a731 Bump okhttp from 4.8.0 to 4.9.0 (#1743)
Bumps [okhttp](https://github.com/square/okhttp) from 4.8.0 to 4.9.0.
- [Release notes](https://github.com/square/okhttp/releases)
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/square/okhttp/compare/parent-4.8.0...parent-4.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-10-01 09:52:16 +02:00
..
2019-02-07 16:41:59 +01:00

== 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