Files
spring-cloud-sleuth/benchmarks
Adrian Cole e6d29898dd Reroutes HttpZipkinSpanReporter to use zipkin.reporter.AsyncReporter (#409)
AsyncReporter is a more robust version of what we were doing before.
Notably, it can give a memory threshold instead of span count for the
backlog. This change ports to use AsyncReporter internally.

See https://github.com/openzipkin/zipkin-reporter-java#asyncreporter
2016-09-15 22:10:32 +08: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