open-telemetry / open-telemetry/opentelemetry-cpp-contrib
opentelemetry-cpp-contrib nginx instrumentation test cases are failing on linux/ppc64le arch
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 153
- Forks
- 184
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 26
Description
Hi there,
I'm trying to build-test the nginx instrumentation on linux/ppc64le VM.
the test cases are failing because the otel/opentelemetry-collector:0.26.0 docker image isnt' available for ppc64le.
the support for ppc64le was added in v0.57.2.
but when I test nginx instrumentation with otel/opentelemetry-collector:0.58.0, the test cases are failing with following error.
18) test HTTP upstream | span is associated with parent (InstrumentationTest) test/instrumentation_test.exs:279 ** (RuntimeError) timed out waiting for traces code: test_parent_span(@host, ctx) stacktrace: test/instrumentation_test.exs:62: InstrumentationTest.read_traces/4 test/instrumentation_test.exs:256: InstrumentationTest.test_parent_span/2 test/instrumentation_test.exs:280: (test) 19) test HTTP upstream | test b3 propagation (InstrumentationTest) test/instrumentation_test.exs:329 ** (RuntimeError) timed out waiting for traces code: [trace] = read_traces(trace_file, 1) stacktrace: test/instrumentation_test.exs:62: InstrumentationTest.read_traces/4 test/instrumentation_test.exs:338: (test) 20) test Accessing a route with disabled trustIncomingsSpans is not associated with a parent (InstrumentationTest) test/instrumentation_test.exs:422 ** (RuntimeError) timed out waiting for traces code: [trace] = read_traces(trace_file, 1) stacktrace: test/instrumentation_test.exs:62: InstrumentationTest.read_traces/4 test/instrumentation_test.exs:432: (test) [+] Running 5/5 ⠿ Container test-node-backend-1 Removed 1.5ss ⠿ Container test-php-backend-1 Removed 1.9ss ⠿ Container test-collector-1 Removed 1.7ss ⠿ Container test-nginx-1 Removed 1.6ss ⠿ Network test_default Removed 0.3ss Finished in 29.1 seconds 22 tests, 20 failures Adilhusain Shaikh Today at 5:33 PM. grouping
Steps to reproduce
clone repo
cd into it
cd test/instrumentation
mix dockerfiles .. ubuntu-20.04:mainline
docker build -t otel-nginx-test/nginx -f ../Dockerfile.ubuntu-20.04.mainline ../..
docker build -t otel-nginx-test/express-backend -f ../backend/simple_express/Dockerfile ../backend/simple_express
sed -i "s/0.26.0/0.58.0/" ../docker-compose.yml
mix test
also try out the samething on x86 VM and observe the same error
What is the expected behavior?
the test cases should pass.
What is the actual behavior?
the test cases are failing.
Additional context
os: rhel 8.5
arch: ppc64le
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the failure from test/instrumentation with the commands in the issue, then inspect test/instrumentation_test.exs and test/docker-compose.yml around the collector image and trace timeouts. Compare behavior on ppc64le and x86, and consider the reported collector versions. Done means the nginx instrumentation test suite completes without trace timeouts on the affected architecture.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, elixir, linux, nginx
- Domain
- infrastructure, observability, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100