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

wusheng pushed a commit to branch 6.0
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git

commit e6ca91c3bfe7f17ef34faea286f20b3384d1990b
Author: Wu Sheng <wu.sh...@foxmail.com>
AuthorDate: Fri Jul 6 11:52:56 2018 -0700

    Init branch 6.0 for our next big iteration. Change root readme. Format 
field document in table.  Remove Chinese documents.
---
 README.md                                          |  54 ++--
 README_ZH.md                                       |  81 ------
 docs/README_ZH.md                                  |  51 ----
 docs/cn/Application-toolkit-CN.md                  |  11 -
 docs/cn/Application-toolkit-log4j-1.x-CN.md        |  20 --
 docs/cn/Application-toolkit-log4j-2.x-CN.md        |  18 --
 docs/cn/Application-toolkit-logback-1.x-CN.md      |  21 --
 docs/cn/Application-toolkit-trace-CN.md            |  23 --
 .../Application-toolkit-trace-cross-thread-CN.md   |  47 ----
 docs/cn/Deploy-backend-in-cluster-mode-CN.md       | 122 ---------
 docs/cn/Deploy-backend-in-standalone-mode-CN.md    |  39 ---
 docs/cn/Deploy-skywalking-agent-CN.md              |  89 -------
 docs/cn/Direct-uplink-CN.md                        |  31 ---
 .../EnhanceRequireObjectCache-Cast-Exception-CN.md |  19 --
 ...mport-Project-Eclipse-RequireItems-Exception.md |  16 --
 docs/cn/FAQ/Kafka-plugin-CN.md                     |   8 -
 docs/cn/FAQ/Protoc-Plugin-Fails-When-Build-CN.md   |  11 -
 docs/cn/FAQ/Too-many-gRPC-logs-CN.md               |   9 -
 docs/cn/FAQ/Why-have-traces-no-others-CN.md        |  10 -
 docs/cn/How-to-build-CN.md                         |  51 ----
 docs/cn/How-to-disable-plugin-CN.md                |  19 --
 docs/cn/Namespace-CN.md                            |  37 ---
 docs/cn/Opentracing-CN.md                          |  15 --
 docs/cn/Optional-plugins-CN.md                     |  21 --
 docs/cn/Plugin-Development-Guide-CN.md             | 283 ---------------------
 docs/cn/Quick-start-CN.md                          |   8 -
 docs/cn/Setting-override-CN.md                     |  34 ---
 ...s-Process-Propagation-Headers-Protocol-CN-v1.md |  63 -----
 docs/cn/TLS-CN.md                                  |  43 ----
 docs/cn/Token-auth-CN.md                           |  45 ----
 docs/cn/Trace-Data-Protocol-CN.md                  | 254 ------------------
 .../Use-ShardingJDBC-as-storage-implementor-CN.md  |  21 --
 docs/en/OAP/README.md                              | 165 ++++++------
 33 files changed, 120 insertions(+), 1619 deletions(-)

diff --git a/README.md b/README.md
index 52de90d..d030b72 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@ Apache SkyWalking
 
 <img src="https://skywalkingtest.github.io/page-resources/3.0/skywalking.png"; 
alt="Sky Walking logo" height="90px" align="right" />
 
-**SkyWalking**: APM (application performance monitor) tool for distributed 
systems, especially designed for 
+**SkyWalking**: an observability analysis platform, also an APM(application 
performance monitor) system, especially designed for 
 microservices, cloud native and container-based (Docker, Kubernetes, Mesos) 
