anchor.diff:  zipkin.init(camelContext);
   ----
   
  -The configuration above will trace all incoming and outgoing
  -messages in Camel routes. 
  -
  -To use ZipkinTracer in XML, all you need to do is to define scribe and
  -zipkin tracer beans. Camel will automatically discover and use them.
  +The configuration above will trace all incoming and outgoing messages in Camel routes. 
  +
  +To use ZipkinTracer in XML, all you need to do is to define scribe and zipkin tracer beans.
  +Camel will automatically discover and use them.
   
   [source,xml]
   ----
  
positive.code:   .to("http:someserver/somepath");
  ----
  
  And you want to make that as a server service, you can add the following
  mapping:
  
  [source,java]
  ----
  zipkin.addServerServiceMapping("activemq:queue:inbox", "orders");
  ----
  
  Then when a message is consumed from that inbox queue, it becomes a
  zipkin server event with the service name 'orders'.
  
  Now suppose that the call to http:someserver/somepath is also a service,
  which you want to map to a client service name, which can be done as:
  
  [source,java]
  ----
  zipkin.addClientServiceMapping("http:someserver/somepath", "audit");
  ----
  
  Then in the same Camel application you have mapped incoming and outgoing
  endpoints to different zipkin service names.
  
  You can use wildcards in the service mapping. To match all outgoing
  calls to the same HTTP server you can do:
  
  ----
  zipkin.addClientServiceMapping("http:someserver*", "audit");
  
negative.code: 
  The service name mapping for server occurs using the following rules
  
  .  Is there an exclude pattern that matches the endpoint uri of the
  from endpoint?
  +
  If yes then skip.
  
  .  Is there a match in the serviceServiceMapping that matches the
  endpoint uri of the from endpoint?
  +
  If yes, then use the found service name
  
  .  Is there a match in the serviceServiceMapping that matches the route
  id of the current route?
  +
  If yes, then use the found service name
  
  .  Is there a match in the serviceServiceMapping that matches the original route id where the exchange started?
  +
  If yes, then use the found service name
  
  .  No service name was found, the exchange is not traced by zipkin
  
  The service name mapping for client occurs using the following rules:
  
  .  Is there an exclude pattern that matches the endpoint uri of the from endpoint?
  +
  If yes then skip.
  
  .  Is there a match in the clientServiceMapping that matches the endpoint uri of endpoint where the message is being sent to?
  +
  If yes, then use the found service name
  
  .  Is there a match in the clientServiceMapping that matches the route id of the current route?
  +
  If yes, then use the found service name
  
  .  Is there a match in the clientServiceMapping that matches the original route id where the exchange started?
  +
  If yes, then use the found service name
  
  .  No service name was found, the exchange is not traced by zipkin
  
  [[camel-zipkin-Noclientorservermappings]]
  == No client or server mappings
  
  If there has been no configuration of client or server service mappings, CamelZipkin runs in a fallback mode, and uses endpoint uris as the service name.
  
  In the example above, this would mean the service names would be defined as if you add the following code yourself:
  
  [source,java]
  ----
  