blob: 63190d7775e2bdef75e2d0ece52465ca1140175c [file] [log] [blame]
== OpenTracing Example
=== Introduction
This example shows how to use Camel with OpenTracing to trace all
incoming and outgoing Camel messages.
The example uses a logging tracer (based on the MockTracer) to display
tracing information on the console.
The example includes four sub maven modules that implement
* client
* service1
* service2
* loggingtracer
Where client -> service1 -> service2 using HTTP.
=== Build
You will need to compile this example first:
[source,sh]
----
$ mvn compile
----
=== Run the example
Then using three different shells and run service1 and service2 before
the client. These services use an annotation _CamelOpenTracing_ to
indicate that the service should be traced.
[source,sh]
----
$ cd service1
$ mvn compile spring-boot:run
----
When service1 is ready then start service2
[source,sh]
----
$ cd service2
$ mvn compile spring-boot:run
----
And then start the client that calls service1 every 30 seconds.
[source,sh]
----
$ cd client
$ mvn compile camel:run
----
The client application explicitly instantiates and initializes the
OpenTracing Tracer with the _CamelContext_.
The shells will show _SPAN FINISHED_ messages indicating what spans have
been reported from the client and two services.
=== Help and contributions
If you hit any problem using Camel or have some feedback, then please
https://camel.apache.org/support.html[let us know].
We also love contributors, so
https://camel.apache.org/contributing.html[get involved] :-)
The Camel riders!