diff --git a/.editorconfig b/.editorconfig
index 3240ec9da..c503b1320 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,33 +1,33 @@
-root = true
-
-[*]
-end_of_line = crlf
-insert_final_newline = true
-
-[*.java]
-indent_style = tab
-indent_size = 4
-continuation_indent_size = 8
-
-[*.kt]
-indent_style = tab
-indent_size = 4
-continuation_indent_size = 8
-
-[*.groovy]
-indent_style = tab
-indent_size = 4
-continuation_indent_size = 8
-
-[*.xml]
-indent_style = tab
-indent_size = 4
-continuation_indent_size = 8
-
-[*.yml]
-indent_style = space
-indent_size = 2
-
-[*.yaml]
-indent_style = space
-indent_size = 2
+root = true
+
+[*]
+end_of_line = lf
+insert_final_newline = true
+
+[*.java]
+indent_style = tab
+indent_size = 4
+continuation_indent_size = 8
+
+[*.kt]
+indent_style = tab
+indent_size = 4
+continuation_indent_size = 8
+
+[*.groovy]
+indent_style = tab
+indent_size = 4
+continuation_indent_size = 8
+
+[*.xml]
+indent_style = tab
+indent_size = 4
+continuation_indent_size = 8
+
+[*.yml]
+indent_style = space
+indent_size = 2
+
+[*.yaml]
+indent_style = space
+indent_size = 2
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 000000000..b2d7a64ef
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,16 @@
+# Normalize line endings to LF.
+* text eol=lf
+
+# Ensure that line endings for multipart files in spring-web are not modified.
+*.multipart -text
+
+# Ensure that line endings for DOS batch files are not modified.
+*.bat -text
+
+# Ensure the following are treated as binary.
+*.gif binary
+*.jar binary
+*.jpeg binary
+*.jpg binary
+*.png binary
+*.vsd binary
diff --git a/benchmarks/pom.xml b/benchmarks/pom.xml
index 085e3fef1..46bc51e23 100644
--- a/benchmarks/pom.xml
+++ b/benchmarks/pom.xml
@@ -1,598 +1,598 @@
-
-
-
- 4.0.0
-
- Benchmarks
- Benchmarks (JMH)
- org.springframework.cloud
- 3.1.0-SNAPSHOT
- benchmarks
-
-
- org.springframework.boot
- spring-boot-starter-parent
- 2.6.0-M1
-
-
-
-
- ${project.basedir}/..
- 3.2.1
- true
- 1.8
- 1.8
- 4.9.0
- 0.2.0.RELEASE
- 1.26
-
-
-
-
-
- org.springframework.cloud
- spring-cloud-sleuth-dependencies
- ${project.version}
- pom
- import
-
-
- org.springframework.cloud
- spring-cloud-sleuth
- ${project.version}
- pom
- import
-
-
-
-
-
-
- org.springframework.cloud
- spring-cloud-starter-sleuth
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework.boot
- spring-boot-starter-webflux
-
-
- org.springframework.boot
- spring-boot-configuration-processor
-
-
-
- org.springframework
- spring-test
- compile
-
-
- org.aspectj
- aspectjrt
-
-
- org.aspectj
- aspectjweaver
-
-
- org.assertj
- assertj-core
- compile
-
-
- org.springframework.cloud
- spring-cloud-starter-stream-kafka
-
-
- org.springframework.cloud
- spring-cloud-stream
- test-jar
- compile
- test-binder
-
-
- org.springframework.boot
- spring-boot-starter-test
- compile
-
-
- com.github.mp911de.microbenchmark-runner
- microbenchmark-runner-junit5
- ${microbenchmark-runner.version}
- test
-
-
- com.github.mp911de.microbenchmark-runner
- microbenchmark-runner-extras
- ${microbenchmark-runner.version}
- test
-
-
- org.openjdk.jmh
- jmh-generator-annprocess
- ${jmh.version}
- provided
-
-
- com.squareup.okhttp3
- okhttp
- ${okhttp.version}
- provided
-
-
- io.zipkin.brave
- brave-instrumentation-httpclient
-
-
- org.apache.httpcomponents
- httpclient
-
-
- org.awaitility
- awaitility
- compile
-
-
-
-
-
-
- maven-compiler-plugin
- 3.8.1
-
- ${maven.compiler.source}
- ${maven.compiler.target}
-
-
-
-
-
-
-
-
- jitpack.io
- https://jitpack.io
-
-
- spring-snapshots
- Spring Snapshots
- https://repo.spring.io/snapshot
-
- true
-
-
- false
-
-
-
-
- jfrog-snapshots
- JFrog Snapshots
- https://oss.jfrog.org/oss-snapshot-local/
-
- true
-
-
- false
-
-
-
- spring-milestones
- Spring Milestones
- https://repo.spring.io/milestone
-
- false
-
-
-
- spring-releases
- Spring Releases
- https://repo.spring.io/release
-
- false
-
-
-
-
-
- spring-snapshots
- Spring Snapshots
- https://repo.spring.io/snapshot
-
- true
-
-
- false
-
-
-
- spring-milestones
- Spring Milestones
- https://repo.spring.io/milestone
-
- false
-
-
-
- spring-releases
- Spring Releases
- https://repo.spring.io/release
-
- false
-
-
-
-
-
-
- jmeter
-
- false
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
- ${spring-boot.version}
-
-
-
- repackage
-
-
-
- start-non-sleuth-app
- pre-integration-test
-
- start
-
-
- "-Dserver.port=9875"
- "-Dspring.sleuth.enabled=false"
-
- 8875
- true
-
-
-
- stop-non-sleuth-app
- post-integration-test
-
- stop
-
-
- 8875
- true
-
-
-
- start-sleuth-app
- pre-integration-test
-
- start
-
-
- "-Dserver.port=9876"
- 8876
- true
-
-
-
- stop-sleuth-app
- post-integration-test
-
- stop
-
-
- 8876
- true
-
-
-
-
-
- maven-failsafe-plugin
- 2.22.2
-
-
-
- integration-test
- verify
-
-
-
-
-
- com.lazerycode.jmeter
- jmeter-maven-plugin
- 3.1.1
-
- false
- false
- true
-
- true
-
- true
-
-
-
- kg.apc
- jmeter-plugins
-
-
-
-
-
- execute-jmeter-tests
-
- jmeter
-
- integration-test
-
-
-
-
- kg.apc
- jmeter-plugins
- 1.0.0
-
-
-
- kg.apc
- perfmon
-
-
- org.apache.hadoop
- hadoop-core
-
-
- org.apache.hbase
- hbase
-
-
-
-
- org.apache.jmeter
- jorphan
-
-
- org.apache.bsf
- bsf-api
-
-
- org.bouncycastle
- bcmail-jdk15
-
-
- org.bouncycastle
- bcprov-jdk15
-
-
- javax.activation
- activation
-
-
- commons-logging
- commons-logging
-
-
-
-
-
-
- com.lazerycode.jmeter
- jmeter-analysis-maven-plugin
- 1.0.6
-
-
- ${project.build.directory}/jmeter/results/analysis/
-
-
-
-
- create-html-report-for-asynchttp
- verify
-
- analyze
-
-
-
- ${project.build.directory}/jmeter/results/AsyncHttpBenchmarks.jtl
-
-
-
-
- create-html-report-for-async-method
- verify
-
- analyze
-
-
-
- ${project.build.directory}/jmeter/results/AsyncMethodBenchmarks.jtl
-
-
-
-
- create-html-report-for-sync-http
- verify
-
- analyze
-
-
-
- ${project.build.directory}/jmeter/results/SyncHttpBenchmarks.jtl
-
-
-
-
- create-html-report-for-nice-index-html
- verify
-
- analyze
-
-
-
- ${project.build.directory}/jmeter/results/*.jtl
-
-
-
-
-
-
- de.codecentric
- jmeter-graph-maven-plugin
- 0.1.0
-
-
- create-graph-threads-for-asynchttp
-
- create-graph
-
- verify
-
-
- ${project.build.directory}/jmeter/results/AsyncHttpBenchmarks.jtl
-
-
-
- ResponseTimesOverTime
- 800
- 600
-
- ${project.build.directory}/jmeter/results/AsyncHttpBenchmarks-ResponseTimesOverTime.png
-
-
-
- ResponseTimesPercentiles
-
- 800
- 600
-
- ${project.build.directory}/jmeter/results/AsyncHttpBenchmarks-ResponseTimesPercentiles.png
-
-
-
- LatenciesOverTime
- 800
- 600
-
- ${project.build.directory}/jmeter/results/AsyncHttpBenchmarks-LatenciesOverTime.png
-
-
-
-
-
-
- create-graph-threads-for-async-method
-
- create-graph
-
- verify
-
-
- ${project.build.directory}/jmeter/results/AsyncMethodBenchmarks.jtl
-
-
-
- ResponseTimesOverTime
- 800
- 600
-
- ${project.build.directory}/jmeter/results/AsyncMethodBenchmarks-ResponseTimesOverTime.png
-
-
-
- ResponseTimesPercentiles
-
- 800
- 600
-
- ${project.build.directory}/jmeter/results/AsyncMethodBenchmarks-ResponseTimesPercentiles.png
-
-
-
- LatenciesOverTime
- 800
- 600
-
- ${project.build.directory}/jmeter/results/AsyncMethodBenchmarks-LatenciesOverTime.png
-
-
-
-
-
-
- create-graph-threads-for-sync-http
-
- create-graph
-
- verify
-
-
- ${project.build.directory}/jmeter/results/SyncHttpBenchmarks.jtl
-
-
-
- ResponseTimesOverTime
- 800
- 600
-
- ${project.build.directory}/jmeter/results/SyncHttpBenchmarks-ResponseTimesOverTime.png
-
-
-
- ResponseTimesPercentiles
-
- 800
- 600
-
- ${project.build.directory}/jmeter/results/SyncHttpBenchmarks-ResponseTimesPercentiles.png
-
-
-
- LatenciesOverTime
- 800
- 600
-
- ${project.build.directory}/jmeter/results/SyncHttpBenchmarks-LatenciesOverTime.png
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ 4.0.0
+
+ Benchmarks
+ Benchmarks (JMH)
+ org.springframework.cloud
+ 3.1.0-SNAPSHOT
+ benchmarks
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.6.0-M1
+
+
+
+
+ ${project.basedir}/..
+ 3.2.1
+ true
+ 1.8
+ 1.8
+ 4.9.0
+ 0.2.0.RELEASE
+ 1.26
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-sleuth-dependencies
+ ${project.version}
+ pom
+ import
+
+
+ org.springframework.cloud
+ spring-cloud-sleuth
+ ${project.version}
+ pom
+ import
+
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-sleuth
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-webflux
+
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+
+
+
+ org.springframework
+ spring-test
+ compile
+
+
+ org.aspectj
+ aspectjrt
+
+
+ org.aspectj
+ aspectjweaver
+
+
+ org.assertj
+ assertj-core
+ compile
+
+
+ org.springframework.cloud
+ spring-cloud-starter-stream-kafka
+
+
+ org.springframework.cloud
+ spring-cloud-stream
+ test-jar
+ compile
+ test-binder
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ compile
+
+
+ com.github.mp911de.microbenchmark-runner
+ microbenchmark-runner-junit5
+ ${microbenchmark-runner.version}
+ test
+
+
+ com.github.mp911de.microbenchmark-runner
+ microbenchmark-runner-extras
+ ${microbenchmark-runner.version}
+ test
+
+
+ org.openjdk.jmh
+ jmh-generator-annprocess
+ ${jmh.version}
+ provided
+
+
+ com.squareup.okhttp3
+ okhttp
+ ${okhttp.version}
+ provided
+
+
+ io.zipkin.brave
+ brave-instrumentation-httpclient
+
+
+ org.apache.httpcomponents
+ httpclient
+
+
+ org.awaitility
+ awaitility
+ compile
+
+
+
+
+
+
+ maven-compiler-plugin
+ 3.8.1
+
+ ${maven.compiler.source}
+ ${maven.compiler.target}
+
+
+
+
+
+
+
+
+ jitpack.io
+ https://jitpack.io
+
+
+ spring-snapshots
+ Spring Snapshots
+ https://repo.spring.io/snapshot
+
+ true
+
+
+ false
+
+
+
+
+ jfrog-snapshots
+ JFrog Snapshots
+ https://oss.jfrog.org/oss-snapshot-local/
+
+ true
+
+
+ false
+
+
+
+ spring-milestones
+ Spring Milestones
+ https://repo.spring.io/milestone
+
+ false
+
+
+
+ spring-releases
+ Spring Releases
+ https://repo.spring.io/release
+
+ false
+
+
+
+
+
+ spring-snapshots
+ Spring Snapshots
+ https://repo.spring.io/snapshot
+
+ true
+
+
+ false
+
+
+
+ spring-milestones
+ Spring Milestones
+ https://repo.spring.io/milestone
+
+ false
+
+
+
+ spring-releases
+ Spring Releases
+ https://repo.spring.io/release
+
+ false
+
+
+
+
+
+
+ jmeter
+
+ false
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ ${spring-boot.version}
+
+
+
+ repackage
+
+
+
+ start-non-sleuth-app
+ pre-integration-test
+
+ start
+
+
+ "-Dserver.port=9875"
+ "-Dspring.sleuth.enabled=false"
+
+ 8875
+ true
+
+
+
+ stop-non-sleuth-app
+ post-integration-test
+
+ stop
+
+
+ 8875
+ true
+
+
+
+ start-sleuth-app
+ pre-integration-test
+
+ start
+
+
+ "-Dserver.port=9876"
+ 8876
+ true
+
+
+
+ stop-sleuth-app
+ post-integration-test
+
+ stop
+
+
+ 8876
+ true
+
+
+
+
+
+ maven-failsafe-plugin
+ 2.22.2
+
+
+
+ integration-test
+ verify
+
+
+
+
+
+ com.lazerycode.jmeter
+ jmeter-maven-plugin
+ 3.1.1
+
+ false
+ false
+ true
+
+ true
+
+ true
+
+
+
+ kg.apc
+ jmeter-plugins
+
+
+
+
+
+ execute-jmeter-tests
+
+ jmeter
+
+ integration-test
+
+
+
+
+ kg.apc
+ jmeter-plugins
+ 1.0.0
+
+
+
+ kg.apc
+ perfmon
+
+
+ org.apache.hadoop
+ hadoop-core
+
+
+ org.apache.hbase
+ hbase
+
+
+
+
+ org.apache.jmeter
+ jorphan
+
+
+ org.apache.bsf
+ bsf-api
+
+
+ org.bouncycastle
+ bcmail-jdk15
+
+
+ org.bouncycastle
+ bcprov-jdk15
+
+
+ javax.activation
+ activation
+
+
+ commons-logging
+ commons-logging
+
+
+
+
+
+
+ com.lazerycode.jmeter
+ jmeter-analysis-maven-plugin
+ 1.0.6
+
+
+ ${project.build.directory}/jmeter/results/analysis/
+
+
+
+
+ create-html-report-for-asynchttp
+ verify
+
+ analyze
+
+
+
+ ${project.build.directory}/jmeter/results/AsyncHttpBenchmarks.jtl
+
+
+
+
+ create-html-report-for-async-method
+ verify
+
+ analyze
+
+
+
+ ${project.build.directory}/jmeter/results/AsyncMethodBenchmarks.jtl
+
+
+
+
+ create-html-report-for-sync-http
+ verify
+
+ analyze
+
+
+
+ ${project.build.directory}/jmeter/results/SyncHttpBenchmarks.jtl
+
+
+
+
+ create-html-report-for-nice-index-html
+ verify
+
+ analyze
+
+
+
+ ${project.build.directory}/jmeter/results/*.jtl
+
+
+
+
+
+
+ de.codecentric
+ jmeter-graph-maven-plugin
+ 0.1.0
+
+
+ create-graph-threads-for-asynchttp
+
+ create-graph
+
+ verify
+
+
+ ${project.build.directory}/jmeter/results/AsyncHttpBenchmarks.jtl
+
+
+
+ ResponseTimesOverTime
+ 800
+ 600
+
+ ${project.build.directory}/jmeter/results/AsyncHttpBenchmarks-ResponseTimesOverTime.png
+
+
+
+ ResponseTimesPercentiles
+
+ 800
+ 600
+
+ ${project.build.directory}/jmeter/results/AsyncHttpBenchmarks-ResponseTimesPercentiles.png
+
+
+
+ LatenciesOverTime
+ 800
+ 600
+
+ ${project.build.directory}/jmeter/results/AsyncHttpBenchmarks-LatenciesOverTime.png
+
+
+
+
+
+
+ create-graph-threads-for-async-method
+
+ create-graph
+
+ verify
+
+
+ ${project.build.directory}/jmeter/results/AsyncMethodBenchmarks.jtl
+
+
+
+ ResponseTimesOverTime
+ 800
+ 600
+
+ ${project.build.directory}/jmeter/results/AsyncMethodBenchmarks-ResponseTimesOverTime.png
+
+
+
+ ResponseTimesPercentiles
+
+ 800
+ 600
+
+ ${project.build.directory}/jmeter/results/AsyncMethodBenchmarks-ResponseTimesPercentiles.png
+
+
+
+ LatenciesOverTime
+ 800
+ 600
+
+ ${project.build.directory}/jmeter/results/AsyncMethodBenchmarks-LatenciesOverTime.png
+
+
+
+
+
+
+ create-graph-threads-for-sync-http
+
+ create-graph
+
+ verify
+
+
+ ${project.build.directory}/jmeter/results/SyncHttpBenchmarks.jtl
+
+
+
+ ResponseTimesOverTime
+ 800
+ 600
+
+ ${project.build.directory}/jmeter/results/SyncHttpBenchmarks-ResponseTimesOverTime.png
+
+
+
+ ResponseTimesPercentiles
+
+ 800
+ 600
+
+ ${project.build.directory}/jmeter/results/SyncHttpBenchmarks-ResponseTimesPercentiles.png
+
+
+
+ LatenciesOverTime
+ 800
+ 600
+
+ ${project.build.directory}/jmeter/results/SyncHttpBenchmarks-LatenciesOverTime.png
+
+
+
+
+
+
+
+
+
+
+
+