2.4 KiB
Contributing
Pull requests for bug fixes are welcome, but before submitting new features or changes to current functionality open an issue and discuss your ideas or propose the changes you wish to make. After a resolution is reached a PR can be submitted for review.
In order to build and test this whole repository you need JDK 11+. Some instrumentations and tests may put constraints on which java versions they support. See Running the tests for more details.
Building
Snapshot builds
For developers testing code changes before a release is complete, there are
snapshot builds of the main
branch. They are available from
the Sonatype OSS snapshots repository at https://oss.sonatype.org/content/repositories/snapshots/
(browse)
Building from source
Build using Java 11:
java -version
./gradlew assemble
and then you can find the java agent artifact at
javaagent/build/libs/opentelemetry-javaagent-<version>.jar
.
IntelliJ setup and troubleshooting
See IntelliJ setup and troubleshooting
Style guide
See Style guide
Running the tests
Writing instrumentation
Understanding the javaagent components
See Understanding the javaagent components
Understanding the javaagent instrumentation testing components
See Understanding the javaagent instrumentation testing components
Debugging
See Debugging
Understanding Muzzle
Troubleshooting PR build failures
The build logs are very long and there is a lot of parallelization, so the logs can be hard to decipher, but if you scroll to the bottom you should see something like:
Publishing build scan...
https://gradle.com/s/ila4qwp5lcf5s
Opening the build scan link can sometimes take several seconds (it's a large build), but it typically makes it a lot clearer what's failing.