-
Notifications
You must be signed in to change notification settings - Fork 6.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Separate contribution docs to a new menu structure. (#11033)
- Loading branch information
Showing
12 changed files
with
124 additions
and
232 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Integration Tests | ||
IT(Integration Tests) represents the JUnit driven integration test to verify the features and compatibility between lib | ||
and known server with various versions. | ||
|
||
After setting up the environment and writing your codes, to facilitate integration with the SkyWalking project, you'll | ||
need to run tests locally to verify that your codes would not break any existing features, | ||
as well as write some unit test (UT) codes to verify that the new codes would work well. This will prevent them from being broken by future contributors. | ||
If the new codes involve other components or libraries, you should also write integration tests (IT). | ||
|
||
SkyWalking leverages the plugin `maven-surefire-plugin` to run the UTs and uses `maven-failsafe-plugin` | ||
to run the ITs. `maven-surefire-plugin` excludes ITs (whose class name starts or ends with `*IT`, `IT*`) | ||
and leaves them for `maven-failsafe-plugin` to run, which is bound to the `integration-test` goal. | ||
Therefore, to run the UTs, try `./mvnw clean test`, which only runs the UTs but not the ITs. | ||
|
||
If you would like to run the ITs, please run `./mvnw integration-test` as well as the profiles of the modules whose ITs you want to run. | ||
If you don't want to run UTs, please add `-DskipUTs=true`. | ||
E.g. if you would like to only run the ITs in `oap-server`, try `./mvnw -Pbackend clean verify -DskipUTs=true`, | ||
and if you would like to run all the ITs, simply run `./mvnw clean integration-test -DskipUTs=true`. | ||
|
||
Please be advised that if you're writing integration tests, name it with the pattern `IT*` or `*IT` so they would only run in goal `integration-test`. |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# Java Microbenchmark Harness (JMH) | ||
JMH is a Java harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. | ||
|
||
We have a module called `microbench` which performs a series of micro-benchmark tests for JMH testing. | ||
Make new JMH tests extend the `org.apache.skywalking.oap.server.microbench.base.AbstractMicrobenchmark` | ||
to customize runtime conditions (Measurement, Fork, Warmup, etc.). | ||
|
||
JMH tests could run as a normal unit test. And they could run as an independent uber jar via `java -jar benchmark.jar` for all benchmarks, | ||
or via `java -jar /benchmarks.jar exampleClassName` for a specific test. | ||
|
||
Output test results in JSON format, you can add `-rf json` like `java -jar benchmarks.jar -rf json`, if you run through the IDE, you can configure the `-DperfReportDir=savePath` parameter to set the JMH report result save path, a report results in JSON format will be generated when the run ends. | ||
|
||
More information about JMH can be found here: [jmh docs](https://openjdk.java.net/projects/code-tools/jmh/). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Guides | ||
There are many ways you can connect and contribute to the SkyWalking community. | ||
|
||
* Submit an [issue](https://github.com/apache/skywalking/issues) for an addressed issue or feature implementation plan. | ||
* Submit a [discussion](https://github.com/apache/skywalking/issues) to ask questions, feature proposal and uncertain bug discussion. | ||
* Mail list: **dev@skywalking.apache.org**. Mail to `dev-subscribe@skywalking.apache.org`. Follow the instructions in the reply to subscribe to the mail list. | ||
* Send `Request to join SkyWalking slack` mail to the mail list(`dev@skywalking.apache.org`), we will invite you in. | ||
* For Chinese speaker, send `[CN] Request to join SkyWalking slack` mail to the mail list(`dev@skywalking.apache.org`), we will invite you in. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# OAP backend dependency management | ||
> This section is only applicable to dependencies of the OAP server and UI. | ||
As one of the Top Level Projects of The Apache Software Foundation (ASF), SkyWalking must follow the [ASF 3RD PARTY LICENSE POLICY](https://apache.org/legal/resolved.html). So if you're adding new dependencies to the project, you should make sure that the new dependencies would not break the policy, and add their LICENSE and NOTICE to the project. | ||
|
||
We use [license-eye](https://github.com/apache/skywalking-eyes) to help you make sure that you haven't missed out any new dependencies: | ||
- Install `license-eye` according to [the doc](https://github.com/apache/skywalking-eyes#usage). | ||
- Run `license-eye dependency resolve --summary ./dist-material/release-docs/LICENSE.tpl` in the root directory of this project. | ||
- Check the modified lines in `./dist-material/release-docs/LICENSE` (via command `git diff -U0 ./dist-material/release-docs/LICENSE`) and | ||
check whether the new dependencies' licenses are compatible with Apache 2.0. | ||
- Add the new dependencies' notice files (if any) to `./dist-material/release-docs/NOTICE` if they are Apache 2.0 license. Copy their license files to `./dist-material/release-docs/licenses` if they are not standard Apache 2.0 license. | ||
- Copy the new dependencies' license file to `./dist-material/release-docs/licenses` if they are not standard Apache 2.0 license. |
Oops, something went wrong.