You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@skywalking.apache.org by wu...@apache.org on 2018/07/06 18:53:05 UTC

[incubator-skywalking] branch 6.0 created (now e6ca91c)

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

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


      at e6ca91c  Init branch 6.0 for our next big iteration. Change root readme. Format field document in table.  Remove Chinese documents.

This branch includes the following new commits:

     new e6ca91c  Init branch 6.0 for our next big iteration. Change root readme. Format field document in table.  Remove Chinese documents.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[incubator-skywalking] 01/01: Init branch 6.0 for our next big iteration. Change root readme. Format field document in table. Remove Chinese documents.

Posted by wu...@apache.org.
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...@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 wusheng@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 wusheng@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
-- 订阅邮件列表: dev@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.