odigos-io / opentelemetry-go-instrumentation

OpenTelemetry auto-instrumentation for Go applications

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Question] How to configure emojivoto to propagate context?

ymtdzzz opened this issue · comments

Hi, thanks for such a nice project!

I tried using this with emojivoto, but I'm having trouble with context propagation.
Tracing a single service works fine but the traffic across some services is traced as different trace id.

Expected Behavior

Trace ID is propagated across multiple services

Actual Behavior

A series of events across multiple services are traced as different traces

Screenshot from 2022-08-03 22-15-26

Screenshot from 2022-08-03 22-17-25

Steps to Reproduce the Problem

  1. checkout https://github.com/ymtdzzz/emojivoto-opentelemetry-sample/tree/feature/ebpf
  2. start k8s cluster (such as minikube)
  3. deploy as described in the README
  4. curl "http://your-node-ip:30084/api/list"
  5. access to http://your-node-ip:30081 and check the traced data

Additional Info

  • Kubernetes version:

    Output of kubectl version:

clientVersion:
  buildDate: "2022-07-13T14:21:56Z"
  compiler: gc
  gitCommit: aef86a93758dc3cb2c658dd9657ab4ad4afc21cb
  gitTreeState: clean
  gitVersion: v1.24.3
  goVersion: go1.18.4
  major: "1"
  minor: "24"
  platform: linux/amd64
kustomizeVersion: v4.5.4
serverVersion:
  buildDate: "2022-05-24T12:18:48Z"
  compiler: gc
  gitCommit: 3ddd0f45aa91e2f30c70734b175631bec5b5825a
  gitTreeState: clean
  gitVersion: v1.24.1
  goVersion: go1.18.2
  major: "1"
  minor: "24"
  platform: linux/amd64
  • operation-system/kernel version:

    Output of awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release:
    Output of uname -r:

$ awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release
"Ubuntu 22.04 LTS"
$ uname -r
5.15.0-43-generic

https://github.com/keyval-dev/opentelemetry-go-instrumentation/blob/master/docs/design/context-propagation.md

Oh sorry, the context propagation feature hasn't been supported yet?
If that so, I'd love to wait for it to be implemented! Thank you.