0

I am using Istio with tracing. I have two REST services A1 which calls A2. The A1 service will forward the headers received from the client to REST service A2.

However, I am not able to see the tracing in my Jaeger UI. I am sending some random values in the header using curl to my service A1:

 curl -H "end-user: april1101" -H "x-request-id: april1a01" 
   -H "x-b3-traceid: 1" -H "x-b3-spanid: 2" -H "x-b3-parentspanid: 3"
   -H "x-b3-sampled: 4dfgdgsdfgdfg" -H "x-b3-flags: 5" 
   -H "x-ot-span-context: 6"  http://trace-rest-2-service:9005/kafka/headerpass?arg=yo

Another header parameters I tried also is:

curl -H "end-user: 34723b86-fe18-4e36-ac56-0ad12bf3d136" 
-H "x-request-id: 4aba321a-4e60-4b42-b0ca-654c2400d485" 
-H "x-b3-traceid: 308eec41-93bd-4584-8efe-2b968284c41e" 
-H "x-b3-spanid: 8395e40e-6a79-4a34-b444-18d401f597cb" 
-H "x-b3-parentspanid: c55f6cf0-3547-4202-b51e-9eaaa2136a73" 
-H "x-b3-sampled: 1948dd81-9e70-4694-95f9-018e3abdbe29" 
-H "x-b3-flags: acac5baf-42d2-45d8-84d0-645070a76f2e" 
-H "x-ot-span-context: 6ee27e27-45c4-47de-86e4-1d4227bcf638"  
http://trace-rest-2-service:9005/kafka/headerpass?arg=832amApril_1

However, I don't see any trace on Jaeger ui. If just call a service A3 without passing any headers then I see that traced in the JaegerUI.

thanks

Katlock
  • 1,200
  • 1
  • 17
  • 41

1 Answers1

0

There are a few different reasons why You could be experiencing this issue.

From istio documentation:

WHY ARE MY REQUESTS NOT BEING TRACED?

Since Istio 1.0.3, the sampling rate for tracing has been reduced to 1% in the default configuration profile. This means that only 1 out of 100 trace instances captured by Istio will be reported to the tracing backend. The sampling rate in the demo profile is still set to 100%. See this section for more information on how to set the sampling rate.

If you still do not see any trace data, please confirm that your ports conform to the Istio port naming conventions and that the appropriate container port is exposed (via pod spec, for example) to enable traffic capture by the sidecar proxy (Envoy).

If you only see trace data associated with the egress proxy, but not the ingress proxy, it may still be related to the Istio port naming conventions. Starting with Istio 1.3 the protocol for outbound traffic is automatically detected.

Hope it helps.

Community
  • 1
  • 1
Piotr Malec
  • 3,429
  • 11
  • 16
  • I can see one or two traces that hit only 1 service but not the ones where I curl and call service A (header propagated) which calls service B. – Katlock Apr 06 '20 at 14:52
  • What is the value of Your trace sampling? Information how to do that is [here](https://istio.io/docs/tasks/observability/distributed-tracing/overview/#trace-sampling). – Piotr Malec Apr 06 '20 at 16:12
  • I am passing the following in my curl statement. These are all UUIDs that I generated in java. I am going to paste my other curl statement above in my question. – Katlock Apr 06 '20 at 16:55