-
Notifications
You must be signed in to change notification settings - Fork 150
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
Slick + Datasource instrumentation is broken in 7.9.0 with scala 2.13 #1000
Comments
@smiklos does the behavior you mention happen with While we can't commit to a date when we can investigate this further, having a small app that repros the problem is helpful! |
@kford-newrelic I tried to reproduce this locally but it does work using akka http and sangria alone. Somehow the changes in that pr nukes jdbc datasource (and maybe other) instrumentation. Essentially commenting out this from ScalaTraitMatcher fixes the issue
Update Adding this exclusion to the
It looks like when NewRelicRunnable gets reinstrumented it goes through this newly introduced scala final trait transformer and that causes issues. I tried removing the @trace annotation from the This final field transformer should not even pick up this class but it looks like it will transform fields even if they are not trait fields.... |
Scala traits...sigh. @smiklos thank you for this excellent analysis! We'll review this to see if we can easily build on your work for our next (Jan-Mar) quarter but we cannot commit that at the moment. Stay tuned. In the meantime, are you able to continue using your own agent build as a workaround? |
@kford-newrelic I guess we can use our own build but I was thinking that perhaps a quick fix would be acceptable by you. If we marked |
@smiklos yes a PR would be awesome - thank you! |
Work has been completed on this issue. |
@kford-newrelic can you link to the work that has been done to solve this issue? |
@kford-newrelic that was just a quick fix but the real problem has not been fixed, the one I outlined very detailed here. Other instrumentations libraries are probably also affected by this issue... |
Description
We are using Akka http 10.2.+ and Sangria so the only route we monitor is /graphql
After upgrading to the current latest agent version (7.9.0) the agent seems to loose track of transactions across method calls.
I can still manually create a transaction and link to it via its token but the transaction propagation between methods and future chaining no longer works at all. I can only suspect the work related to #876 as cause
Expected Behavior
When a web transaction starts we used to have segments span across the whole app, measuring db time and external calls. Now all of that is gone. Transactions still start but none of the above mentioned segments/metrics are measured anymore.
Your Environment
Tried both openjdk 11 and graalvm 22.1
(Migrate to Jira)
The text was updated successfully, but these errors were encountered: