I'm running several applications on GKE with a Spring Cloud Gateway in front of them and behind a Google Cloud Loadbalancer.
While debuging i noticed that most traces reported to Google Cloud Trace show a missing root trace. It appears the Gateway (correctly) reads the X-Cloud-Trace-Context header and reports it own span with a parent traceId. But this parent does not actually exist in trace-id.
i'm using google own spring-integration for tracing and can't find any span reported by a load-balancer, so i'm inclined to believe there is something wrong there.
Do i have to activate tracing on the ingress/load-balancer somewhere? I cant find any documentation on that.
You can consider using a distributed tracing solution. For example like Zipkin or Jaeger, these tools help track requests across microservice architecture. After choosing the tool, integrate the tracing solution's libraries into your application code. This enables capturing trace context and propagating it across service calls.
One approach as well is to activate tracing on the ingress/load-balancer in your Google Kubernetes Engine(GKE) setup, you need to configure the Load Balancer to trace HTTP requests.
Enabling logging on an existing backend service