-
Notifications
You must be signed in to change notification settings - Fork 880
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
Smoke test improvements #298
Comments
More things to smoke test:
|
Another thing to improve:
|
Based GA requirements I will narrow down the scope of this task. Smoke test consists of running given application (Spring Boot, Wildlfy) with Otel java auto instrumentation agent attached. Agent should be configured to run given exporter (OTLP, Jaeger, Zipkin) and to send data to locally run Otel Collector (also started by the test harness). Collector should be configured to use file exporter. Test harness should execute requests against the application and verify that all expected data was written by Collector to the export file. Test harness should be run on all LTS versions of starting from 8 plus on the latest java version if not LTS. |
Add link to smoke tests improving issue #298
Add link to smoke tests improving issue #298
I have a working prototype, which runs Spring Boot application with java agent attached and the Collector and then makes a request to the app. Collector is configured to use file exporter. Test then reads that file written by the Collector and verifies that it contains expected spans. My prototype differs from current tests and I want to discuss it before making a PR. First, it uses testcontainers to run both the application and the Collector within Docker containers. Second, I don't want to actually build test applications on every run. They change quite rarely. I am thinking about having them as separate Gradle builds in our repo, build them separately and publish Docker images to our Bintray organisation. Your opinions? |
Just wondering, is there a big advantage in running the test app inside the container instead of directly? If we run them directly, maybe the Gradle build of the test app isn't too slow compared to the rest of the build. Otherwise, publishing Docker images sounds fine to me too, we may as well use GitHub Packages instead of Bintray |
Ah, I guess it means the agent can be separated from the test VM. SGTM |
I still don't want to burn electricity to build the same apps again and again. Also, play test app is one of the few remaining sources of Gradle warnings. |
Well, we're optimistic of Gradle build cache right? :-) |
Hm, that's a good point. But I still don't like Gradle warnings :) |
Makes sense - but yeah let's try out GitHub Packages to reduce external dependencies. |
Improve smoke test harness
Add more smoke tests, starting with the most fragile instrumentation we have:
Log4j 1 instrumentation(EDIT: removed until after GA)Log4j 2 instrumentation(EDIT: removed until after GA)java.util.logging instrumentation(EDIT: removed until after GA)Logback instrumentation(EDIT: removed until after GA)Need to be careful not to double capture when one logging framework delegates to anotherJBoss/Wildfly has it's own unique java.util.logging implementationThe text was updated successfully, but these errors were encountered: