diff --git a/pom.xml b/pom.xml
index cb78fa601..e6265634a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,6 +30,7 @@
spring-cloud-sleuth-core
spring-cloud-sleuth-zipkin
spring-cloud-sleuth-stream
+ spring-cloud-sleuth-reactor
spring-cloud-sleuth-zipkin-stream
spring-cloud-starter-sleuth
spring-cloud-starter-zipkin
@@ -195,6 +196,16 @@
2.1
+
+ io.projectreactor
+ reactor-core
+ ${reactor.version}
+
+
+ org.reactivestreams
+ reactive-streams
+ ${reactive-streams.version}
+
org.hamcrest
hamcrest-core
@@ -238,6 +249,8 @@
1.2.3.BUILD-SNAPSHOT
Ditmars.BUILD-SNAPSHOT
1.4.0.BUILD-SNAPSHOT
+ 3.1.0.BUILD-SNAPSHOT
+ 1.0.0
diff --git a/spring-cloud-sleuth-reactor/.jdk8 b/spring-cloud-sleuth-reactor/.jdk8
new file mode 100644
index 000000000..e69de29bb
diff --git a/spring-cloud-sleuth-reactor/pom.xml b/spring-cloud-sleuth-reactor/pom.xml
new file mode 100644
index 000000000..f443d879e
--- /dev/null
+++ b/spring-cloud-sleuth-reactor/pom.xml
@@ -0,0 +1,96 @@
+
+
+ 4.0.0
+
+ spring-cloud-sleuth-reactor
+ jar
+ Spring Cloud Sleuth Reactor
+ Spring Cloud Sleuth Reactor
+
+
+ org.springframework.cloud
+ spring-cloud-sleuth
+ 1.3.0.BUILD-SNAPSHOT
+ ..
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 1.8
+ 1.8
+
+
+
+ default-compile
+
+ true
+ true
+
+ 1.8
+ 1.8
+
+
+
+
+ default-testCompile
+
+ true
+ true
+
+ 1.8
+ 1.8
+
+
+
+
+
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-sleuth-core
+
+
+ org.springframework.boot
+ spring-boot-starter
+
+
+ io.projectreactor
+ reactor-core
+ true
+
+
+ org.reactivestreams
+ reactive-streams
+ true
+
+
+ org.aspectj
+ aspectjweaver
+ test
+
+
+ org.assertj
+ assertj-core
+ test
+
+
+ org.awaitility
+ awaitility
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
diff --git a/spring-cloud-sleuth-reactor/src/main/java/org/springframework/cloud/sleuth/reactor/SpanSubscriber.java b/spring-cloud-sleuth-reactor/src/main/java/org/springframework/cloud/sleuth/reactor/SpanSubscriber.java
new file mode 100644
index 000000000..ea7d7a132
--- /dev/null
+++ b/spring-cloud-sleuth-reactor/src/main/java/org/springframework/cloud/sleuth/reactor/SpanSubscriber.java
@@ -0,0 +1,177 @@
+package org.springframework.cloud.sleuth.reactor;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import org.reactivestreams.Subscriber;
+import org.reactivestreams.Subscription;
+import org.springframework.cloud.sleuth.Span;
+import org.springframework.cloud.sleuth.Tracer;
+import reactor.util.Logger;
+import reactor.util.Loggers;
+import reactor.util.context.Context;
+import reactor.util.context.Contextualized;
+
+/**
+ * A trace representation of the {@link Subscriber}
+ *
+ * @author Stephane Maldini
+ * @author Marcin Grzejszczak
+ * @since 1.3.0
+ */
+class SpanSubscriber extends AtomicBoolean
+ implements Subscriber