i-love-flamingo / flamingo

Flamingo Framework and Core Library. Flamingo is a go based framework to build pluggable applications. Focus is on clean architecture, maintainability and operation readiness.

Home Page:http://www.flamingo.me

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Multiple X-Correlation-IDs causing problem

doertydoerk opened this issue · comments

commented

In this line, an X-Correlation-ID is always added based on the SpanID. Not sure what we need this for, but it can cause problems in scenarios where an X-Correlation-ID is already set beforehand. For instance, tracing tools may get confused as to which ID to follow. That said, going from req.Header.Add() to req.Header.Set() won't fix the problem, as the existing ID would be overwritten and tracing would be corrupted.

IMHO, there should be only one X-Correlation-ID, so at least it should only be set if there isn't one already. Probably even better to not use X-Correlation-ID here and go with another header instead.

The X-Correlation-ID is always added to outbound requests' headers. It propagates the trace ID.
What do you mean by tracing tool? Because this header is not set on requests that are sent to tracing tools like Jaeger or Zipkin.
I don't know what was the idea behind adding it since the opencensus library should already take care of this.

@bastianccm can provide us maybe with more information :)