Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MQ Boundaries are not crossed, Redis call and MQ consumer not auto instrumented #2436

Closed
mnadeem opened this issue Feb 28, 2021 · 9 comments · Fixed by #3339
Closed

MQ Boundaries are not crossed, Redis call and MQ consumer not auto instrumented #2436

mnadeem opened this issue Feb 28, 2021 · 9 comments · Fixed by #3339
Labels
bug Something isn't working

Comments

@mnadeem
Copy link

mnadeem commented Feb 28, 2021

Describe the bug

Three things

  1. MQ (Rabbit MQ) calls are not crossing the component boundary as as in rest calls (Trace Ids are getting changed)

image

  1. Redis calls are not instrumented

image

  1. RabbitMQ Consumer is not auto instrumented, I had to use @WithSpan

image

Steps to reproduce

https://github.com/mnadeem/boot-opentelemetry-tempo ==> look for complex branches, same behavior is across the branches.

mvn clean package docker:build

and then

docker-compose up

image

What did you expect to see?
A clear and concise description of what you expected to see.

What did you see instead?
A clear and concise description of what you saw instead.

What version are you using?
(e.g., v0.9.0, 393e4a2, etc) : 0.15.0, 0.16.0 and 0.17.0

Environment
Compiler: (e.g., "AdoptOpenJDK 11.0.6") : Oracle jdk 8
OS: (e.g., "Ubuntu 20.04") : Widows 10
Runtime (if different from JDK above): (e.g., "Oracle JRE 8u251")
OS (if different from OS compiled on): OS is same as that of compiled one, Widows 10

Additional context
Add any other context about the problem here.

@mnadeem mnadeem added the bug Something isn't working label Feb 28, 2021
@mnadeem
Copy link
Author

mnadeem commented Feb 28, 2021

Note: Redis is instrumented with Lettuce 5 and not with 6

image

@mnadeem
Copy link
Author

mnadeem commented Mar 1, 2021

@mnadeem
Copy link
Author

mnadeem commented Mar 1, 2021

I see that, RabbitMQ Client , 2.7+ is supported

And I am using 5.9

image

From RabbitMQ producer everything is okay, span created, parent tracer passed.

Consumer receiving it as well.

image

However at the consumer side, parent context is not considered and new span is not created.

@mateuszrzeszutek
Copy link
Member

Hi @mnadeem ,
Can you create a separate enhancement issue for implementing Lettuce 6 instrumentation?

@mnadeem
Copy link
Author

mnadeem commented Mar 5, 2021

@mateuszrzeszutek

In this ticket we are talking about rabbitmq and not redis

not sure if I am missing anything

@mateuszrzeszutek
Copy link
Member

Oh, you mentioned that "Redis calls are not instrumented" so I thought that you wanted to have Lettuce 6 instrumented as well

@mnadeem
Copy link
Author

mnadeem commented Mar 8, 2021

Apologies, missed it

@mnadeem
Copy link
Author

mnadeem commented Mar 8, 2021

Created a separate enhancement request for Lettuce,

What needs to be done for RabbitMQ ?

@mateuszrzeszutek
Copy link
Member

mateuszrzeszutek commented Mar 8, 2021

Thanks!
It needs to be fixed -- this most certainly looks like a bug. Whatever spring uses for @RabbitListerer-annotated methods is probably not instrumented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants