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

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


The following commit(s) were added to refs/heads/config-API by this push:
     new 89c2283  Finish the dynamic configuration service.
89c2283 is described below

commit 89c2283a90d3d4051fe77a5b81c5aace992886a4
Author: Wu Sheng <[email protected]>
AuthorDate: Mon Jun 3 12:00:20 2019 +0800

    Finish the dynamic configuration service.
---
 docs/en/setup/backend/backend-setup.md             |  2 ++
 docs/en/setup/backend/dynamic-config.md            | 39 ++++++++++++++++++++++
 .../src/main/proto/configuration-service.proto     |  4 +--
 3 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/docs/en/setup/backend/backend-setup.md 
b/docs/en/setup/backend/backend-setup.md
index 0092b5c..6ec0798 100644
--- a/docs/en/setup/backend/backend-setup.md
+++ b/docs/en/setup/backend/backend-setup.md
@@ -81,6 +81,8 @@ scale and support high payload, you may need this.
 system.
 1. [Time To Live (TTL)](ttl.md). Metrics and trace are time series data, they 
would be saved forever, you could 
 set the expired time for each dimension.
+1. [Dynamic Configuration](dynamic-config.md). Make configuration of OAP 
changed dynamic, from remote service
+or 3rd party configuration management system.
 
 ## Telemetry for backend
 OAP backend cluster itself underlying is a distributed streaming process 
system. For helping the Ops team,
diff --git a/docs/en/setup/backend/dynamic-config.md 
b/docs/en/setup/backend/dynamic-config.md
new file mode 100644
index 0000000..de13691
--- /dev/null
+++ b/docs/en/setup/backend/dynamic-config.md
@@ -0,0 +1,39 @@
+# Dynamic Configuration
+SkyWalking Configurations mostly are set through `application.yml` and OS 
system environment variables.
+But some of them are supporting dynamic settings from upstream management 
system.
+
+Right now, SkyWalking supports following dynamic configurations.
+
+| Config Key | Value Description | Value Format Example |
+|:----:|:----:|:----:|
+|receiver-trace.default.slowDBAccessThreshold| Thresholds of slow Database 
statement, override `receiver-trace/default/slowDBAccessThreshold` of 
`applciation.yml`. | default:200,mongodb:50|
+
+
+This feature depends on upstream service, so it is **OFF** as default.
+```yaml
+configuration:
+  none:
+```
+
+## Dynamic Configuration Service, DCS
+[Dynamic Configuration 
Service](../../../../oap-server/server-configuration/grpc-configuration-sync/src/main/proto/configuration-service.proto)
 
+is a gRPC service, which requires the upstream system implemented.
+The SkyWalking OAP fetches the configuration from the implementation(any 
system), after you open this implementation like this.
+
+```yaml
+configuration:
+  grpc:
+    # Upstream system hostname
+    host: 127.0.0.1
+    # Upstream system port
+    port: 9555
+    #period : 60 # Unit seconds, sync period. Default fetch every 60 seconds.
+    #clusterName: "default" # the name of current cluster, set the name if you 
want to upstream system known.  
+```
+
+
+## 3rd party Configuration Center
+We are welcome contributions to implement this module provider to support 
popular configuration center, 
+such as Zookeeper, etcd, Consul, Nacos. Submit issue to discuss.
+
+
diff --git 
a/oap-server/server-configuration/grpc-configuration-sync/src/main/proto/configuration-service.proto
 
b/oap-server/server-configuration/grpc-configuration-sync/src/main/proto/configuration-service.proto
index 858de28..be15aef 100644
--- 
a/oap-server/server-configuration/grpc-configuration-sync/src/main/proto/configuration-service.proto
+++ 
b/oap-server/server-configuration/grpc-configuration-sync/src/main/proto/configuration-service.proto
@@ -37,10 +37,10 @@ message ConfigurationResponse {
     // Include all config items.
     // All config name should be not empty,
     // the name is composed by "module name"."provider name"."item name".
-    // Each watcher implementor will provide this, and it will be notified 
when the name matched.
+    // Each watcher implementor provides this, and it will be notified when 
the value changed.
     //
     // If the config center wants to set the value to NULL or empty,
-    // must set the name with empty and NULL explicitly.
+    // must set the name with empty value explicitly.
     repeated Config configTable = 1;
 }
 

Reply via email to