envoyproxy/envoy

Send custom key-value pairs in ot-span-context to Zipkin

Open

#2.031 geöffnet am 9. Nov. 2017

Auf GitHub ansehen
 (3 Kommentare) (1 Reaktion) (0 zugewiesene Personen)C++ (5.373 Forks)batch import
area/tracingenhancementhelp wanted

Repository-Metriken

Stars
 (27.997 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 8T) (378 gemergte PRs in 30 T)

Beschreibung

Thanks for maintaining the great project 👍

Envoy does seem to propagate ot-span-context but drops most of the key-values included in it before sending it to Zipkin.

Would it be possible to send those key-values as binary annotations of Zipkin spans? Could I contribute it?

Context:

  • After looking into code, it turns out that Envoy as of today drops all the keys in ot-span-context other than a few, well-known keys like traceid and spanid, before sending these to Zipkin.
  • AFAIK, ot-span-context could be populated with "custom" keys and values other than these, e.g. by our apps, to provide additional context throughout multiple spans in single trace.
  • If Envoy could translate those to corresponding binary annotations in Zipkin spans, we could view those custom key-value pairs from ot-span-context in Zipkin.
  • FYI, an app like dd-zipkin-proxy allows Datadog to consume Zipkin spans containing arbitrary binary annotations so that it would also help Datadog users.

Contributor Guide