-
Notifications
You must be signed in to change notification settings - Fork 896
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
Add causality test with multiple concurrent requests #2156
Conversation
testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/base/HttpClientTest.groovy
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First, a new "causality test" was introduced to the
HttpClientTest
. It stresses our instrumentations of http clients in highly concurrent settings. Please read the test comments.
❤️
Second, this new test has to be disabled for a lot of http clients. This is very concerning, see #2155
😢
Third, Reactor Netty 0.9 test was converted to the subclass of
HttpClientTest
.
👍
Fourth, integration with Reactor Netty 1.0 was introduced.
🎉
.../opentelemetry/javaagent/instrumentation/reactornetty/ReactorNettyInstrumentationModule.java
Outdated
Show resolved
Hide resolved
.../opentelemetry/javaagent/instrumentation/reactornetty/ReactorNettyInstrumentationModule.java
Outdated
Show resolved
Hide resolved
testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/base/HttpClientTest.groovy
Show resolved
Hide resolved
.../opentelemetry/javaagent/instrumentation/reactornetty/ReactorNettyInstrumentationModule.java
Outdated
Show resolved
Hide resolved
testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/base/HttpClientTest.groovy
Outdated
Show resolved
Hide resolved
@mateuszrzeszutek @trask Can you help me? I don't understand why muzzle fails on Reactor Netty with
Why does it fail due to |
Hmm, it looks like for (example for 1.0)
There must be something wrong with how |
@mateuszrzeszutek I look at
Meaning that even if there are 2 modules present, the plugin throws exception and fails the build as soon as any of them pass muzzle. Which does not make sense in my case. I depend on classes from netty instrumentation, thus |
Oh, that's true! I was so concentrated on the CL & gradle plugin thing that I missed the loop 😅 |
I went another way... Let's see... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks so much for pushing on this much-needed test type.
testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/base/HttpClientTest.groovy
Show resolved
Hide resolved
testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/base/HttpClientTest.groovy
Outdated
Show resolved
Hide resolved
instrumentation/netty/netty-4.1/library/netty-4.1-library.gradle
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really great test addition 👍
Two last suggestions, no worries if you disagree please ignore.
Several things happen in this PR, sorry for such a soup. I can split it into several PR if needed...
First, a new "causality test" was introduced to the
HttpClientTest
. It stresses our instrumentations of http clients in highly concurrent settings. Please read the test comments.Second, this new test has to be disabled for a lot of http clients. This is very concerning, see #2155
Third, Reactor Netty 0.9 test was converted to the subclass of
HttpClientTest
.Fourth, integration with Reactor Netty 1.0 was introduced.