architectures.
 
 [![GitHub 
stars](https://img.shields.io/github/stars/apache/incubator-skywalking.svg?style=for-the-badge&label=Stars&logo=github)](https://github.com/apache/incubator-skywalking)
@@ -16,40 +16,44 @@ microservices, cloud native and container-based (Docker, 
Kubernetes, Mesos) arch
 [![OpenTracing-1.x 
Badge](https://img.shields.io/badge/OpenTracing--1.x-enabled-blue.svg)](http://opentracing.io)
 
 # Abstract
-**SkyWalking** started as a distributed tracing system in 2015. From 5.x, it 
evolved to the fully functional [Application Performance 
Management](https://en.wikipedia.org/wiki/Application_performance_management) 
-system. It is used for tracing, monitoring, diagnose distributed systems, 
especially based on microservices, cloud native and container,
-including:
-- Distributed tracing and context propagation
-- Application, instance, service metrics analysis
+**SkyWalking** provides the observability and analysis platform, including 
monitoring, tracing, diagnosing capabilities for distributed system.
+
+- Service, service instance, endpoint metrics analysis
 - Root cause analysis
-- Application topology map analysis
-- Application and service dependency analysis
-- Slow service detected
+- Service topology map analysis
+- Service, service instance and endpoint dependency analysis
+- Slow services and endpoints detected
 - Performance optimization
+- Distributed tracing and context propagation
+- Alarm
+
+<img src="https://skywalkingtest.github.io/page-resources/6_overview.png"/>
 
-# Core features
-- Multiple languages instrumentation agent or libraries 
-  - Native Java auto instrumentation agent. Trace and monitor your cluster 
without changing any source codes
-  - Community instrumentation agent or libraries
+
+SkyWalking provides multiple probes to collect data from different sources.
+- SkyWalking native instrument agents or SDKs
+  - Auto instrument agents
+    * Java. Included in official release.
     * [.NET Core](https://github.com/OpenSkywalking/skywalking-netcore) 
     * [Node.js](https://github.com/OpenSkywalking/skywalking-nodejs)
-- Multiple storage backends: ElasticSearch, H2
-- [OpenTracing](http://opentracing.io/) compatible
-  - Native Java auto instrumentation agent could work with OpenTracing APIs in 
the same context
-- Lightweight and powerful backend aggregation and analysis capabilities
-- Modern and cool Web UI
-- Log integration
-- Alarm for slow or unstable(low SLA) application, instance and service 
-- [**Incubating**] Support accepting other tracer data formats.
+  - SDKs
+    * OpenCensus with SkyWalking exporter.
+- Service mesh control panel or data panel probes.
+  - Istio mixer adaptor.
+  - Linkerd.
+- 3rd party data tracing format.
   - Zipkin JSON, Thrift, Protobuf v1 and v2 formats, powered by 
[OpenZipkin](https://github.com/openzipkin/zipkin) libs
-  - Jaeger in [Zipkin Thrift or JSON v1/v2 
formats](https://github.com/jaegertracing/jaeger#backwards-compatibility-with-zipkin)
+  - Jaeger in [Zipkin Thrift or JSON v1/v2 
formats](https://github.com/jaegertracing/jaeger#backwards-compatibility-with-zipkin).
+
+# Recommend and typical usages
+1. All service are under SkyWalking native agents or SDKs monitoring.
+2. Service mesh probes.
+3. Service mesh probes + distributed tracing(SkyWalking's or 3rd-party's).
+
 
 # Document
 - [Documents in English](docs/README.md)
-- [Documents in Chinese](docs/README_ZH.md)
 
-# 5.x Architecture
-<img 
src="https://skywalkingtest.github.io/page-resources/5.0/architecture.png"/>
 
 # Code of conduct
 This project adheres to the Contributor Covenant [code of 
conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this 
code. Please report unacceptable behavior to wush...@apache.org.
diff --git a/README_ZH.md b/README_ZH.md
deleted file mode 100644
index d93527f..0000000
--- a/README_ZH.md
+++ /dev/null
@@ -1,81 +0,0 @@
-Apache SkyWalking | [English](README.md)
-==========
-
-<img src="https://skywalkingtest.github.io/page-resources/3.0/skywalking.png"; 
alt="Sky Walking logo" height="90px" align="right" />
-
-**SkyWalking**: 针对分布式系统的APM(应用性能监控)系统,特别针对微服务、cloud native和容器化(Docker, 
Kubernetes, Mesos)架构
-
-[![GitHub 
stars](https://img.shields.io/github/stars/apache/incubator-skywalking.svg?style=for-the-badge&label=Stars&logo=github)](https://github.com/apache/incubator-skywalking)
-[![Twitter 
Follow](https://img.shields.io/twitter/follow/asfskywalking.svg?style=for-the-badge&label=Follow&logo=twitter)](https://twitter.com/AsfSkyWalking)
-
-
-[![Maven 
Central](https://img.shields.io/maven-central/v/org.apache.skywalking/apache-skywalking-apm-incubating.svg)](http://skywalking.apache.org/downloads/)
-[![Build 
Status](https://travis-ci.org/apache/incubator-skywalking.svg?branch=master)](https://travis-ci.org/apache/incubator-skywalking)
-[![Join the chat at 
https://gitter.im/openskywalking/Lobby](https://badges.gitter.im/openskywalking/Lobby.svg)](https://gitter.im/openskywalking/Lobby)
-[![OpenTracing-1.x 
Badge](https://img.shields.io/badge/OpenTracing--1.x-enabled-blue.svg)](http://opentracing.io)
-
-# Abstract
-**SkyWalking** 创建于2015年,提供分布式追踪功能。从5.x开始,项目进化为一个完成功能的[Application Performance 
Management](https://en.wikipedia.org/wiki/Application_performance_management)系统。
-他被用于追踪、监控和诊断分布式系统,特别是使用微服务架构,云原生或容积技术。提供以下主要功能:
-- 分布式追踪和上下文传输
-- 应用、实例、服务性能指标分析
-- 根源分析
-- 应用拓扑分析
-- 应用和服务依赖分析
-- 慢服务检测
-- 性能优化
-
-# Core features
-- 多语言探针或类库
-  - Java自动探针,追踪和监控程序时,不需要修改源码。
-  - 社区提供的其他多语言探针
-    * [.NET Core](https://github.com/OpenSkywalking/skywalking-netcore) 
-    * [Node.js](https://github.com/OpenSkywalking/skywalking-nodejs)
-- 多种后端存储: ElasticSearch, H2
-- 支持[OpenTracing](http://opentracing.io/)
-  - Java自动探针支持和OpenTracing API协同工作
-- 轻量级、完善功能的后端聚合和分析
-- 现代化Web UI
-- 日志集成
-- 应用、实例和服务的告警
-- [**Incubating**]支持接口其他探针的数据
-  - 接受Zipkin v1 v2格式数据,采用JSON, Thrift, Protobuf序列化方式。Powered by 
[OpenZipkin](https://github.com/openzipkin/zipkin) libs 
-  - 接受Jaeger 使用 [Zipkin Thrift 或 JSON v1/v2 
格式](https://github.com/jaegertracing/jaeger#backwards-compatibility-with-zipkin)
-
-# Document
-- [英文文档](docs/README.md)
-- [中文文档](docs/README_ZH.md)
-
-# 5.x Architecture
-<img 
src="https://skywalkingtest.github.io/page-resources/5.0/architecture.png"/>
-
-# code of conduct
-This project adheres to the Contributor Covenant [code of 
conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this 
code. Please report unacceptable behavior to wush...@apache.org.
-
-
-# Live Demo
-- 北京服务器. [前往](http://49.4.12.44:8080/)
-
-# Screenshot
-<img 
src="https://skywalkingtest.github.io/page-resources/5.0.0-beta/Dashboard.png"/>
-
-
-- [查看所有系统截图](/docs/Screenshots.md)
-
-# Compiling project
-查看[编译指南](https://github.com/apache/incubator-skywalking/blob/master/docs/cn/How-to-build-CN.md)
-
-# Contact Us
-* 直接提交Issue
-- 订阅邮件列表: d...@skywalking.apache.org
-* [Gitter](https://gitter.im/openskywalking/Lobby)
-* QQ群: 392443393
-
-# Users
-<img 
src="https://skywalkingtest.github.io/page-resources/users/users-2018-06-07.png"/>
-
-[报告新的用户案例](https://github.com/apache/incubator-skywalking/issues/443)
-
-
-# License
-[Apache 2.0 License.](/LICENSE)
diff --git a/docs/README_ZH.md b/docs/README_ZH.md
deleted file mode 100644
index 55230f1..0000000
--- a/docs/README_ZH.md
+++ /dev/null
@@ -1,51 +0,0 @@
-## 中文文档
-[![EN doc](https://img.shields.io/badge/document-English-blue.svg)](README.md)
-
-注:中文文档由社区志愿者提供,官方文档以英文为准。
-
-  * 快速入门
-    * [快速入门](cn/Quick-start-CN.md)
-    * [中间件,框架与类库支持列表](Supported-list.md)
-        * [如何关闭特定插件](cn/How-to-disable-plugin-CN.md)
-        * [可选插件](cn/Optional-plugins-CN.md)
-  * 高级特性
-    * [通过系统启动参数进行覆盖配置](cn/Setting-override-CN.md)
-    * [服务直连(Direct uplink)及禁用名称服务(naming service)](cn/Direct-uplink-CN.md)
-    * [开启TLS](cn/TLS-CN.md)
-    * [命名空间隔离](cn/Namespace-CN.md)
-    * [基于Token认证](cn/Token-auth-CN.md)
-  * 孵化特性
-    * 
[个性化服务过滤](../apm-sniffer/optional-plugins/trace-ignore-plugin/README_CN.md)
-    * [使用Shardingjdbc作为存储实现](cn/Use-ShardingJDBC-as-storage-implementor-CN.md)
-  * APM相关介绍资料
-    * 
[OpenTracing中文版](https://github.com/opentracing-contrib/opentracing-specification-zh)
-  * Application Toolkit,应用程序工具包
-    * [概述](cn/Application-toolkit-CN.md)
-    * [使用SkyWalking的OpenTracing的兼容API](cn/Opentracing-CN.md)
-    * 日志组件集成
-      * [log4j组件](cn/Application-toolkit-log4j-1.x-CN.md)
-      * [log4j2组件](cn/Application-toolkit-log4j-2.x-CN.md)
-      * [logback组件](cn/Application-toolkit-logback-1.x-CN.md)
-    * [使用SkyWalking手动追踪API](cn/Application-toolkit-trace-CN.md)
-    * [跨线程任务追踪](cn/Application-toolkit-trace-cross-thread-CN.md) 
-  * 测试用例
-    * [插件测试](https://github.com/SkywalkingTest/agent-integration-test-report)
-    * [Java 
探针性能测试](https://skywalkingtest.github.io/Agent-Benchmarks/README_zh.html)
-  * 开发指南
-    * [工程编译指南](cn/How-to-build-CN.md)
-    * [插件开发指南](cn/Plugin-Development-Guide-CN.md)
-    * 交互协议
-        * [Cross Process Propagation Headers Protocol, v1.0  
跨进程追踪上下文传递协议](cn/Skywalking-Cross-Process-Propagation-Headers-Protocol-CN-v1.md)
-        * [SkyWalking Trace Data Protocol 
探针与Collector间网络协议](cn/Trace-Data-Protocol-CN.md)
-  * [Roadmap](ROADMAP.md)
-  * 社区提供的共享资源
-    * [公开演讲](https://github.com/OpenSkywalking/Community#public-speakings)
-    * [视频](https://github.com/OpenSkywalking/Community#videos)
-    * [文章](https://github.com/OpenSkywalking/Community#articles)
-  * FAQ
-    * [Trace查询有数据,但是没有拓扑图和JVM数据?](cn/FAQ/Why-have-traces-no-others-CN.md)
-    * [加载探针,Console被GRPC日志刷屏](cn/FAQ/Too-many-gRPC-logs-CN.md)
-    * [Kafka消息消费端链路断裂](cn/FAQ/Kafka-plugin-CN.md)
-    * [Protoc-Plugin Maven编译时异常](cn/FAQ/Protoc-Plugin-Fails-When-Build-CN.md)
-    * [EnhanceRequireObjectCache 
类转换异常](cn/FAQ/EnhanceRequireObjectCache-Cast-Exception-CN.md)
-    * 
[skywalking导入eclipse依赖项目异常](cn/FAQ/Import-Project-Eclipse-RequireItems-Exception.md)
diff --git a/docs/cn/Application-toolkit-CN.md 
b/docs/cn/Application-toolkit-CN.md
deleted file mode 100644
index e3551fb..0000000
--- a/docs/cn/Application-toolkit-CN.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# 什么是sky-walking应用程序工具包?
-Sky-walking应用程序工具包是一系列的类库,由skywalking团队提供。通过这些类库,你可以在你的应用程序内,访问sky-walking的一些内部信息.
-
-_**最为重要的是**_, 即使你移除skywalking的探针,或者不激活探针,这些类库也不会对应用程序有任何影响,也不会影响性能.
-
-# 工具包提供以下核心能力
-1. 将追踪信息和log组件集成,如log4j, log4j2 和 logback
-1. 兼容CNCF OpenTracing标准的手动埋点
-1. 使用Skywalking专有的标注和交互性API
-
-_**注意**: 所有的应用程序工具包都托管在bitray.com/jcenter. 
同时请确保你使用的开发工具包和skywalking的agent探针版本一致._
\ No newline at end of file
diff --git a/docs/cn/Application-toolkit-log4j-1.x-CN.md 
b/docs/cn/Application-toolkit-log4j-1.x-CN.md
deleted file mode 100644
index bf4891f..0000000
--- a/docs/cn/Application-toolkit-log4j-1.x-CN.md
+++ /dev/null
@@ -1,20 +0,0 @@
-* 使用 maven 和 gradle 依赖相应的工具包
-```xml
-   <dependency>
-      <groupId>org.apache.skywalking</groupId>
-      <artifactId>apm-toolkit-log4j-1.x</artifactId>
-      <version>{project.release.version}</version>
-   </dependency>
-```
-
-* 配置layout
-```properties
-log4j.appender.CONSOLE.layout=TraceIdPatternLayout
-```
-
-* 在`layout.ConversionPattern`中设置 `%T`来展示traceid ( 在 2.0-2016版本中, 你应该设置为 %x, 
[为什么改变配置,请参考相关issue?](https://github.com/wu-sheng/sky-walking/issues/77) )
-```properties
-log4j.appender.CONSOLE.layout.ConversionPattern=%d [%T] %-5p %c{1}:%L - %m%n
-```
-
-* 当你使用`-javaagent`参数激活sky-walking的探针, 
如果当前上下文中存在traceid,log4j将在输出**traceId**。如果探针没有被激活,将输出`TID: N/A`.
diff --git a/docs/cn/Application-toolkit-log4j-2.x-CN.md 
b/docs/cn/Application-toolkit-log4j-2.x-CN.md
deleted file mode 100644
index a9c4e51..0000000
--- a/docs/cn/Application-toolkit-log4j-2.x-CN.md
+++ /dev/null
@@ -1,18 +0,0 @@
-* 使用 maven 和 gradle 依赖相应的工具包
-```xml
-   <dependency>
-      <groupId>org.apache.skywalking</groupId>
-      <artifactId>apm-toolkit-log4j-2.x</artifactId>
-      <version>{project.release.version}</version>
-   </dependency>
-```
-
-* 在log4j2.xml中的pattern 配置节,配置`[%traceId]`
-```xml
-   <Appenders>
-      <Console name="Console" target="SYSTEM_OUT">
-         <PatternLayout pattern="%d [%traceId] %-5p %c{1}:%L - %m%n"/>
-      </Console>
-   </Appenders>
-```
-* 当你使用`-javaagent`参数激活sky-walking的探针, 
如果当前上下文中存在traceid,log4j2将在输出**traceId**。如果探针没有被激活,将输出`TID: N/A`.
diff --git a/docs/cn/Application-toolkit-logback-1.x-CN.md 
b/docs/cn/Application-toolkit-logback-1.x-CN.md
deleted file mode 100644
index 2a18f11..0000000
--- a/docs/cn/Application-toolkit-logback-1.x-CN.md
+++ /dev/null
@@ -1,21 +0,0 @@
-* 使用 maven 和 gradle 依赖相应的工具包
-```xml
-   <dependency>
-      <groupId>org.apache.skywalking</groupId>
-      <artifactId>apm-toolkit-logback-1.x</artifactId>
-      <version>{project.release.version}</version>
-   </dependency>
-```
-
-* 在logback.xml中的`Pattern`配制节中,设置`%tid`
-```xml
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
-            <layout 
class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
-                <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level 
%logger{36} -%msg%n</Pattern>
-            </layout>
-        </encoder>
-    </appender>
-```
-
-* 当你使用`-javaagent`参数激活sky-walking的探针, 
如果当前上下文中存在traceid,logback将在输出**traceId**。如果探针没有被激活,将输出`TID: N/A`.
diff --git a/docs/cn/Application-toolkit-trace-CN.md 
b/docs/cn/Application-toolkit-trace-CN.md
deleted file mode 100644
index c0f58c7..0000000
--- a/docs/cn/Application-toolkit-trace-CN.md
+++ /dev/null
@@ -1,23 +0,0 @@
-* 使用 maven 和 gradle 依赖相应的工具包
-```xml
-   <dependency>
-      <groupId>org.apache.skywalking</groupId>
-      <artifactId>apm-toolkit-trace</artifactId>
-      <version>${skywalking.version}</version>
-   </dependency>
-```
-
-* 随时使用 `TraceContext.traceId()` API,在应用程序的任何地方获取traceId.
-```java
-import TraceContext;
-...
-
-modelAndView.addObject("traceId", TraceContext.traceId());
-```
-_示例代码,仅供参考_
-
-* 对任何需要追踪的方法,使用 `@Trace` 标注,则此方法会被加入到追踪链中。
-* 在被追踪的方法中自定义 tag.
-```java
-ActiveSpan.tag("my_tag", "my_value");
-```
diff --git a/docs/cn/Application-toolkit-trace-cross-thread-CN.md 
b/docs/cn/Application-toolkit-trace-cross-thread-CN.md
deleted file mode 100644
index 4094ebe..0000000
--- a/docs/cn/Application-toolkit-trace-cross-thread-CN.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# 跨线程追踪
-* 使用 maven 和 gradle 依赖相应的工具包
-```xml
-   <dependency>
-      <groupId>org.apache.skywalking</groupId>
-      <artifactId>apm-toolkit-trace</artifactId>
-      <version>${skywalking.version}</version>
-   </dependency>
-```
-
-* 使用方式一.
-```java
-    @TraceCrossThread
-    public static class MyCallable<String> implements Callable<String> {
-        @Override
-        public String call() throws Exception {
-            return null;
-        }
-    }
-...
-    ExecutorService executorService = Executors.newFixedThreadPool(1);
-    executorService.submit(new MyCallable());
-```
-* 使用方式二.
-```java
-    ExecutorService executorService = Executors.newFixedThreadPool(1);
-    executorService.submit(CallableWrapper.of(new Callable<String>() {
-        @Override public String call() throws Exception {
-            return null;
-        }
-    }));
-```
-或者
-```java
-    ExecutorService executorService = Executors.newFixedThreadPool(1);
-    executorService.execute(RunnableWrapper.of(new Runnable() {
-        @Override public void run() {
-            //your code
-        }
-    }));
-```
-_示例代码,仅供参考_
-
-
-
-
-
diff --git a/docs/cn/Deploy-backend-in-cluster-mode-CN.md 
b/docs/cn/Deploy-backend-in-cluster-mode-CN.md
deleted file mode 100644
index d506d0a..0000000
--- a/docs/cn/Deploy-backend-in-cluster-mode-CN.md
+++ /dev/null
@@ -1,122 +0,0 @@
-## 所需的第三方软件
-- 被监控程序要求JDK6+
-- SkyWalking collector和WebUI要求JDK8+
-- Elasticsearch 5.x
-- Zookeeper 3.4.10
-
-## 下载发布版本
-- 前向[发布页面](http://skywalking.apache.org/downloads/)
-
-## 部署Elasticsearch
-- 修改`elasticsearch.yml`文件
-  - 设置 `cluster.name: CollectorDBCluster`。此名称需要和collector配置文件一致。
-  - 设置 `node.name: anyname`, 可以设置为任意名字,如Elasticsearch为集群模式,则每个节点名称需要不同。
-  - 增加如下配置
-
-```
-# ES监听的ip地址
-network.host: 0.0.0.0
-thread_pool.bulk.queue_size: 1000
-```
-
-- 启动Elasticsearch
-
-### 部署collector
-1. 解压安装包`tar -xvf skywalking-collector.tar.gz`,windows用户可以选择zip包
-2. 设置Collector集群模式
-
-集群模式主要依赖Zookeeper的注册和应用发现能力。所以,你只需要调整 
`config/application.yml`中的host和port配置,使用实际IP和端口,代替默认配置。
-其次,将storage的注释取消,并修改为Elasticsearch集群的节点地址信息。
-
-
-- `config/application.yml`
-```
-cluster:
-# 配置zookeeper集群信息
-  zookeeper:
-    hostPort: localhost:2181
-    sessionTimeout: 100000
-naming:
-# 配置探针使用的host和port
-jetty:
-    host: localhost
-    port: 10800
-    contextPath: /
-remote:
-  gRPC:
-    host: localhost
-    port: 11800
-agent_gRPC:
-  gRPC:
-    host: localhost
-    port: 11800
-agent_jetty:
-  jetty:
-    host: localhost
-    port: 12800
-    contextPath: /
-analysis_register:
-  default:
-analysis_jvm:
-  default:
-analysis_segment_parser:
-  default:
-    bufferFilePath: ../buffer/
-    bufferOffsetMaxFileSize: 10M
-    bufferSegmentMaxFileSize: 500M
-ui:
-  jetty:
-    host: localhost
-    port: 12800
-    contextPath: /
-# 配置 Elasticsearch 集群连接信息
-storage:
-  elasticsearch:
-    clusterName: CollectorDBCluster
-    clusterTransportSniffer: true
-    clusterNodes: localhost:9300
-    indexShardsNumber: 2
-    indexReplicasNumber: 0
-    highPerformanceMode: true
-    # 设置统计指标数据的失效时间,当指标数据失效时系统将数据自动删除.
-    traceDataTTL: 90 # 单位为分
-    minuteMetricDataTTL: 90 # 单位为分
-    hourMetricDataTTL: 36 # 单位为小时
-    dayMetricDataTTL: 45 # 单位为天
-    monthMetricDataTTL: 18 # 单位为月
-configuration:
-  default:
-#     namespace: xxxxx
-# 告警阀值
-    applicationApdexThreshold: 2000
-    serviceErrorRateThreshold: 10.00
-    serviceAverageResponseTimeThreshold: 2000
-    instanceErrorRateThreshold: 10.00
-    instanceAverageResponseTimeThreshold: 2000
-    applicationErrorRateThreshold: 10.00
-    applicationAverageResponseTimeThreshold: 2000
-# 热力图配置,修改配置后需要删除热力指标统计表,由系统重建
-    thermodynamicResponseTimeStep: 50
-    thermodynamicCountOfResponseTimeSteps: 40
-```
-
-
-3. 运行`bin/startup.sh`启动。windows用户为.bat文件。
-
-
-### 部署UI
-
-1. 解压安装包 `tar -xvf skywalking-dist.tar.gz`,windows用户可以选择zip包
-2. 配置UI集群模式.
-
-UI的配置信息保存在 `webapp/webapp.yml` 中.
-
-| 配置项                            | 描述                                          
                                   |
-|----------------------------------|----------------------------------------------------------------------------------|
-| `server.port`                    | 监听端口                                      
                                    |
-| `collector.ribbon.listOfServers` | collector命名服务地址.(与 
`config/application.yml` 中的`naming.jetty`配置保持相同 ),多个Collector地址以`,`分割 |
-| `collector.path`                 | Collector查询uri. 默认: /graphql              
                                                            |
-| `collector.ribbon.ReadTimeout`   | 查询超时时间. 默认: 10 秒                          
                                                         |
-| `security.user.*`                | 登录用户名/密码. 默认: admin/admin                 
                                                         |
-
-3. 运行 `bin/webappService.sh`
diff --git a/docs/cn/Deploy-backend-in-standalone-mode-CN.md 
b/docs/cn/Deploy-backend-in-standalone-mode-CN.md
deleted file mode 100644
index 23c00bb..0000000
--- a/docs/cn/Deploy-backend-in-standalone-mode-CN.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# 用途说明
-单机模式默认使用本地H2数据库,不支持集群部署。主要用于:预览、功能测试、演示和低压力系统。
-
-如果使用单机collector用于非演示环境,你可选择使用Elasticsearch作为存储实现。
-
-**在5.0.0-alpha版本中,暂不提供H2实现, 所以在启动之前,必须先部署ElasticSearch**
-
-## 所需的第三方软件
-- JDK8+
-
-## 下载发布版本
-- 前向[发布页面](http://skywalking.apache.org/downloads/)
-
-## Quick Start
-Collector单机模拟启动简单,提供和集群模式相同的功能,单机模式下除端口(8080, 10800, 11800, 
12800)被占用的情况下,直接启动即可。
-
-## 部署后台服务
-1. 解压安装包`tar -xvf skywalking-collector.tar.gz`,windows用户可以选择zip包
-1. 运行`bin/startup.sh`启动。windows用户为.bat文件。
-
-- **注意:在5.0.0-alpha 
版本中,startup.sh将会启动collector和UI两个进程,UI通过127.0.0.1:10800访问本地collector,无需额外配置。**
-
-## 使用Elastic Search代替H2存储
-- 在单机模式下,`collector`也支持其他的存储(当前已支持的ElasticSearch 5.3),取消  
`application.yml`配置文件中的`storage` 相关配置节的注释,并修改配置,默认的配置是`collector`
-和 `Elasticsearch` 运行在同一台机器上。
-
-## 部署Elasticsearch
-- 修改`elasticsearch.yml`文件
-  - 设置 `cluster.name: CollectorDBCluster`。此名称需要和collector配置文件一致。
-  - 设置 `node.name: anyname`, 可以设置为任意名字,如Elasticsearch为集群模式,则每个节点名称需要不同。
-  - 增加如下配置
-
-```
-# ES监听的ip地址
-network.host: 0.0.0.0
-thread_pool.bulk.queue_size: 1000
-```
-
-- 启动Elasticsearch
diff --git a/docs/cn/Deploy-skywalking-agent-CN.md 
b/docs/cn/Deploy-skywalking-agent-CN.md
deleted file mode 100644
index 1dd07aa..0000000
--- a/docs/cn/Deploy-skywalking-agent-CN.md
+++ /dev/null
@@ -1,89 +0,0 @@
-## 下载skywalking探针发布版本
-- 前向[发布页面](http://skywalking.apache.org/downloads/)
-
-## 部署探针
-1. 拷贝skywalking-agent目录到所需位置,探针包含整个目录,请不要改变目录结构
-1. 
增加JVM启动参数,`-javaagent:/path/to/skywalking-agent/skywalking-agent.jar`。参数值为skywalking-agent.jar的绝对路径。
-
-新目录结构如下:
-```
-+-- skywalking-agent
-    +-- activations
-         apm-toolkit-log4j-1.x-activation.jar
-         apm-toolkit-log4j-2.x-activation.jar
-         apm-toolkit-logback-1.x-activation.jar
-         ...
-    +-- config
-         agent.config  
-    +-- plugins
-         apm-dubbo-plugin.jar
-         apm-feign-default-http-9.x.jar
-         apm-httpClient-4.x-plugin.jar
-         .....
-    skywalking-agent.jar
-```
-
-- `/config/agent.config`包含探针所需配置,中文说明如下。
-
-```properties
-# 当前的应用编码,最终会显示在webui上。
-# 建议一个应用的多个实例,使用有相同的application_code。请使用英文
-agent.application_code=Your_ApplicationName
-
-# 每三秒采样的Trace数量
-# 默认为负数,代表在保证不超过内存Buffer区的前提下,采集所有的Trace
-# agent.sample_n_per_3_secs=-1
-
-# 设置需要忽略的请求地址
-# 默认配置如下
-# 
agent.ignore_suffix=.jpg,.jpeg,.js,.css,.png,.bmp,.gif,.ico,.mp3,.mp4,.html,.svg
-
-# 探针调试开关,如果设置为true,探针会将所有操作字节码的类输出到/debugging目录下
-# skywalking团队可能在调试,需要此文件
-# agent.is_open_debugging_class = true
-
-# 对应Collector的config/application.yml配置文件中 agent_server/jetty/port 配置内容
-# 例如:
-# 单节点配置:SERVERS="127.0.0.1:8080" 
-# 集群配置:SERVERS="10.2.45.126:8080,10.2.45.127:7600" 
-collector.servers=127.0.0.1:10800
-
-# 日志文件名称前缀
-logging.file_name=skywalking-agent.log
-
-# 日志文件最大大小
-# 如果超过此大小,则会生成新文件。
-# 默认为300M
-logging.max_file_size=314572800
-
-# 日志级别,默认为DEBUG。
-logging.level=DEBUG
-```
-
-- 启动被监控应用。
-
-# 高级特性
-- 插件会被统一放置在`plugins`目录中,新的插件,也只需要在启动阶段,放在目录中,就自动生效。删除则失效。
-- 配置除了通过`/config/agent.config`文件外,可以通过环境变量和VM参数(-D)来进行设置
-  - 参数的key = `skywalking.` + `agent.config`文件中的key
-  - 优先级:系统环境变量 > VM参数(-D) > `/config/agent.config`中的配置
-- Log默认使用文件输出,输出到`/logs`目录中
-
-# Tomcat配置探针FAQ
-- Linux Tomcat 7, Tomcat 8  
-修改`tomcat/bin/catalina.sh`,在首行加入如下信息
-```shell
-CATALINA_OPTS="$CATALINA_OPTS 
-javaagent:/path/to/skywalking-agent/skywalking-agent.jar"; export CATALINA_OPTS
-```
-
-- Windows Tomcat 7, Tomcat 8  
-修改`tomcat/bin/catalina.bat`,在首行加入如下信息
-```shell
-set "CATALINA_OPTS=-javaagent:/path/to/skywalking-agent/skywalking-agent.jar"
-```
-- JAR 部署  
-修改启动命令添加启动参数`-javaagent`
- ```shell
- java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar -jar 
yourApp.jar
- ```
-
diff --git a/docs/cn/Direct-uplink-CN.md b/docs/cn/Direct-uplink-CN.md
deleted file mode 100644
index 096d570..0000000
--- a/docs/cn/Direct-uplink-CN.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# 服务直连(Direct uplink)
-## 版本支持
-5.0.0-beta +
-
-## 什么是服务直连(Direct uplink)?
-默认情况下, `SkyWalking`探针使用 名称服务(naming service,即通过名称获取服务地址)的形式获取 
`collector`的地址连接gRPC服务.
-
- **服务直连** 意味着在名称服务不可用或者低可用的情况下,在探针端直接使用设置的gRPC的地址进行连接.
-
-## 为什么需要这样做?
-如果探针通过以下代理上报数据:
-1. 私有云(VPCs)
-1. 公网(Internet)
-1. 不同的子网(subnet).
-1. Ip,Port代理
-
-## 探针配置
-1. 去掉配置 `collector.servers` .
-2. 在 `agent.config`中按照如下配置
-```
-# Collector agent_gRPC/grpc 地址.
-# 仅仅当不配置的"collector.servers"的时候生效,作为第二种配置地址选择.
-# 如果使用此配置,自动发现服务将无法使用,探针将直接使用此地址进行数据上报.
-# 仅仅当探针端无法连接到`collector`的集群 ip地址时,我们才推荐使用这种配置,比如:
-#   1. 探针和 `collector`在不同的私有云当中.
-#   2. 探针通过外网上报数据到 `collector`.
-# collector.direct_servers=www.skywalking.service.io
-```  
-
-3. 可以只用域名或者IP:PORT形式(逗号分割) 来设置`collector.direct_servers`.
-
diff --git a/docs/cn/FAQ/EnhanceRequireObjectCache-Cast-Exception-CN.md 
b/docs/cn/FAQ/EnhanceRequireObjectCache-Cast-Exception-CN.md
deleted file mode 100644
index 63f7c86..0000000
--- a/docs/cn/FAQ/EnhanceRequireObjectCache-Cast-Exception-CN.md
+++ /dev/null
@@ -1,19 +0,0 @@
-### 现象
-agent 
启动日志出现如下错误,无法将`EnhanceRequireObjectCache`转换为`EnhanceRequireObjectCache`,无法正常上报数据
-```java
-ERROR 2018-05-07 21:31:24 InstMethodsInter :  class[class 
org.springframework.web.method.HandlerMethod] after method[getBean] intercept 
failure
-java.lang.ClassCastException: 
org.apache.skywalking.apm.plugin.spring.mvc.commons.EnhanceRequireObjectCache 
cannot be cast to 
org.apache.skywalking.apm.plugin.spring.mvc.commons.EnhanceRequireObjectCache
-       at 
org.apache.skywalking.apm.plugin.spring.mvc.commons.interceptor.GetBeanInterceptor.afterMethod(GetBeanInterceptor.java:45)
-       at 
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:105)
-       at 
org.springframework.web.method.HandlerMethod.getBean(HandlerMethod.java)
-       at 
org.springframework.web.servlet.handler.AbstractHandlerMethodExceptionResolver.shouldApplyTo(AbstractHandlerMethodExceptionResolver.java:47)
-       at 
org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.resolveException(AbstractHandlerExceptionResolver.java:131)
-       at 
org.springframework.web.servlet.handler.HandlerExceptionResolverComposite.resolveException(HandlerExceptionResolverComposite.java:76)
-       ...
-```
-
-### 原因
-此类错误见于开发环境使用了热部署(`spring-boot-devtool`)或者其他类似的工具, `classloader` 变更导致.
-### 解决方法
-1. 
此错误不会影响生产环境使用[spring-boot-devtools说明](https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html)
-2. 开发环境如果想正常调试,可以暂时在开发环境去掉此包进行调试.
diff --git a/docs/cn/FAQ/Import-Project-Eclipse-RequireItems-Exception.md 
b/docs/cn/FAQ/Import-Project-Eclipse-RequireItems-Exception.md
deleted file mode 100644
index 854bb87..0000000
--- a/docs/cn/FAQ/Import-Project-Eclipse-RequireItems-Exception.md
+++ /dev/null
@@ -1,16 +0,0 @@
-### 现象
-- 导入skywalking工程到eclipse,遇到如下异常
-- Cannot complete the install because one or more required items could not be 
found.
-  Software being installed: Checkstyle configuration plugin for M2Eclipse 
1.0.0.201705301746 
(com.basistech.m2e.code.quality.checkstyle.feature.feature.group 
-  1.0.0.201705301746)
-  Missing requirement: Checkstyle configuration plugin for M2Eclipse 
1.0.0.201705301746 
(com.basistech.m2e.code.quality.checkstyle.feature.feature.group  
-  1.0.0.201705301746) requires 'net.sf.eclipsecs.core 5.2.0' but it could not 
be found
-
-### 原因
-未安装Eclipse Checkstyle Plug-in插件
-
-### 解决方法
-用这个地址下载https://sourceforge.net/projects/eclipse-cs/?source=typ_redirect,Eclipse
 Checkstyle Plug-in 版本号8.7.0.201801131309 插件安装就可以了。
-插件说明:
-The Eclipse Checkstyle plug-in integrates the Checkstyle Java code auditor 
into the Eclipse IDE. The plug-in provides real-time feedback to the user about 
-violations of rules that check for coding style and possible error prone code 
constructs.
\ No newline at end of file
diff --git a/docs/cn/FAQ/Kafka-plugin-CN.md b/docs/cn/FAQ/Kafka-plugin-CN.md
deleted file mode 100644
index b5c093d..0000000
--- a/docs/cn/FAQ/Kafka-plugin-CN.md
+++ /dev/null
@@ -1,8 +0,0 @@
-### 现象
-Kafka消息消费端链路断裂
-
-### 原因
-Kafka探针只是追踪了对Kafka的拉取动作,而整个后续处理过程不是由kafka consumer发起。故,需要在消费处理的发起点,进行手动埋点。
-
-### 解决方法
- 可以通过Application Toolkit中的 `@Trace` 标注,或者OpenTracing API进行手动埋点。
diff --git a/docs/cn/FAQ/Protoc-Plugin-Fails-When-Build-CN.md 
b/docs/cn/FAQ/Protoc-Plugin-Fails-When-Build-CN.md
deleted file mode 100644
index b7ca7a0..0000000
--- a/docs/cn/FAQ/Protoc-Plugin-Fails-When-Build-CN.md
+++ /dev/null
@@ -1,11 +0,0 @@
-### 现象
- maven编译加载protoc-plugins插件产生如下错误:
-```
-[ERROR] Failed to execute goal 
org.xolstice.maven.plugins:protobuf-maven-plugin:0.5.0:compile-custom (default) 
on project apm-network: Unable to copy the file to 
\incubator-skywalking\apm-network\target\protoc-plugins: 
\incubator-skywalking\apm-network\target\protoc-plugins\protoc-3.3.0-linux-x86_64.exe
 (另一个程序正在使用此文件,进程无法访问。) -> [Help 1]
-```
-
-### 原因
- Protobuf编译器依赖于glibc环境,部分linux操作系统未安装或未升级该函数库会产生该问题。
-
-### 解决方法
- 
检查并升级最新版本glibc库,若使用容器镜像环境推荐含有最新版本glibc的alpine系统。请参考官方手册:http://www.gnu.org/software/libc/documentation.html
diff --git a/docs/cn/FAQ/Too-many-gRPC-logs-CN.md 
b/docs/cn/FAQ/Too-many-gRPC-logs-CN.md
deleted file mode 100644
index 3c56e8d..0000000
--- a/docs/cn/FAQ/Too-many-gRPC-logs-CN.md
+++ /dev/null
@@ -1,9 +0,0 @@
-### 现象
-1. 加载探针并启动应用
-2. Console中被GRPC日志刷屏
-
-### 原因
-Skywalking采用了GRPC框架发送数据,GRPC框架读取log的配置文件进行日志输出。
-
-### 解决方法
-在log的配置文件中添加对`org.apache.skywalking.apm.dependencies`包的过滤
diff --git a/docs/cn/FAQ/Why-have-traces-no-others-CN.md 
b/docs/cn/FAQ/Why-have-traces-no-others-CN.md
deleted file mode 100644
index 9faa95f..0000000
--- a/docs/cn/FAQ/Why-have-traces-no-others-CN.md
+++ /dev/null
@@ -1,10 +0,0 @@
-### 现象
-- Agent和Collector正常工作,没有异常日志
-- 已经对系统进行过访问,Trace查询有数据
-- UI除Trace查询页面外,其他页面无数据
-
-### 原因
-Collector和被监控应用的系统主机时间,没有同步。
-
-### 解决方法
-同步各主机操作系统时间。
diff --git a/docs/cn/How-to-build-CN.md b/docs/cn/How-to-build-CN.md
deleted file mode 100644
index 461ca2d..0000000
--- a/docs/cn/How-to-build-CN.md
+++ /dev/null
@@ -1,51 +0,0 @@
-## 工程编译指南
-本文档用于指导开发者,在本地开发环境中编译工程。
-
-### 前言
-因为工程结构和代码依赖会随版本变化,如果读者熟悉travis-ci,则可直接参考[.travis.yml](../../.travis.yml)
-
-**工程使用Git Submodule,所以不建议使用GitHub的tag和release页面的源码下载,来编译工程**
-
-### 从GitHub下载代码编译
-1. 准备环境: git, jdk8,Maven
-1. `git clone https://github.com/apache/incubator-skywalking.git`
-1. `cd incubator-skywalking/`
-1. 切换到tag `git checkout [tagname]` (可选,当需要编译发行版本时,请是切换到指定分支)
-1. `git submodule init`
-1. `git submodule update`
-1. 执行`mvn clean package  -DskipTests`
-1. 生成包在`/dist`目录下(.tar.gz是linux环境,.zip是windows环境)
-
-### 从Apache源码镜像下载编译
-1. 准备环境: jdk8,Maven
-1. 执行`mvn clean package -DskipTests`
-1. 生成包在`/dist`目录下(.tar.gz是linux环境,.zip是windows环境)
-
-
-## 在IntelliJ IDEA中编译工程
-上述步骤在命令行中,能够很好的编译工程,但导入到编译器中的工程依然会有一些报错,我们需要进行几步简单的操作。
-1. 在IntelliJ Terminal中,执行`mvn compile -Dmaven.test.skip=true`进行编译
-1. 设置gRPC的自动生成代码目录,为源码目录
-  - 
**apm-protocol/apm-network/target/generated-sources/protobuf**目录下的`grpc-java`和`java`目录
-  - 
**apm-collector/apm-collector-remote/apm-remote-grpc-provider/target/generated-sources/protobuf**目录下的`grpc-java`和`java`目录
-
-## 编译Resin-3, Resin-4 和 Oracle JDBC 驱动插件
-为了遵守Apache关于协议(License)的相关要求,不符合Apache相关要求的类库所对应的Plugin不会自动编译。如需编译对应的插件,
-需要手动下载驱动或类库,并将文件拷贝到`ci-dependencies/`中,运行`mvn package`进行编译。
-
-`ci-dependencies/`下对应的类库文件名为:
-* resin-3.0.9.jar
-* resin-4.0.41.jar
-* ojdbc14-10.2.0.4.0.jar
-
-## FAQ
-### npm install超时失败
-如果在编译apm-webapp时碰到下载包失败问题,可以将apm-webapp中pom.xml中npm源地址修改为淘宝的源,在中国的访问速度可以大大提高.
-
-```
-<arguments>install --registry=https://registry.npmjs.org/</arguments>
-```
-修改为
-```
-<arguments>install --registry=https://registry.npm.taobao.org/</arguments>
-```
diff --git a/docs/cn/How-to-disable-plugin-CN.md 
b/docs/cn/How-to-disable-plugin-CN.md
deleted file mode 100644
index 84cfc82..0000000
--- a/docs/cn/How-to-disable-plugin-CN.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Disable plugins
-删除plugin目录下的相关jar包:`skywalking-agent/plugins/*.jar`
-
-```
-+-- skywalking-agent
-    +-- activations
-         apm-toolkit-log4j-1.x-activation.jar
-         apm-toolkit-log4j-2.x-activation.jar
-         apm-toolkit-logback-1.x-activation.jar
-         ...
-    +-- config
-         agent.config  
-    +-- plugins
-         apm-dubbo-plugin.jar
-         apm-feign-default-http-9.x.jar
-         apm-httpClient-4.x-plugin.jar
-         .....
-    skywalking-agent.jar
-```
\ No newline at end of file
diff --git a/docs/cn/Namespace-CN.md b/docs/cn/Namespace-CN.md
deleted file mode 100644
index dfd0eca..0000000
--- a/docs/cn/Namespace-CN.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# 命名空间
-## 版本支持
-5.0.0-beta +
-
-## 需求背景
-SkyWalking是一个用于从分布式系统收集指标的监控工具。 在实际环境中,一个非常大的分布式系统包括数百个应用程序,数千个应用程序实例。 
在这种情况下,更大可能的不止一个组,
-甚至还有一家公司正在维护和监控分布式系统。 他们每个人都负责不同的部分,不能共享某些指标。
-
-在这种情况下,命名空间就应运而生了,它用来隔离追踪和监控数据.
-
-## 配置命名空间
-### 在探针配置中配置 agent.namespace 
-```properties
-# The agent namespace
-# agent.namespace=default-namespace
-``` 
-
-默认情况下 `agent.namespace` 是没有配置的. 
-
-**影响**
-默认情况下,SkyWalking 设置的key是 `sw3`, 
更多信息查看[文档](Skywalking-Cross-Process-Propagation-Headers-Protocol-CN-v1.md).
-配置好 `agent.namespace` 之后,  key 就被设置为`namespace:sw3`.
-
-当双方使用不同的名称空间时,跨进程传播链会中断。
-
-### collector 中设置命名空间
-```yml
-configuration:
-  default:
-    namespace: xxxxx
-```
-
-**影响**
-1. 如果使用 `zookeeper`开启了集群模式,`zookeeper`的路径会变为带有命名空间前缀的的路径.
-1. 如果使用`Elasticsearch` 进行存储,所有的`type` 名称会带有命名空间的前缀.
-
-
diff --git a/docs/cn/Opentracing-CN.md b/docs/cn/Opentracing-CN.md
deleted file mode 100644
index 3bb3d2a..0000000
--- a/docs/cn/Opentracing-CN.md
+++ /dev/null
@@ -1,15 +0,0 @@
-* 使用 maven 和 gradle 依赖相应的工具包
-```xml
-   <dependency>
-      <groupId>org.apache.skywalking</groupId>
-      <artifactId>apm-toolkit-opentracing</artifactId>
-      <version>{project.release.version}</version>
-   </dependency>
-```
-
-* 使用OpenTracing的标准API和桥接器,使用手动埋点
-```java
-Tracer tracer = new 
org.apache.skywalking.apm.toolkit.opentracing.SkywalkingTracer();
-Tracer.SpanBuilder spanBuilder = 
tracer.buildSpan("/yourApplication/yourService");
-
-```
diff --git a/docs/cn/Optional-plugins-CN.md b/docs/cn/Optional-plugins-CN.md
deleted file mode 100644
index fea8981..0000000
--- a/docs/cn/Optional-plugins-CN.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# 可选插件
-可选插件可以由源代码或者agent下的`optional-plugins`文件夹中提供。
-
-为了使用这些插件,你需要自己编译源代码,或将某些插件复制到`/plugins`。
-
-## Spring bean 插件
-这个插件允许在Spring上下文中追踪带有`@Bean`、 
`@Service`、`@Component`和`@Repository`注解的bean的所有方法。
-
-- 为什么这个插件是可选的?
-在Spring上下文中追踪所有方法会创建很多的span,也会消耗更多的CPU,内存和网络。  
-当然你希望包含尽可能多的span,但请确保你的系统有效负载能够支持这些。
-
-## Oracle and Resin 插件
-由于Oracle和Resin的License,这些插件无法在Apache发行版中提供。  
-如果你想了解详细信息,请阅读 [Apache license legal 
document](https://www.apache.org/legal/resolved.html)
-
-- 我们应该如何在本地构建这些可选插件?
-
-1. Resin 3: 下载Resin 3.0.9 并且把jar放在`/ci-dependencies/resin-3.0.9.jar`.
-1. Resin 4: 下载Resin 4.0.41 并且把jar放在`/ci-dependencies/resin-4.0.41.jar`.
-1. Oracle: 下载Oracle OJDBC-14 Driver 10.2.0.4.0 
并且把jar放在`/ci-dependencies/ojdbc14-10.2.0.4.0.jar`.
diff --git a/docs/cn/Plugin-Development-Guide-CN.md 
b/docs/cn/Plugin-Development-Guide-CN.md
deleted file mode 100644
index 83f1930..0000000
--- a/docs/cn/Plugin-Development-Guide-CN.md
+++ /dev/null
@@ -1,283 +0,0 @@
-## 插件开发指南
-这边文档描述插件的开发和贡献方法
-
-## 核心概念
-### 一. Span
-Span是追踪系统中的通用概念(有时候被翻译成埋点),关于Span的定义,请参考[OpenTracing 
中文版](https://github.com/opentracing-contrib/opentracing-specification-zh/blob/master/specification.md#opentracing数据模型)。
-
-SkyWalking作为OpenTracing的支持者,在核心实现中,与标准有较高的相似度。当然,作为实际产品的需要,我们一会扩展相关概念。
-
-我们将span分为三类:
-
-1.1 EntrySpan
-EntrySpan代表一个服务的提供方,即,服务端的入口点。它是每个Java对外服务的入口点。如:Web服务入口就是一个EntrySpan。
-
-1.2 LocalSpan
-LocalSpan代表一个普通的Span,代表任意一个本地逻辑块(或方法)
-
-1.3 ExitSpan
-ExitSpan也可以称为LeafSpan(SkyWalking的早期版本中的称呼),代表了一个远程服务的客户端调用。如:一次JDBC调用。
-
-### 二. ContextCarrier
-分布式追踪要解决的一个重要问题,就是跨进程调用链连接的问题,ContextCarrier的概念就是为了解决这种场景。
-
-当发生一次**A->B**的网络调用时:
-1. 创建一个空的ContextCarrier
-1. 
通过`ContextManager#createExitSpan`方法创建一个ExitSpan,或者使用`ContextManager#inject`,在过程中传入并初始化`ContextCarrier`
-1. 将`ContextCarrier`中所有元素放入请求头(如:HTTP头)或消息正文(如 Kafka)
-1. `ContextCarrier`随请求传输到服务端
-1. 服务端收到后,转换为新的ContextCarrier
-1. 
通过`ContestManager#createEntrySpan`方法创建EntrySpan,或者使用`ContextManager#extract`,建立分布式调用关联
-
-
-以HTTPComponent调用Tomcat为例:
-1. 客户端(HTTPComponent端)
-```java
-            span = ContextManager.createExitSpan("/span/operation/name", 
contextCarrier, "ip:port");
-            CarrierItem next = contextCarrier.items();
-            while (next.hasNext()) {
-                next = next.next();
-                httpRequest.setHeader(next.getHeadKey(), next.getHeadValue());
-            }
-```
-
-2. 服务端(Tomcat端)
-```java
-            ContextCarrier contextCarrier = new ContextCarrier();
-            CarrierItem next = contextCarrier.items();
-            while (next.hasNext()) {
-                next = next.next();
-                next.setHeadValue(request.getHeader(next.getHeadKey()));
-            }
-
-            span = ContextManager.createEntrySpan(“/span/operation/name”, 
contextCarrier);
-```
-
-### 三. ContextSnapshot
-除了跨进程的RPC调用,另外一种追踪的常见场景是跨线程保持链路连接。跨线程和跨进程有很高的相似度,都是需要完成上下文的传递工作。
-所以ContextSnapshot具有和ContextCarrier十分类似的API风格。
-
-当发生一次**A->B**的跨线程调用时:
-1. 需要在A线程中通过ContextManager#capture操作生成ContextSnapshot对象实例
-1. 将这个ContextSnapshot对象传递到B线程中
-1. B线程通过ContextManager#continued操作完成上下文传递
-
-## 核心API
-### 一. ContextManager
-ContextManager提供了追踪相关操作的主入口
-
-1. 创建EntrySpan
-```java
-public static AbstractSpan createEntrySpan(String operationName, 
ContextCarrier carrier)
-```
-通过服务名、跨进程传递的ContextCarrier,创建EntrySpan。
-
-2. 创建LocalSpan
-```java
-public static AbstractSpan createLocalSpan(String operationName)
-```
-根据服务名(或方法名),创建LocalSpan
-
-3. 创建ExitSpan
-```java
-public static AbstractSpan createExitSpan(String operationName, ContextCarrier 
carrier, String remotePeer)
-```
-根据服务名,跨进程传递的ContextCarrier(空容器)和远端服务地址(IP、主机名、域名 + 端口),创建ExitSpan
-
-### 二. AbstractSpan
-AbstractSpan提供了Span内部,进行操作的各项API
-
-```java
-    /**
-     * Set the component id, which defines in {@link ComponentsDefine}
-     *
-     * @param component
-     * @return the span for chaining.
-     */
-    AbstractSpan setComponent(Component component);
-
-    /**
-     * Only use this method in explicit instrumentation, like 
opentracing-skywalking-bridge.
-     * It it higher recommend don't use this for performance consideration.
-     *
-     * @param componentName
-     * @return the span for chaining.
-     */
-    AbstractSpan setComponent(String componentName);
-
-    AbstractSpan setLayer(SpanLayer layer);
-
-    /**
-     * Set a key:value tag on the Span.
-     *
-     * @return this Span instance, for chaining
-     */
-    AbstractSpan tag(String key, String value);
-
-    /**
-     * Record an exception event of the current walltime timestamp.
-     *
-     * @param t any subclass of {@link Throwable}, which occurs in this span.
-     * @return the Span, for chaining
-     */
-    AbstractSpan log(Throwable t);
-
-    AbstractSpan errorOccurred();
-
-    /**
-     * Record an event at a specific timestamp.
-     *
-     * @param timestamp The explicit timestamp for the log record.
-     * @param event the events
-     * @return the Span, for chaining
-     */
-    AbstractSpan log(long timestamp, Map<String, ?> event);
-
-    /**
-     * Sets the string name for the logical operation this span represents.
-     *
-     * @return this Span instance, for chaining
-     */
-    AbstractSpan setOperationName(String operationName);
-```
-Span的操作语义和OpenTracing类似。
-
-SpanLayer为我们的特有概念,如果是远程调用类的服务,请设置此属性,包括5个属性值
-1. UNKNOWN, 默认
-1. DB
-1. RPC_FRAMEWORK,非HTTP类型的RPC框架,如:原生的DUBBO,MOTAN
-1. HTTP
-1. MQ
-
-Component ID被SkyWalking项目组定义和保护。0到10000为保留值,如果你希望贡献新插件,可以在插件pull 
request通过,并提交的自动化
-测试用户被接收后,申请自己的组件ID。私有插件,请使用10000以上的ID,避免重复。
-
-## 开发插件
-### 一. 简介
-因为所有的程序调用都是基于方法的,所以插件实际上就是基于方法的拦截,类似面向切面编程的AOP技术。SkyWalking底层已经完成相关的技术封装,所以插件开发者只需要定位需要拦截的类、方法,然后结合上文中的追踪API,即可完成插件的开发。
-
-### 二. 拦截类型
-根据Java方法,共有三种拦截类型
-1. 拦截构造函数
-1. 拦截实例方法
-1. 拦截静态方法
-
-我们将这三类拦截,分为两类,即:
-1. 实例方法增强插件,继承ClassInstanceMethodsEnhancePluginDefine
-1. 静态方法增强插件,继承ClassStaticMethodsEnhancePluginDefine
-
-当然,也可以同时支持实例和静态方法,直接继承ClassEnhancePluginDefine。但是,这种情况很少。
-
-### 三. 实现自己的插件定义
-我们以继承ClassInstanceMethodsEnhancePluginDefine为例(ClassStaticMethodsEnhancePluginDefine十分类似,不再重复描述),描述定义插件的全过程
-
-1. 定义目标类名称
-```java
-protected abstract ClassMatch enhanceClass();
-```
-
-ClassMatch反应类的匹配方式,目前提供四种:
-
-* byName, 通过类名完整匹配
-* byClassAnnotationMatch, 通过类标注进行匹配
-* byMethodAnnotationMatch, 通过方法的标注来匹配类
-* byHierarchyMatch, 通过父类或者接口匹配
-
-注意实现:
-* 所有类、接口、标注名称,请使用字符串,不要使用`*.class.getName()`(用户环境可能会引起ClassLoader问题)。
-* by*AnnotationMatch不支持继承的标注
-* byHierarchyMatch,如果存在接口、抽象类、类间的多层继承关系,如果方法复写,则可能造成多层埋点。
-
-如:
-```java
-@Override
-protected ClassMatch enhanceClassName() {
-    return byName("org.apache.catalina.core.StandardEngineValve");             
-}                    
-
-```
-
-2. 定义方法拦截点
-```java
-protected InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints();
-
-public interface InstanceMethodsInterceptPoint {
-    /**
-     * class instance methods matcher.
-     *
-     * @return methods matcher
-     */
-    ElementMatcher<MethodDescription> getMethodsMatcher();
-
-    /**
-     * @return represents a class name, the class instance must instanceof 
InstanceMethodsAroundInterceptor.
-     */
-    String getMethodsInterceptor();
-
-    boolean isOverrideArgs();
-}
-```
-
-返回拦截方法的匹配器,以及对应的拦截类,同样由于潜在的ClassLoader问题,不要使用`*.class.getName()`。如何构建拦截器,请章节"四.
 实现拦截器逻辑"。
-
-3. 定义skywalking-plugin.def文件
-```properties
-tomcat-7.x/8.x=TomcatInstrumentation
-```
-
-* 插件名称,要求全局唯一,命名规范:目标组件+版本号
-* 插件定义类全名
-
-### 四. 实现拦截器逻辑
-我们继续以实现实例方法拦截为例,拦截器需要实现org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor。
-```java
-/**
- * A interceptor, which intercept method's invocation. The target methods will 
be defined in {@link
- * ClassEnhancePluginDefine}'s subclass, most likely in {@link 
ClassInstanceMethodsEnhancePluginDefine}
- *
- * @author wusheng
- */
-public interface InstanceMethodsAroundInterceptor {
-    /**
-     * called before target method invocation.
-     *
-     * @param result change this result, if you want to truncate the method.
-     * @throws Throwable
-     */
-    void beforeMethod(EnhancedInstance objInst, Method method, Object[] 
allArguments, Class<?>[] argumentsTypes,
-        MethodInterceptResult result) throws Throwable;
-
-    /**
-     * called after target method invocation. Even method's invocation 
triggers an exception.
-     *
-     * @param ret the method's original return value.
-     * @return the method's actual return value.
-     * @throws Throwable
-     */
-    Object afterMethod(EnhancedInstance objInst, Method method, Object[] 
allArguments, Class<?>[] argumentsTypes,
-        Object ret) throws Throwable;
-
-    /**
-     * called when occur exception.
-     *
-     * @param t the exception occur.
-     */
-    void handleMethodException(EnhancedInstance objInst, Method method, 
Object[] allArguments, Class<?>[] argumentsTypes,
-        Throwable t);
-}
-```
-
-可以在方法执行前、执行后、执行异常三个点,进行拦截,设置修改方法参数(执行前),并调用核心API,设置追踪逻辑。
-
-## 贡献插件到主仓库
-我们鼓励大家共同贡献支持各个类库的插件。
-
-大家需支持以下步骤执行:
-1. 在issue页面提出插件扩展需求,对应的版本。
-1. Fork apache/incubator-skywalking到本地
-1. 在apm-sniffer/apm-sdk-plugin下新建自己的插件模块,模块名为:支持类库名称+版本号
-1. 按照规范开发插件
-1. 完善注释和测试用例
-1. 在本地打包进行集成测试
-1. 提交Pull Request到 apache/incubator-skywalking,根据评审团队要求,提供相关自动化测试用例
-1. SkyWalking Committer成员完成插件审核,确定发布版本,并合并到主仓库。
diff --git a/docs/cn/Quick-start-CN.md b/docs/cn/Quick-start-CN.md
deleted file mode 100644
index 1813bec..0000000
--- a/docs/cn/Quick-start-CN.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# 部署步骤
-1. 下载`apache-skywalking-apm-incubating-x.y.z.tar.gz` 或 
`apache-skywalking-apm-incubating-x.y.z.zip`
-1. 部署 Backend
-   1. [单机模式](Deploy-backend-in-standalone-mode-CN.md)
-   1. [集群模式](Deploy-backend-in-cluster-mode-CN.md)
-1. 部署 Java Agent,[doc](Deploy-skywalking-agent-CN.md)
-1. 重启并访问系统功能,查看UI即可。
-1. 登录页面的默认用户名/密码是`admin/admin`。
\ No newline at end of file
diff --git a/docs/cn/Setting-override-CN.md b/docs/cn/Setting-override-CN.md
deleted file mode 100644
index cef950e..0000000
--- a/docs/cn/Setting-override-CN.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# 覆盖配置
-## 版本支持
-5.0.0-beta + 
-
-_探针的覆盖配置从  3.2.5版本就已经支持_
-
-## 什么是覆盖配置?
-默认情况下, SkyWalking 探针读取`agent.config` 配置文件, 服务端读取配置文件 `application.yml` . 
-覆盖配置表示用户可以通过启动参数(-D)来覆盖这些配置文件里面的配置.
-
-## 配置优先级
-启动参数配置(-D) > 配置文件
- 
-## 覆盖
-### 探针
-使用 `skywalking.` + key 的格式进行配置,覆盖配置文件中的配置.
-
-- 为什么需要这个前缀?
-   探针和目标应用共享系统启动参数(环境)的配置,使用这个前缀可以避免变量冲突.  
-### Collector
-使用配置文件中相同的 key ,在启动参数中覆盖`collector`中的配置.
-例如:
--  `application.yml`的配置:
-```yaml
-agent_gRPC:
-  gRPC:
-    host: localhost
-    port: 11800
-```
-
-- 在启动脚本中使用如下启动参数配置将端口设置为31200.
-```
--Dagent_gRPC.gRPC.port=31200
-```
\ No newline at end of file
diff --git 
a/docs/cn/Skywalking-Cross-Process-Propagation-Headers-Protocol-CN-v1.md 
b/docs/cn/Skywalking-Cross-Process-Propagation-Headers-Protocol-CN-v1.md
deleted file mode 100644
index 8845534..0000000
--- a/docs/cn/Skywalking-Cross-Process-Propagation-Headers-Protocol-CN-v1.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# Skywalking Cross Process Propagation Headers Protocol
-* Version 1.0
-
-Skywalking是一个偏向APM的分布式追踪系统,所以,为了提供服务端处理性能。头信息会比其他的追踪系统要更复杂一些。
-你会发现,这个头信息,更像一个商业APM系统,并且,一些商业APM系统的头信息,比我们的要复杂的多。
-
-# Header Item
-* Header Name: `sw3`
-* Header Value: 使用`|`分隔,包含以下内容
-
-_消息头使用sw3,因为此协议始于SkyWalking 3.x版本。_
-
-## Values
-* Trace Segment Id
-
-Trace 
segment,即分布式调用链片段。这个ID为此调用链片段全局唯一ID。此ID由一次分布式调用链的一个线程执行过程独享(在Java模型中)。ID由三个Long型组成,如:
 `"1.2343.234234234`
-  1) 第一部分代表应用的实例ID(`application instance 
id`),此ID通过注册接口由Collector分配。一般取值范围为整形,利于protobuf传输。
-  2) 第二部分为线程号,Java模型中,一般也是整形。
-  3) 第三部分又由两部分组成
-     1) 时间戳,单位毫秒
-     2) 线程内的自增序列。0到9999之间。
-
-如果你使用其他语言实现探针,你只需要保证你的ID由三个Long型构成,并全局唯一,不必完全遵守Java的ID生成规则。
-
-
-* Span Id
-
-一个整数,在trace segment内唯一,从0开始自增。
-
-* Parent Application Instance
-
-父级应用节点的应用实例ID。如:在一个RPC调用中,HEAD中是客户端的应用实例ID。
-
-* Entry Application Instance
-
-入口应用节点的应用实例ID。如:在一个分布式链路`A->B->C`中,此字段为`A`应用的实例ID。
-
-* Peer Host
-
-服务端的Peer Host或Peer Id。如:客户端使用`182.14.39.1:9080`服务端,则这个就是对应的Peer Host。
-
-_此值可以通过Collector服务获得对应的ID。如果非ID,则使用`#`开头,如果使用ID,则为整数类型。_
-
-* Entry Span Operation Name of First Trace Segment
-
-调用链入口节点的应用实例下,入口Span的operation name或id。
-
-_此值可以通过Collector服务获得对应的ID。如果非ID,则使用`#`开头,如果使用ID,则为整数类型。_
-
-* Entry Span Operation Name of Parent Trace Segment
-
-调用链父级节点的应用实例下,入口Span的operation name或id。
-
-_此值可以通过Collector服务获得对应的ID。如果非ID,则使用`#`开头,如果使用ID,则为整数类型。_
-
-* Distributed Trace Id
-
-分布式链路ID一般是整个调用链的全局唯一ID。如果针对批量消费情况,这个ID是批量中,第一个生产者的trace ID。此ID生成规则和`Trace 
Segment Id`一致,由三个Long型数字构成。
-
-### Sample value
-value值示例:
-1. 
`1.2343.234234234|1|1|1|#127.0.0.1:8080|#/portal/|#/testEntrySpan|1.2343.234234234`
-1. `1.2343.234234234|1|1|1|#127.0.0.1:8080|#/portal/|1038|1.2343.234234234`
\ No newline at end of file
diff --git a/docs/cn/TLS-CN.md b/docs/cn/TLS-CN.md
deleted file mode 100644
index 3af94d1..0000000
--- a/docs/cn/TLS-CN.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# 支持传输层安全TLS(Transport Layer Security)
-在通过Internet传输数据时,传输层安全(TLS)是一种非常常见的安全方式
-用户可能会在一些场景下遇到这样的情形:
-
-> 被监控(部署探针)的应用中部署在同一个私有云(VPC)区域当中,与此同时, SkyWalking 的服务端部署在另一个私有云(VPC)区域中
-> 
-> 在这种情况下,就非常有必要做一些传输安全认证.
-
-## 配置要求
-开启 **服务直连** 功能, 详情参考 [文档](Direct-uplink-CN.md).
-
-由于通过公网直接上报数据,由于安全问题,名称(naming)服务机制并不适合这种情况.所以我们在HTTP服务的名称服务中不支持TLS。
-
-## 版本支持
-5.0.0-beta +
-
-## 认证模式
-仅仅支持 **非双向认证**.
-- 如果你比较熟悉如何生成 key 文件,可以使用 [脚本](../../tools/TLS/tls_key_generate.sh) .
-- 在客户端使用 `ca.crt`文件
-- 在服务端使用 `server.crt` 和 `server.pem`. 
-
-## 配置并开启 TLS
-
-### 探针配置
-- 将 `ca.crt` 放置在探针文件夹的 `/ca` 文件夹中. 需要注意的是,发行的版本中不包含`/ca`文件夹,需要自行创建.
-
-如果探针检测到文件 `/ca/ca.crt` ,会自动开启 TLS.
-
-### Collector 配置
- `agent_gRPC/gRPC` 模块支持 TLS. 并且现在只有这个模块支持.
-
-- 将`application.yml`中的 `ssl_cert_chain_file` 和 `ssl_private_key_file`  配置打开.
-- `ssl_cert_chain_file` 配置为 `server.crt`的绝对路径.
-- `ssl_private_key_file` 配置为 `server.pem`的绝对路径.
-
-## 避免端口共享
-在大多数情况下,我们建议在`agent_gRPC / gRPC`和`remote / gRPC`模块中共享所有gRPC服务的端口。
-但是,当你在`agent_gRPC / gRPC`模块中打开TLS时不要这样做,原因就是无论是否开始TLS,你都无法监听端口。
-解决方案, 换一个端口 `remote/gRPC/port`.
-
-## 其他端口监听如何操作?
-请使用其他安全方式确保不能访问  VPC 区域外的其他端口,例如防火墙,代理等。
\ No newline at end of file
diff --git a/docs/cn/Token-auth-CN.md b/docs/cn/Token-auth-CN.md
deleted file mode 100644
index 131880b..0000000
--- a/docs/cn/Token-auth-CN.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# 基于 Token 认证
-## 版本支持
-5.0.0-beta +
-
-## 在使用了TLS 认证之后,为何还需要基于 Token 的认证?
-TLS 是保证传输层的安全,保证传输的网络是可信的.
-基于 token 的认证是为了保证应用的监控数据是 **可信的**.
-
-## Token 
-在现在的版本中, Token是一个简单的字符串.
-
-### 设置 Token
-1. 在 agent.config 文件中设置 Token
-```properties
-# Authentication active is based on backend setting, see application.yml for 
more details.
-agent.authentication = xxxx
-```
-
-2. 在 `application.yml` 文件中设置 token
-```yaml
-agent_gRPC:
-  gRPC:
-    host: localhost
-    port: 11800
-
-    #Set your own token to active auth
-    authentication: xxxxxx
-```
-
-## 认证失败
-collector验证来自探针的每个请求,只有 token 正确,验证才能通过。
-
-如果token不正确,您将在探针端的日志看到如下日志:
-```
-org.apache.skywalking.apm.dependencies.io.grpc.StatusRuntimeException: 
PERMISSION_DENIED
-```
-
-## FAQ
-### 我可以只使用token认证而不用TLS?
-不行. 从技术层面来说, 当然可以.但是token 和 TLS 用于不被信任的网络环境. 在这种情况下, TLS显得更加重要, token 认证仅仅在 
TLS 认证的之后才能被信任,
-如果在一个没有 TLS 的网络环节中, token非常容易被拦截和窃取.
-
-### 现在skywalking是否支持其他的认证机制? 比如 ak/sk?
-现在还不支持,但是如果有人愿意提供这些这些新特性,我们表示感谢.
-
diff --git a/docs/cn/Trace-Data-Protocol-CN.md 
b/docs/cn/Trace-Data-Protocol-CN.md
deleted file mode 100644
index 0e1a237..0000000
--- a/docs/cn/Trace-Data-Protocol-CN.md
+++ /dev/null
@@ -1,254 +0,0 @@
-# Trace Data Protocol 中文
-Trace Data Protocol协议,也就是探针与Collector间通讯协议
-
-## 概述
-此协议包含了Agent上行/下行数据的格式,可用于定制开发,或者探针的多语言扩展
-
-### 协议版本
-v1.1
-
-### 协议类型
-* 服务发现使用HTTP服务
-* 注册和数据上行服务同时支持gRPC和HTTP JSON服务
-
-#### gRPC协议定义文件
-[gRPC proto 
files](https://github.com/apache/incubator-skywalking-data-collect-protocol/tree/v1.1.1)
-
-## Collector服务发现协议
-### 简介
-**Collector服务发现协议是探针启动时,第一个调用的服务。** 通过服务,查找可用的gRPC服务地址列表,并在由客户端选择其中任意一个作为服务端。
-此服务建议周期性调用,确保探针本地的服务端口列表是准确有效的。
-
-### 协议类型
-HTTP GET
-
-### 协议内容
-- 请求
-GET操作:http://collectorIp:port/agent/gRPC 。 
其中`/agent/gRPC`是默认值,如需修改,需要参考collector相关配置。
-
-- 返回
-JSON数组,数组的每个元素,为一个有效的gRPC服务地址。
-```json
-["ip address1:port1","ip address2:port2","ip address3:port3"]
-```
-
-## 应用注册服务
-### 简介
-应用注册服务,是将applicationCode,转换成数字ID的服务。
-此服务会在后续的传输过程中,有效降低网络带宽需求。
-
-### 协议内容
-[gRPC service 
define](https://github.com/apache/incubator-skywalking-data-collect-protocol/blob/v1.1.1/ApplicationRegisterService.proto)
-
-- applicationCode为客户端设置的应用名.
-- applicationCode对应的返回id,在后续协议中,被称为applicationId。
-
-## 应用实例发现服务
-### 简介
-应用实例发现服务存在三个子服务,分别是实例注册服务,实例心跳服务,实例注册重连服务。这三个服务负责获取和保持应用实例在线的功能。
-
-### 协议类型
-gRPC服务
-
-### 实例注册服务
-[gRPC service 
define](https://github.com/apache/incubator-skywalking-data-collect-protocol/blob/v1.1.1/DiscoveryService.proto#L29)
-
-- agentUUID 由探针生成,需保持唯一性,推荐使用UUID算法。并在应用重启前保持不变
-- applicationId 由**应用注册服务**获取。
-- 服务端返回应用实例id,applicationInstanceId 。后续上报服务使用实例id标识。
-
-### 实例心跳服务
-[gRPC service 
define](https://github.com/apache/incubator-skywalking-data-collect-protocol/blob/v1.1.1/DiscoveryService.proto#L32)
-
-- 心跳服务每分钟上报一次。
-- 如果一分钟内有segment数据上报,则可不必上报心跳。
-
-## 服务名注册发现服务
-### 简介
-服务名注册发现服务,是将应用内的服务名(operationName)替换为id的服务。
-
-### 协议内容
-[gRPC service 
define](https://github.com/apache/incubator-skywalking-data-collect-protocol/blob/v1.1.1/DiscoveryService.proto#L70)
-
-- 可选服务,可有效降低网络消耗,推荐实现。注意,由于部分应用存在URI中夹带参数的情况,请注意限制探针内的缓存容量,防止内存溢出。
-- 
ServiceNameElement中,applicationId为当前applicationCode对应的id。serviceName一般为对应span的operationName
-
-## 地址注册发现服务
-### 简介
-地址注册发现服务,是将远程调用(RPC、MQ、DB...)地址的(addresses)替换为id的服务。
-
-### 协议内容
-[gRPC service 
define](https://github.com/apache/incubator-skywalking-data-collect-protocol/blob/v1.1.1/NetworkAddressRegisterService.proto)
-
-- 可选服务,可有效降低网络消耗,推荐实现。
-- NetworkAddresses中,addresses为被调方的地址(IP/HOST:PORT)多个地址使用逗号分隔
-
-## JVM指标上报服务
-### 简介
-上报当前实例的JVM信息,每秒上报一次。
-
-### 协议内容
-[gRPC service 
define](https://github.com/apache/incubator-skywalking-data-collect-protocol/blob/v1.1.1/JVMMetricsService.proto)
-
-## TraceSegment上报服务
-### 简介
-上报调用链信息
-
-### 协议内容
-[gRPC service 
define](https://github.com/apache/incubator-skywalking-data-collect-protocol/blob/v1.1.1/TraceSegmentService.proto)
-
-- 
UniqueId为segment或者globalTraceId的数字表示。由3个long组成,1)applicationInstanceId,2)当前线程id,3)当前时间戳*10000
 + seq(0-10000自循环)
-- Span的数据,请参考[插件开发规范](Plugin-Development-Guide-CN.md)
-- 以下id和名称根据注册返回结果,优先上报id,无法获取id时,再上传name。参考之前的应用和服务注册章节。
-  - operationNameId/operationName 
-  - networkAddress/networkAddressId
-  - entryServiceName/entryServiceId
-  - parentServiceName/parentServiceId
-  - peerId/peer
-- 
componentId为默认支持的插件id,非官方支持,需传输名称或修改服务端源代码。[官方组件列表](../../apm-protocol/apm-network/src/main/java/org/apache/skywalking/apm/network/trace/component/ComponentsDefine.java)
-
-### 协议类型
-HTTP JSON服务, 属性名与gRPC对应,属性解释详见gRPC协议说明,统一采用HTTP POST方式
-
-### 实例注册服务
-地址: http://ip:port/instance/register(default: localhost:12800) 
-
-输入:
-```
-{
-    ai: x, #applicationId
-    au: "", #agentUUID
-    rt: x, #registerTime
-    oi: "", #osinfo
-}
-```
-
-输出:
-```
-{
-    ai: x, #applicationId
-    ii: x, #applicationInstanceId
-}
-```
-
-### 实例心跳服务
-地址: http://ip:port/instance/heartbeat(default: localhost:12800) 
-
-输入:
-```
-{
-    "ii": x, #applicationInstanceId
-    "ht": x #heartbeatTime, java timestamp format
-}
-```
-
-输出:无
-
-## 服务名注册发现服务
-地址: http://ip:port/servicename/discovery(default: localhost:12800) 
-
-输入:
-```
-{
-    ai: x, #applicationId
-    sn: "", #serviceName
-    st: x, #srcSpanType
-}
-```
-
-输出:
-```
-{
-    si: x, #osinfo
-    el: { #element
-        ai: x, #applicationId
-        sn: "", #serviceName
-        st: x, #srcSpanType
-    }
-}
-```
-
-## JVM指标上报服务
-### 暂无支持需求,java和c#的探针都采用gRPC的方式上报
-
-## TraceSegment上报服务
-### 一次可以发送多个Segment,采用JSON数组的形式
-输入:
-```
-[
-  {
-    "gt": [[230150, 185809, 24040000]], //globalTraceIds 链路编码,与调用方相同
-    "sg": { //TraceSegmentObject 
-      "ts": [137150, 185809, 48780000], //traceSegmentId,新产生
-      "ai": 2, //applicationId
-      "ii": 3, //applicationInstanceId
-      "ss": [ //SpanObject
-        {
-          "si": 0, //spanId
-          "tv": 0, //SpanType
-          "lv": 2, //SpanLayer
-          "ps": -1, //parentSpanId
-          "st": 1501858094726, //startTime
-          "et": 1501858096804, //endTime
-          "ci": 3, //componentId
-          "cn": "", //component
-          "oi": 0, //operationNameId
-          "on": 
"org.skywaking.apm.testcase.dubbo.services.GreetService.doBusiness()", 
//operationName
-          "pi": 0, //peerId
-          "pn": "", //peer
-          "ie": false, //isError
-          "rs": [ //TraceSegmentReference
-            {
-              "pts": [230150, 185809, 24040000], //parentTraceSegmentId, 
上级的segment_id 一个应用中的一个实例在链路中产生的编号
-              "pii": 2, //parentApplicationInstanceId, 上级的实例编号
-              "psp": 1, //parentSpanId, 上级的埋点编号span_id
-              "psi": 0, //parentServiceId, 
上级的服务编号(org.skywaking.apm.testcase.dubbo.services.GreetService.doBusiness()注册后的ID)
-              "psn": "/dubbox-case/case/dubbox-rest", //parentServiceName, 
上级的服务名
-              "ni": 0,  //networkAddressId, 上级调用时使用的地址注册后的ID
-              "nn": "172.25.0.4:20880", //networkAddress, 上级的地址
-              "eii": 2, //entryApplicationInstanceId, 入口的实例编号
-              "esi": 0, //entryServiceId, 入口的服务编号
-              "esn": "/dubbox-case/case/dubbox-rest", //entryServiceName, 
入口的服务名词
-              "rv": 0 //RefTypeValue, 调用方式(CrossProcess,CrossThread)
-            }
-          ],
-          "to": [ //KeyWithStringValue
-            {
-              "k": "url", //key
-              "v": 
"rest://172.25.0.4:20880/org.skywaking.apm.testcase.dubbo.services.GreetService.doBusiness()"
 //value
-            },
-            {
-              "k": "http.method",
-              "v": "GET"
-            }
-          ],
-          "lo": [{
-                  "ti": 1501858094726,
-                  "ld": [{ 
-                          "k": "NullPointException",
-                          "v": "Error Stack"
-                      }]
-             }]
-        },
-        {
-          "si": 1,
-          "tv": 1,
-          "lv": 1,
-          "ps": 0,
-          "st": 1501858094726,
-          "et": 1501858095804,
-          "ci": 9,
-          "cn": "",
-          "oi": 0,
-          "on": 
"mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]",
-          "pi": 0,
-          "pn": "localhost:27017",
-          "ie": false,
-          "to": [],
-          "lo": []
-        }
-      ]
-    }
-  }
-]
-```
diff --git a/docs/cn/Use-ShardingJDBC-as-storage-implementor-CN.md 
b/docs/cn/Use-ShardingJDBC-as-storage-implementor-CN.md
deleted file mode 100644
index c6eb15b..0000000
--- a/docs/cn/Use-ShardingJDBC-as-storage-implementor-CN.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# 支持数据库分片存储
-除了默认的Elasticsearch存储外,用户可以用shardingJDBC结合MySQL作为存储实现。
-注意:目前仅支持MYSQL数据库的分片存储,且由于license限制,需要用户手动引入mysql驱动包。
-
-## 配置要求
-- 手工导入MYSQL的驱动包mysql-connector-java-5.1.36.jar到collector libs目录下。
-- config/application.yml中,删除Elasticsearch配置,添加shardingjdbc配置如下。
-```
-  storage:
-    shardingjdbc:
-      driverClass: com.mysql.jdbc.Driver
-      # JDBC Datasource connections for ShardingJDBC, multiple should be 
separated by comma
-      url: jdbc:mysql://ip1:port1/skywalking,jdbc:mysql://ip2:port2/skywalking
-      # Usernames, which match the sequence of Datasource URLs
-      userName: admin,admin
-      # Passwords, which match the sequence of Datasource URLs
-      password: 123456,123456
-```
-
-## 参阅
-- ShardingJDBC从3.x起,现已更名为ShardingSphere,[点这](http://shardingsphere.io)
diff --git a/docs/en/OAP/README.md b/docs/en/OAP/README.md
index 1a31887..290933d 100644
--- a/docs/en/OAP/README.md
+++ b/docs/en/OAP/README.md
@@ -1,6 +1,6 @@
 # Observability Analysis Platform
 OAP(Observability Analysis Platform) is a new concept, which starts in 
SkyWalking 6.x. OAP replaces the 
-old SkyWalking collectors. The capabilities of the platform are following.
+old SkyWalking whole backend. The capabilities of the platform are following.
 
 ## OAP capabilities
 <img src="https://skywalkingtest.github.io/page-resources/6_overview.png"/>
@@ -54,87 +54,101 @@ METRIC_NAME = from(SCOPE.(* | [FIELD][,FIELD ...]))
 **SCOPE** in (`All`, `Service`, `ServiceInstance`, `Endpoint`, 
`ServiceRelation`, `ServiceInstanceRelation`, `EndpointRelation`).
 
 #### Field
-- SCOPE `All`, 
-1. endpoint. Represent the endpoint path of each request.
-1. latency. Represent how much time of each request.
-1. status. Represent whether success or fail of the request.
-1. responseCode. Represent the response code of HTTP response, if this request 
is the HTTP call.
+By using Aggregation Function, the requests will group by time and **Group 
Key(s)** in each scope.
+
+- SCOPE `All`
+
+| Name | Remarks | Group Key | Type | 
+|---|---|---|---|
+| endpoint  | Represent the endpoint path of each request.  |   | string |
+| latency  | Represent how much time of each request. |   |  int(in ms)  |
+| status  | Represent whether success or fail of the request.  |   | bool(true 
for success)  |
+| responseCode | Represent the response code of HTTP response, if this request 
is the HTTP call. e.g. 200, 404, 302| | int |
 
-All details in `All` scope will group together.
 
 - SCOPE `Service`
 
 Calculate the metric data from each request of the service. 
-1. id. Represent the unique id of the service, usually a number. **Group by 
this in default**.
-1. name. Represent the name of the service.
-1. serviceInstanceName. Represent the name of the service instance id referred.
-1. endpointName. Represent the name of the endpoint, such a full path of HTTP 
URI.
-1. latency. Represent how much time of each request.
-1. status. Represent whether success or fail of the request.
-1. responseCode. Represent the response code of HTTP response, if this request 
is the HTTP call.
-1. type. Represent the type of each request. Such as: Database, HTTP, RPC, 
gRPC.
+
+| Name | Remarks | Group Key | Type | 
+|---|---|---|---|
+| id | Represent the unique id of the service | yes | int |
+| name | Represent the name of the service | | string |
+| serviceInstanceName | Represent the name of the service instance id referred 
| | string |
+| endpointName | Represent the name of the endpoint, such a full path of HTTP 
URI | | string |
+| latency | Represent how much time of each request. | | int |
+| status | Represent whether success or fail of the request. | | bool(true for 
success)  |
+| responseCode | Represent the response code of HTTP response, if this request 
is the HTTP call | | int|
+| type | Represent the type of each request. Such as: Database, HTTP, RPC, 
gRPC. | | enum |
 
 - SCOPE `ServiceInstance`
 
 Calculate the metric data from each request of the service instance. 
-1. id. Represent the unique id of the service, usually a number. **Group by 
this in default**.
-1. name. Represent the name of the service instance. Such as `ip:port@Service 
Name`. 
-**Notice**: current native agent uses `processId@Service name` as instance 
name, which is useless 
-when you want to setup a filter in aggregation. 
-1. serviceName. Represent the name of the service.
-1. endpointName. Represent the name of the endpoint, such a full path of HTTP 
URI.
-1. latency. Represent how much time of each request.
-1. status. Represent whether success or fail of the request.
-1. responseCode. Represent the response code of HTTP response, if this request 
is the HTTP call.
-1. type. Represent the type of each request. Such as: Database, HTTP, RPC, 
gRPC.
+
+| Name | Remarks | Group Key | Type | 
+|---|---|---|---|
+| id | Represent the unique id of the service, usually a number. | yes | int |
+| name |  Represent the name of the service instance. Such as `ip:port@Service 
Name`.  **Notice**: current native agent uses `processId@Service name` as 
instance name, which is useless when you want to setup a filter in aggregation. 
| | string|
+| serviceName | Represent the name of the service. | | string |
+| endpointName | Represent the name of the endpoint, such a full path of HTTP 
URI. | | string|
+| latency | Represent how much time of each request. | | int |
+| status | Represent whether success or fail of the request. | | bool(true for 
success) |
+| responseCode | Represent the response code of HTTP response, if this request 
is the HTTP call. | | int |
+| type | Represent the type of each request. Such as: Database, HTTP, RPC, 
gRPC. | | enum |
 
 - SCOPE `Endpoint`
 
 Calculate the metric data from each request of the endpoint in the service. 
-1. id. Represent the unique id of the endpoint, usually a number. **Group by 
this in default**.
-1. name. Represent the name of the endpoint, such a full path of HTTP URI.
-1. serviceName. Represent the name of the service.
-1. serviceInstanceName. Represent the name of the service instance id referred.
-1. latency. Represent how much time of each request.
-1. status. Represent whether success or fail of the request.
-1. responseCode. Represent the response code of HTTP response, if this request 
is the HTTP call.
-1. type. Represent the type of each request. Such as: Database, HTTP, RPC, 
gRPC.
+
+| Name | Remarks | Group Key | Type | 
+|---|---|---|---|
+| id | Represent the unique id of the endpoint, usually a number. | yes | int |
+| name | Represent the name of the endpoint, such a full path of HTTP URI. | | 
string |
+| serviceName | Represent the name of the service. | | string |
+| serviceInstanceName | Represent the name of the service instance id 
referred. | | string |
+| latency | Represent how much time of each request. | | int |
+| status | Represent whether success or fail of the request.| | bool(true for 
success) |
+| responseCode | Represent the response code of HTTP response, if this request 
is the HTTP call. | | int |
+| type | Represent the type of each request. Such as: Database, HTTP, RPC, 
gRPC. | | enum |
 
 - SCOPE `ServiceRelation`
 
 Calculate the metric data from each request between one service and the other 
service
-1. sourceServiceId. Represent the id of the source service.
-1. sourceServiceName. Represent the name of the source service.
-1. sourceServiceInstanceName. Represent the name of the source service 
instance.
-1. destServiceId. Represent the id of the destination service.
-1. destServiceName. Represent the name of the destination service.
-1. destServiceInstanceName. Represent the name of the destination service 
instance.
-1. endpoint. Represent the endpoint used in this call.
-1. latency. Represent how much time of each request.
-1. status. Represent whether success or fail of the request.
-1. responseCode. Represent the response code of HTTP response, if this request 
is the HTTP call.
-1. type. Represent the type of the remote call. Such as: Database, HTTP, RPC, 
gRPC.
-1. detectPoint. Represent where is the relation detected. Values: client, 
server, proxy.
-
-Group by `sourceServiceId`, `destServiceId` and `detectPoint`.
+
+| Name | Remarks | Group Key | Type | 
+|---|---|---|---|
+| sourceServiceId | Represent the id of the source service. | yes | int |
+| sourceServiceName | Represent the name of the source service. | | string |
+| sourceServiceInstanceName | Represent the name of the source service 
instance. | | string |
+| destServiceId | Represent the id of the destination service. | yes | string |
+| destServiceName | Represent the name of the destination service. | | string |
+| destServiceInstanceName | Represent the name of the destination service 
instance.| | string|
+| endpoint | Represent the endpoint used in this call. | | string
+| latency | Represent how much time of each request. | | int |
+| status | Represent whether success or fail of the request.| | bool(true for 
success) |
+| responseCode | Represent the response code of HTTP response, if this request 
is the HTTP call. | | int |
+| type | Represent the type of each request. Such as: Database, HTTP, RPC, 
gRPC. | | enum |
+| detectPoint | Represent where is the relation detected. Values: client, 
server, proxy. | yes | enum|
+
 
 - SCOPE `ServiceInstanceRelation`
 
 Calculate the metric data from each request between one service instance and 
the other service instance
-1. sourceServiceName. Represent the name of the source service.
-1. sourceServiceInstanceId. Represent the id of the source service instance.
-1. sourceServiceInstanceName. Represent the name of the source service 
instance.
-1. destServiceName. Represent the name of the destination service.
-1. destServiceInstanceId. Represent the id of the destination service instance.
-1. destServiceInstanceName. Represent the name of the destination service 
instance.
-1. endpoint. Represent the endpoint used in this call.
-1. latency. Represent how much time of each request.
-1. status. Represent whether success or fail of the request.
-1. responseCode. Represent the response code of HTTP response, if this request 
is the HTTP call.
-1. type. Represent the type of the remote call. Such as: Database, HTTP, RPC, 
gRPC.
-1. detectPoint. Represent where is the relation detected. Values: client, 
server, proxy.
-
-Group by `sourceServiceInstanceId`, `destServiceInstanceId` and `detectPoint`. 
+
+| Name | Remarks | Group Key | Type | 
+|---|---|---|---|
+| sourceServiceInstanceId | Represent the id of the source service instance. | 
yes | int|
+| sourceServiceName | Represent the name of the source service. | | string |
+| sourceServiceInstanceName | Represent the name of the source service 
instance. | | string |
+| destServiceName | Represent the name of the destination service. | | |
+| destServiceInstanceId | Represent the id of the destination service 
instance. | yes | int| 
+| destServiceInstanceName | Represent the name of the destination service 
instance. | | string |
+| endpoint | Represent the endpoint used in this call. | | string
+| latency | Represent how much time of each request. | | int |
+| status | Represent whether success or fail of the request.| | bool(true for 
success) |
+| responseCode | Represent the response code of HTTP response, if this request 
is the HTTP call. | | int |
+| type | Represent the type of each request. Such as: Database, HTTP, RPC, 
gRPC. | | enum |
+| detectPoint | Represent where is the relation detected. Values: client, 
server, proxy. | yes | enum|
 
 - SCOPE `EndpointRelation`
 
@@ -143,18 +157,17 @@ This relation is hard to detect, also depends on tracing 
lib to propagate the pr
 So `EndpointRelation` scope aggregation effects only in service under tracing 
by SkyWalking native agents, 
 including auto instrument agents(like Java, .NET), OpenCensus SkyWalking 
exporter implementation or others propagate tracing context in SkyWalking spec.
 
-1. endpointId. Represent the id of the endpoint as parent in the dependency.
-1. endpoint. Represent the endpoint as parent in the dependency.
-1. childEndpointId. Represent the id of the endpoint being used by the parent 
endpoint in (1)
-1. childEndpoint. Represent the endpoint being used by the parent endpoint in 
(2)
-1. rpcLatency. Represent the latency of the RPC from some codes in the 
endpoint to the childEndpoint. Exclude the latency caused by the endpoint(1) 
itself.
-1. status. Represent whether success or fail of the request.
-1. responseCode. Represent the response code of HTTP response, if this request 
is the HTTP call.
-1. type. Represent the type of the remote call. Such as: Database, HTTP, RPC, 
gRPC.
-1. detectPoint. Represent where is the relation detected. Values: client, 
server, proxy.
-
-Group by `endpointId`, `childEndpointId` and `detectPoint`.
-
+| Name | Remarks | Group Key | Type | 
+|---|---|---|---|
+| endpointId | Represent the id of the endpoint as parent in the dependency. | 
yes | int |
+| endpoint | Represent the endpoint as parent in the dependency.| | string| 
+| childEndpointId | Represent the id of the endpoint being used by the parent 
endpoint in row(1) | yes | int| 
+| childEndpoint| Represent the endpoint being used by the parent endpoint in 
row(2) | | string |
+| rpcLatency | Represent the latency of the RPC from some codes in the 
endpoint to the childEndpoint. Exclude the latency caused by the endpoint(1) 
itself.
+| status | Represent whether success or fail of the request.| | bool(true for 
success) |
+| responseCode | Represent the response code of HTTP response, if this request 
is the HTTP call. | | int |
+| type | Represent the type of each request. Such as: Database, HTTP, RPC, 
gRPC. | | enum |
+| detectPoint | Represent where is the relation detected. Values: client, 
server, proxy. | yes | enum|
 
 #### Filter
 Use filter to build the conditions for the value of fields, by using field 
name and expression.
@@ -164,9 +177,13 @@ The default functions are provided by SkyWalking OAP core, 
and could implement m
 
 Provided functions
 - `avg`
+- `p99`
+- `p90`
+- `p75`
+- `p50`
 - `percent`
-- `sum`
 - `histogram`
+- `sum`
 
 #### Metric name
 The metric name for storage implementor, alarm and query modules. The type 
inference supported by core.

Reply via email to