-
Notifications
You must be signed in to change notification settings - Fork 693
Tracing between services in app engine flexible #1019
Comments
@hlarsson Why does Service B in your example use the |
@meltsufin Thanks for the speedy reply. Like in the gcp sample linked, then you see all in the same trace if |
Well, our integration (Brave/Sleuth) does not propagate the the Aside from all this, perhaps we should always copy |
Did some more digging, and i think this is the reason that the |
Indeed, what I said about |
Prioritizing B3 headers in extraction (openzipkin/zipkin-gcp#97) fixed this issue. |
We do still need to upgrade to the new |
Tracing across different services in app engine flexible doesn't seem to work properly.
In a http call from service A to service B, the
X-Cloud-Trace-Context
header isn't set by A, so app engine creates a new trace id and sets it in theX-Cloud-Trace-Context
header. So now theX-B3-TraceId
header andX-Cloud-Trace-Context
header are different. Service B sees theX-Cloud-Trace-Context
and uses this for tracing.This breaks the trace chain in the google console..
When running locally the
X-Cloud-Trace-Context
is never set and then everything works as expected.As an example of this, replace the URL in the trace sample here:
https://github.com/spring-cloud/spring-cloud-gcp/blob/8ac48c5dea656c9eeb138a2b3bc2f27690372435/spring-cloud-gcp-samples/spring-cloud-gcp-trace-sample/src/main/java/com/example/WorkService.java#L40
with the public url of the service, ie
https://<service>-dot-<project>.appstpot.com
. Withlocalhost
it works.The text was updated successfully, but these errors were encountered: