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

Dependencies not visible for MP Rest Client / MP Fault Tolerance in Quarkus #1981

Closed
enqueue opened this issue Nov 25, 2021 · 3 comments · Fixed by #2009
Closed

Dependencies not visible for MP Rest Client / MP Fault Tolerance in Quarkus #1981

enqueue opened this issue Nov 25, 2021 · 3 comments · Fixed by #2009

Comments

@enqueue
Copy link

enqueue commented Nov 25, 2021

Expected behavior

We see all failed calls to dependencies in logs and on application map.

Actual behavior

We only see some calls to failed dependencies in logs and on application map, most notably calls which result in a 4xx error do not show up as dependencies at all.

To Reproduce

  1. Run Application Insights agent attached to Quarkus with some JAX-RS endpoint which uses MP Rest Client to call another service.
  2. Wrap some of the calls of the client using MP Fault Tolerance annotations, e.g. @Fallback.
  3. Perform some calls against the JAX-RS endpoints
  4. Investigate results in Application Insights logs (querying dependencies, requests, failures) and visually on the application map.

Sample Application

I created a reproducer over here at enqueue/quarkus-ft-telemetry (Note: this is on branch appi-agent, not main).

System information

Please provide the following information:

  • SDK Version: 3.2.3
  • OS type and version: Linux fmueller2021 5.15.4-arch1-1 SMP PREEMPT Sun, 21 Nov 2021 21:34:33 +0000 x86_64 GNU/Linux
  • Application Server type and version (if applicable): Quarkus 2.4.2
  • Using spring-boot? Never! 😄
  • Additional relevant libraries (with version, if applicable): We are using the MP APIs only, but you can find out which implementations are used in Quarkus 2.4.2 by typing ./gradlew dependencies in the reproducer project.

Logs

Nothing out of ordinary with log level INFO. Let me know if you need further logs with FINE or DEBUG.

I set up a clean Application Insights resource to test this, which I could provide access to.

Screenshots

n/a

@ghost ghost added the Needs: Triage 🔍 label Nov 25, 2021
@guerrerotook
Copy link
Member

guerrerotook commented Nov 26, 2021

Hey @enqueue I had another issue open with Quarkus (in my case the RedHat version), where I can't send custom attributes using the Spain API. Since you're using Quarksu as well I was wondering if you face the same problem or you're using something different.

Thanks!

@enqueue
Copy link
Author

enqueue commented Nov 26, 2021

Hi @guerrerotook , very interesting. We are actually trying to mess as little as possible with the observability stack. We think that „standard“ use cases like JAX-RS calls with dependent HTTP calls should work fine out of the box. I am not a telemetry expert, so I don‘t know if custom attributes are required to make this work.

@trask
Copy link
Member

trask commented Dec 15, 2021

Here's a SNAPSHOT build with the fix: https://github.com/microsoft/ApplicationInsights-Java/suites/4658614061/artifacts/126616732

Next release is currently targeted for mid-Jan

@ghost ghost locked as resolved and limited conversation to collaborators Jan 15, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants