This is an automated email from the ASF dual-hosted git repository.

kezhenxu94 pushed a commit to branch fix/dead-links
in repository https://gitbox.apache.org/repos/asf/skywalking.git

commit 401432c27461199f084bfc8ea5b2280e0e2772cb
Author: kezhenxu94 <[email protected]>
AuthorDate: Thu Feb 18 11:09:45 2021 +0800

    Fix dead links and add checker to detect them
---
 .dlc.json                                          | 18 ++++++++++++
 .github/actions/skip/action.yml                    |  2 ++
 .github/workflows/dead-link-checker.yaml           | 32 ++++++++++++++++++++++
 CODE_OF_CONDUCT.md                                 |  2 +-
 README.md                                          |  2 +-
 changes/changes-8.4.0.md                           |  2 +-
 docs/en/concepts-and-designs/probe-introduction.md |  2 +-
 docs/en/guides/Java-Plugin-Development-Guide.md    |  2 +-
 docs/en/protocols/Browser-HTTP-API-Protocol.md     |  2 +-
 docs/en/protocols/JVM-Protocol.md                  |  2 +-
 docs/en/setup/envoy/metrics_service_setting.md     |  4 +--
 docs/en/setup/service-agent/java-agent/README.md   |  2 +-
 .../service-agent/java-agent/Supported-list.md     |  2 +-
 13 files changed, 63 insertions(+), 11 deletions(-)

diff --git a/.dlc.json b/.dlc.json
new file mode 100644
index 0000000..f2b124e
--- /dev/null
+++ b/.dlc.json
@@ -0,0 +1,18 @@
+{
+  "ignorePatterns": [
+    {
+      "pattern": "^http://localhost";
+    },
+    {
+      "pattern": 
"^https://github.com/apache/skywalking/blob/master/changes/changes-x.y.z.md$";
+    }
+  ],
+  "timeout": "10s",
+  "retryOn429": true,
+  "retryCount": 10,
+  "fallbackRetryDelay": "1000s",
+  "aliveStatusCodes": [
+    200,
+    401
+  ]
+}
diff --git a/.github/actions/skip/action.yml b/.github/actions/skip/action.yml
index 44536a8..2e6de66 100644
--- a/.github/actions/skip/action.yml
+++ b/.github/actions/skip/action.yml
@@ -28,6 +28,8 @@ inputs:
       "*.md"
       "skywalking-ui"
       ".asf.yaml"
+      ".dlc.yaml"
+      ".licenserc.yaml"
 runs:
   using: "composite"
   steps:
diff --git a/.github/workflows/dead-link-checker.yaml 
b/.github/workflows/dead-link-checker.yaml
new file mode 100644
index 0000000..d581810
--- /dev/null
+++ b/.github/workflows/dead-link-checker.yaml
@@ -0,0 +1,32 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: Dead Link Checker
+
+on:
+  pull_request:
+
+jobs:
+  CheckDeadLinks:
+    runs-on: ubuntu-18.04
+    timeout-minutes: 30
+    steps:
+      - uses: actions/checkout@v2
+      - run: sudo npm install -g markdown-link-check
+      - run: |
+          for file in $(find . -name "*.md"); do
+            markdown-link-check -c .dlc.json -q "$file"
+          done
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 220f9b4..e45fd4a 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -71,7 +71,7 @@ This statement thanks the following, on which it draws for 
content and inspirati
 
 * [CouchDB Project Code of conduct](http://couchdb.apache.org/conduct.html)
 * [Fedora Project Code of Conduct](http://fedoraproject.org/code-of-conduct)
-* [Speak Up! Code of Conduct](http://speakup.io/coc.html)
+* [Speak Up! Code of 
Conduct](https://code-of-conduct.roche.com/en/speak-up.html)
 * [Django Code of Conduct](https://www.djangoproject.com/conduct/)
 * [Debian Code of Conduct](http://www.debian.org/vote/2014/vote_002)
 * [Twitter Open Source Code of 
Conduct](https://github.com/twitter/code-of-conduct/blob/master/code-of-conduct.md)
diff --git a/README.md b/README.md
index 4cfe97c..c275be4 100644
--- a/README.md
+++ b/README.md
@@ -101,4 +101,4 @@ SkyWalking enriches the <a 
href="https://landscape.cncf.io/landscape=observabili
 </p>
 
 # License
-[Apache 2.0 License.](/LICENSE)
+[Apache 2.0 License.](LICENSE)
diff --git a/changes/changes-8.4.0.md b/changes/changes-8.4.0.md
index ab2da63..22c6dea 100644
--- a/changes/changes-8.4.0.md
+++ b/changes/changes-8.4.0.md
@@ -61,7 +61,7 @@ Release Notes.
 * Improve query performance in storage-influxdb-plugin.
 * Fix the uuid field in GRPCConfigWatcherRegister is not updated.
 * Support Envoy {AccessLog,Metrics}Service API V3.
-* Adopt the [MAL](docs/en/concepts-and-designs/mal.md) in Envoy metrics 
service analyzer.
+* Adopt the [MAL](../docs/en/concepts-and-designs/mal.md) in Envoy metrics 
service analyzer.
 * Fix the priority setting doesn't work of the ALS analyzers.
 * Fix bug that `endpoint-name-grouping.yml` is not customizable in Dockerized 
case.
 * Fix bug that istio version metric type on UI template mismatches the otel 
rule.
diff --git a/docs/en/concepts-and-designs/probe-introduction.md 
b/docs/en/concepts-and-designs/probe-introduction.md
index 7e4ed47..38b85fe 100644
--- a/docs/en/concepts-and-designs/probe-introduction.md
+++ b/docs/en/concepts-and-designs/probe-introduction.md
@@ -33,6 +33,6 @@ like logs, just save them, and build the links between traces 
and metrics, like
 
 ## What is next?
 - Learn the SkyWalking supported probes in [Service auto instrument 
agent](service-agent.md), [Manual instrument SDK](manual-sdk.md),
-[Service Mesh probe](service-mesh-probe.md) and [Zipkin 
receiver](trace-receiver.md).
+[Service Mesh probe](service-mesh-probe.md) and [Zipkin 
receiver](../setup/backend/backend-receivers.md#zipkin-receiver).
 - After understand the probe, read [backend overview](backend-overview.md) for 
understanding analysis and persistence.
 
diff --git a/docs/en/guides/Java-Plugin-Development-Guide.md 
b/docs/en/guides/Java-Plugin-Development-Guide.md
index e1b2b26..d6c27ed 100644
--- a/docs/en/guides/Java-Plugin-Development-Guide.md
+++ b/docs/en/guides/Java-Plugin-Development-Guide.md
@@ -321,7 +321,7 @@ tomcat-7.x/8.x=TomcatInstrumentation
      return witnessMethodList;
    }
    ```
-   For more example, see 
[WitnessTest.java](/apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/plugin/witness/WitnessTest.java)
+   For more example, see 
[WitnessTest.java](../../../apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/plugin/witness/WitnessTest.java)
 
    
 
diff --git a/docs/en/protocols/Browser-HTTP-API-Protocol.md 
b/docs/en/protocols/Browser-HTTP-API-Protocol.md
index f33b99b..245711f 100644
--- a/docs/en/protocols/Browser-HTTP-API-Protocol.md
+++ b/docs/en/protocols/Browser-HTTP-API-Protocol.md
@@ -41,7 +41,7 @@ Http Status: 204
 
 ## Error Log Report
 
-Detail information about data format can be found in 
[BrowserPerf.proto](https://github.com/apache/skywalking-data-collect-protocol/blob/master/Browser/BrowserPerf.proto).
+Detail information about data format can be found in 
[BrowserPerf.proto](https://github.com/apache/skywalking-data-collect-protocol/blob/master/browser/BrowserPerf.proto).
 
 ### POST http://localhost:12800/browser/errorLogs
 
diff --git a/docs/en/protocols/JVM-Protocol.md 
b/docs/en/protocols/JVM-Protocol.md
index 48a3063..36214d4 100644
--- a/docs/en/protocols/JVM-Protocol.md
+++ b/docs/en/protocols/JVM-Protocol.md
@@ -2,4 +2,4 @@
 ## Abstract
 Uplink the JVM metrics, including PermSize, HeapSize, CPU, Memory, etc., every 
second.
 
-[gRPC service 
define](https://github.com/apache/skywalking-data-collect-protocol/blob/v2.0/JVMMetricsService.proto)
\ No newline at end of file
+[gRPC service 
define](https://github.com/apache/skywalking-data-collect-protocol/blob/master/language-agent/JVMMetric.proto)
diff --git a/docs/en/setup/envoy/metrics_service_setting.md 
b/docs/en/setup/envoy/metrics_service_setting.md
index 438acdf..bc3babc 100644
--- a/docs/en/setup/envoy/metrics_service_setting.md
+++ b/docs/en/setup/envoy/metrics_service_setting.md
@@ -50,7 +50,7 @@ static_resources:
 
 A more complete static configuration, can be observed [here](config.yaml).
 
-Note that Envoy can also be configured dynamically through [xDS 
Protocol](https://github.com/envoyproxy/data-plane-api/blob/master/XDS_PROTOCOL.md).
+Note that Envoy can also be configured dynamically through [xDS 
Protocol](https://github.com/envoyproxy/data-plane-api/blob/main/xds_protocol.rst).
 
 As mentioned above, SkyWalking also builds the topology of services from the 
metrics, this is because Envoy also carries the service metadata along with the 
metrics, to feed the Envoy such metadata, another configuration part is as 
follows:
 
@@ -65,7 +65,7 @@ node:
 
 ## Configure Envoy to send metrics to SkyWalking with Istio
 
-Typically, Envoy can be also used under Istio's control, where the 
configurations are much more simple because Istio composes the configurations 
for you and sends them to Envoy via [xDS 
Protocol](https://github.com/envoyproxy/data-plane-api/blob/master/XDS_PROTOCOL.md).
+Typically, Envoy can be also used under Istio's control, where the 
configurations are much more simple because Istio composes the configurations 
for you and sends them to Envoy via [xDS 
Protocol](https://github.com/envoyproxy/data-plane-api/blob/master/xds_protocol.rst).
 Istio also automatically injects the metadata such as service name and 
instance name into the bootstrap configurations.
 
 Under this circumstance, emitting the metrics to SyWalking is as simple as 
adding the option `--set 
meshConfig.defaultConfig.envoyMetricsService.address=<skywalking.address.port.11800>`
 to Istio install command, for example:
diff --git a/docs/en/setup/service-agent/java-agent/README.md 
b/docs/en/setup/service-agent/java-agent/README.md
index c20d40e..134e21f 100755
--- a/docs/en/setup/service-agent/java-agent/README.md
+++ b/docs/en/setup/service-agent/java-agent/README.md
@@ -134,7 +134,7 @@ property key | Description | Default |
 `plugin.solrj.trace_statement`|If true, trace all the query parameters(include 
deleteByIds and deleteByQuery) in Solr query request, default is false.|`false`|
 `plugin.solrj.trace_ops_params`|If true, trace all the operation parameters in 
Solr request, default is false.|`false`|
 `plugin.light4j.trace_handler_chain`|If true, trace all middleware/business 
handlers that are part of the Light4J handler chain for a request.|false|
-`plugin.opgroup.*`|Support operation name customize group rules in different 
plugins. Read [Group rule supported plugins](op_name_group_rule.md)|Not set|
+`plugin.opgroup.*`|Support operation name customize group rules in different 
plugins. Read [Group rule supported 
plugins](../../backend/endpoint-grouping-rules.md)|Not set|
 `plugin.springtransaction.simplify_transaction_definition_name`|If true, the 
transaction definition name will be simplified.|false|
 `plugin.jdkthreading.threading_class_prefixes` | Threading classes 
(`java.lang.Runnable` and `java.util.concurrent.Callable`) and their 
subclasses, including anonymous inner classes whose name match any one of the 
`THREADING_CLASS_PREFIXES` (splitted by `,`) will be instrumented, make sure to 
only specify as narrow prefixes as what you're expecting to instrument, 
(`java.` and `javax.` will be ignored due to safety issues) | Not set |
 `plugin.tomcat.collect_http_params`| This config item controls that whether 
the Tomcat plugin should collect the parameters of the request. Also, activate 
implicitly in the profiled trace. | `false` |
diff --git a/docs/en/setup/service-agent/java-agent/Supported-list.md 
b/docs/en/setup/service-agent/java-agent/Supported-list.md
index 70f6b2f..e9efea2 100644
--- a/docs/en/setup/service-agent/java-agent/Supported-list.md
+++ b/docs/en/setup/service-agent/java-agent/Supported-list.md
@@ -26,7 +26,7 @@ metrics based on the tracing data.
   * [Apache httpcomponent HttpClient](http://hc.apache.org/) 2.0 -> 3.1, 4.2, 
4.3
   * [Spring RestTemplete](https://github.com/spring-projects/spring-framework) 
4.x
   * [Jetty Client](http://www.eclipse.org/jetty/) 9
-  * [Apache httpcomponent 
AsyncClient](https://hc.apache.org/httpcomponents-asyncclient-dev/) 4.x
+  * [Apache httpcomponent 
AsyncClient](https://hc.apache.org/httpcomponents-asyncclient-4.1.x/) 4.x
   * [AsyncHttpClient](https://github.com/AsyncHttpClient/async-http-client) 2.x
   * JRE HttpURLConnection (Optional²)
 * HTTP Gateway

Reply via email to