-
Notifications
You must be signed in to change notification settings - Fork 277
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
Netty 4.0 integration doesn't seem to work #410
Comments
@htmldoug Thanks for the report. We will look into it. |
Hey @htmldoug, I think I might have some ideas as to what is broken. I was using the You can see my PR here: #411 I ran it against your sample app (thanks for providing that btw), and see the additional trace being reported, but without the relationship between the spans being captured. (Each span has a parent id of 0.) There might be some additional work required to figure out why that's not linking up properly. I tried converting it to an active span ( I added the following setting, so I was able to see the spans printed out to the logs:
|
@tylerbenson thanks so much for the quick response, PR, and Does the PR CI publish a snapshot somewhere, or is there an easy way to build one locally? I'm less familiar with gradle and couldn't find build instructions in the repo. My naive attempt with |
It was funny, your report came in right as we were investigating it ourselves. We were trying to figure out why the netty instrumentation wasn't working with Spring Webflux. So we already had a few hours head start . 😉 @htmldoug you can try the jar built by CI: https://7229-89221572-gh.circle-artifacts.com/0/home/circleci/dd-trace-java/libs/dd-java-agent-0.12.0-SNAPSHOT.jar |
I've updated https://github.com/htmldoug/datadog-netty4-failing, pulling in
Can't replicate. I still only see the single trace in |
@htmldoug it appears your project is pulling in the snapshot from the snapshot repository. We don't push branches to the snapshot repo. Only master is pushed. My fix hasn't been merged to master, so is only available in the CI artifact link I provided. In other news, @mar-kolya has a fix for a related bug in #417 that is more generic and so will probably be merged instead of #411 which is what the build I linked to is from, so you can try your sample app as is when that gets merged to master. |
Derp. I mistakenly thought it was merged. I'll sit tight. |
@htmldoug that PR has been merged to master. Can you try your app again with |
Looking much better with For example, these should all have Origins: |
I think the first problem is that you're using |
Thanks for digging into the example app. I'm content that it works well enough. The screenshot above is from our real apps, and that's where I'm going to focus the rest of my testing, at least until I can narrow the problem down to simpler repro steps. I'm investigating this today and will keep you posted.
Having worked on a couple implementations of this myself, it's definitely quite tricky. |
After investigating further, I think you're right that the scala propagation isn't making it across some internal async boundaries in our play 2.5 app. I'd expect to see a purple Would you like for me to update https://github.com/htmldoug/datadog-netty4-failing to a play 2.5 app that reproduces the failure? |
I've logged that as a new issue, #432. I think it's more of a play-integration issue than a netty issue. I'm pretty satisfied with the netty part. Thanks! |
Summary
I've followed https://docs.datadoghq.com/tracing/setup/java/, but the Netty 4.0 Client instrumentation doesn't seem to work with Play 2.5 or even just AHC 2.0 by itself.
Expected result
I expect
x-datadog-trace-id
,x-datadog-parent-id
headers attached to the outbound HTTP request, and a child span namednetty.client.request
.I get neither.
Repro
I've replicated Netty40ClientTest in a new project: https://github.com/htmldoug/datadog-netty4-failing.
You can repro with
sbt run
.Screenshots
Relates to #352. cc: @tylerbenson @realark
The text was updated successfully, but these errors were encountered: