This is an automated email from the ASF dual-hosted git repository.
sunnianjun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new b159cfead3f Move agent config files into META-INF/conf folders (#23252)
b159cfead3f is described below
commit b159cfead3f39b5e591bfc16232dbbdb8cd8986f
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Jan 2 02:28:49 2023 +0800
Move agent config files into META-INF/conf folders (#23252)
* Move agent config files into META-INF/conf folders
* Fix checkstyle
* Fix test
---
.../plugin/loader/AdvisorConfigurationLoader.java | 24 ++++++----
.../YamlAdvisorsConfigurationLoaderTest.java | 4 +-
.../YamlAdvisorsConfigurationSwapperTest.java | 2 +-
.../resources/{ => META-INF}/conf/advisors.yaml | 0
.../{ => META-INF}/conf/empty-advisors.yaml | 0
.../conf/baselogging-advisors.yaml} | 0
.../core/src/test/resources/conf/agent.yaml | 53 ----------------------
.../wrapper/PrometheusWrapperFactory.java | 2 +-
.../conf/prometheus-jdbc-advisors.yaml} | 0
.../conf/prometheus-metrics.yaml} | 0
.../conf/prometheus-proxy-advisors.yaml} | 0
.../conf/prometheus-metrics.yaml} | 0
.../conf/jaeger-jdbc-advisors.yaml} | 0
.../conf/jaeger-proxy-advisors.yaml} | 0
.../conf/opentelemetry-jdbc-advisors.yaml} | 0
.../conf/opentelemetry-proxy-advisors.yaml} | 0
.../conf/opentracing-jdbc-advisors.yaml} | 0
.../conf/opentracing-proxy-advisors.yaml} | 0
.../conf/zipkin-jdbc-advisors.yaml} | 0
.../conf/zipkin-proxy-advisors.yaml} | 0
.../observability/_index.cn.md | 2 +-
.../observability/_index.en.md | 2 +-
22 files changed, 22 insertions(+), 67 deletions(-)
diff --git
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AdvisorConfigurationLoader.java
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AdvisorConfigurationLoader.java
index e47264f341f..b1940ef9fb7 100644
---
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AdvisorConfigurationLoader.java
+++
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AdvisorConfigurationLoader.java
@@ -52,26 +52,34 @@ public final class AdvisorConfigurationLoader {
Map<String, AdvisorConfiguration> result = new HashMap<>();
AgentClassLoader agentClassLoader = new
AgentClassLoader(AdvisorConfigurationLoader.class.getClassLoader(), pluginJars);
for (String each : pluginTypes) {
- InputStream advisorsResourceStream =
getAdvisorsResourceStream(agentClassLoader, each, isEnhancedForProxy);
+ InputStream advisorsResourceStream =
getResourceStream(agentClassLoader, each, isEnhancedForProxy);
if (null == advisorsResourceStream) {
LOGGER.info("No configuration of advisor for type `{}`.",
each);
} else {
- mergeAdvisorConfigurations(result,
YamlAdvisorsConfigurationSwapper.swapToObject(YamlAdvisorsConfigurationLoader.load(advisorsResourceStream),
each));
+ mergeConfigurations(result,
YamlAdvisorsConfigurationSwapper.swapToObject(YamlAdvisorsConfigurationLoader.load(advisorsResourceStream),
each));
}
}
return result;
}
- private static InputStream getAdvisorsResourceStream(final ClassLoader
agentClassLoader, final String pluginType, final boolean isEnhancedForProxy) {
- InputStream accurateResourceStream =
getAdvisorsResourceStream(agentClassLoader, pluginType, (isEnhancedForProxy ?
"proxy" : "jdbc") + "-advisors.yaml");
- return null == accurateResourceStream ?
getAdvisorsResourceStream(agentClassLoader, pluginType, "advisors.yaml") :
accurateResourceStream;
+ private static InputStream getResourceStream(final ClassLoader
agentClassLoader, final String pluginType, final boolean isEnhancedForProxy) {
+ InputStream accurateResourceStream =
getResourceStream(agentClassLoader, getFileName(pluginType,
isEnhancedForProxy));
+ return null == accurateResourceStream ?
getResourceStream(agentClassLoader, getFileName(pluginType)) :
accurateResourceStream;
}
- private static InputStream getAdvisorsResourceStream(final ClassLoader
agentClassLoader, final String pluginType, final String fileName) {
- return agentClassLoader.getResourceAsStream(String.join("/",
pluginType.toLowerCase(), fileName));
+ private static InputStream getResourceStream(final ClassLoader
agentClassLoader, final String fileName) {
+ return agentClassLoader.getResourceAsStream(String.join("/",
"META-INF", "conf", fileName));
}
- private static void mergeAdvisorConfigurations(final Map<String,
AdvisorConfiguration> advisorConfigMap, final Collection<AdvisorConfiguration>
advisorConfigs) {
+ private static String getFileName(final String pluginType, final boolean
isEnhancedForProxy) {
+ return String.join("-", pluginType.toLowerCase(), isEnhancedForProxy ?
"proxy" : "jdbc", "advisors.yaml");
+ }
+
+ private static String getFileName(final String pluginType) {
+ return String.join("-", pluginType.toLowerCase(), "advisors.yaml");
+ }
+
+ private static void mergeConfigurations(final Map<String,
AdvisorConfiguration> advisorConfigMap, final Collection<AdvisorConfiguration>
advisorConfigs) {
for (AdvisorConfiguration each : advisorConfigs) {
advisorConfigMap.computeIfAbsent(each.getTargetClassName(), key ->
new
AdvisorConfiguration(each.getTargetClassName())).getAdvisors().addAll(each.getAdvisors());
}
diff --git
a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoaderTest.java
b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoaderTest.java
index ce274bf7431..bd3b68a5b6d 100644
---
a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoaderTest.java
+++
b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoaderTest.java
@@ -36,7 +36,7 @@ public final class YamlAdvisorsConfigurationLoaderTest {
@Test
public void assertLoad() {
- YamlAdvisorsConfiguration actual =
YamlAdvisorsConfigurationLoader.load(getClass().getResourceAsStream("/conf/advisors.yaml"));
+ YamlAdvisorsConfiguration actual =
YamlAdvisorsConfigurationLoader.load(getClass().getResourceAsStream("/META-INF/conf/advisors.yaml"));
assertThat(actual.getAdvisors().size(), is(1));
assertYamlAdvisorConfiguration(actual.getAdvisors().iterator().next());
}
@@ -84,7 +84,7 @@ public final class YamlAdvisorsConfigurationLoaderTest {
@Test
public void assertLoadEmptyFile() {
- YamlAdvisorsConfiguration actual =
YamlAdvisorsConfigurationLoader.load(getClass().getResourceAsStream("/conf/empty-advisors.yaml"));
+ YamlAdvisorsConfiguration actual =
YamlAdvisorsConfigurationLoader.load(getClass().getResourceAsStream("/META-INF/conf/empty-advisors.yaml"));
assertTrue(actual.getAdvisors().isEmpty());
}
}
diff --git
a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapperTest.java
b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapperTest.java
index 001151cd3a8..fb34ebcb0c9 100644
---
a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapperTest.java
+++
b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapperTest.java
@@ -38,7 +38,7 @@ public final class YamlAdvisorsConfigurationSwapperTest {
@Test
public void assertSwapToObject() {
Collection<AdvisorConfiguration> actual =
YamlAdvisorsConfigurationSwapper.swapToObject(
- new
Yaml().loadAs(getClass().getResourceAsStream("/conf/advisors.yaml"),
YamlAdvisorsConfiguration.class), "YAML_FIXTURE");
+ new
Yaml().loadAs(getClass().getResourceAsStream("/META-INF/conf/advisors.yaml"),
YamlAdvisorsConfiguration.class), "YAML_FIXTURE");
assertThat(actual.size(), is(1));
assertAdvisorConfiguration(actual.iterator().next());
}
diff --git a/agent/core/src/test/resources/conf/advisors.yaml
b/agent/core/src/test/resources/META-INF/conf/advisors.yaml
similarity index 100%
rename from agent/core/src/test/resources/conf/advisors.yaml
rename to agent/core/src/test/resources/META-INF/conf/advisors.yaml
diff --git a/agent/core/src/test/resources/conf/empty-advisors.yaml
b/agent/core/src/test/resources/META-INF/conf/empty-advisors.yaml
similarity index 100%
rename from agent/core/src/test/resources/conf/empty-advisors.yaml
rename to agent/core/src/test/resources/META-INF/conf/empty-advisors.yaml
diff --git
a/agent/plugins/logging/type/base/src/main/resources/baselogging/advisors.yaml
b/agent/plugins/logging/type/base/src/main/resources/META-INF/conf/baselogging-advisors.yaml
similarity index 100%
rename from
agent/plugins/logging/type/base/src/main/resources/baselogging/advisors.yaml
rename to
agent/plugins/logging/type/base/src/main/resources/META-INF/conf/baselogging-advisors.yaml
diff --git a/agent/plugins/metrics/core/src/test/resources/conf/agent.yaml
b/agent/plugins/metrics/core/src/test/resources/conf/agent.yaml
deleted file mode 100644
index 0ed75454ea4..00000000000
--- a/agent/plugins/metrics/core/src/test/resources/conf/agent.yaml
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-plugins:
- logging:
- BaseLogging:
- props:
- level: "INFO"
- metrics:
- Prometheus:
- host: "localhost"
- port: 9090
- props:
- jvm-information-collector-enabled: "true"
- tracing:
-# Jaeger:
-# host: "localhost"
-# port: 5775
-# props:
-# service-name: "shardingsphere"
-# jaeger-sampler-type: "const"
-# jaeger-sampler-param: "1"
-# jaeger-reporter-log-spans: "true"
-# jaeger-reporter-flush-interval: "1"
- Zipkin:
- host: "localhost"
- port: 9411
- props:
- service-name: "shardingsphere"
- url-version: "/api/v2/spans"
- sampler-type: "const"
- sampler-param: "1"
-# OpenTracing:
-# props:
-# opentracing-tracer-class-name:
"org.apache.skywalking.apm.toolkit.opentracing.SkywalkingTracer"
- OpenTelemetry:
- props:
- otel-resource-attributes: "service.name=shardingsphere"
- otel-traces-exporter: "zipkin"
diff --git
a/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/wrapper/PrometheusWrapperFactory.java
b/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/wrapper/PrometheusWrapperFactory.java
index 1a565a87741..fbaac60a2ed 100644
---
a/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/wrapper/PrometheusWrapperFactory.java
+++
b/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/wrapper/PrometheusWrapperFactory.java
@@ -49,7 +49,7 @@ public final class PrometheusWrapperFactory implements
MetricsWrapperFactory {
@SuppressWarnings("unchecked")
private static void parseMetricsYAML() {
- InputStream inputStream =
PrometheusWrapperFactory.class.getResourceAsStream("/prometheus/metrics.yaml");
+ InputStream inputStream =
PrometheusWrapperFactory.class.getResourceAsStream("/META-INF/conf/prometheus-metrics.yaml");
Map<String, List<Map<String, Object>>> metricsMap = new
Yaml().loadAs(inputStream, LinkedHashMap.class);
metrics = metricsMap.get("metrics");
}
diff --git
a/agent/plugins/metrics/type/prometheus/src/main/resources/prometheus/jdbc-advisors.yaml
b/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-jdbc-advisors.yaml
similarity index 100%
rename from
agent/plugins/metrics/type/prometheus/src/main/resources/prometheus/jdbc-advisors.yaml
rename to
agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-jdbc-advisors.yaml
diff --git
a/agent/plugins/metrics/type/prometheus/src/main/resources/prometheus/metrics.yaml
b/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-metrics.yaml
similarity index 100%
rename from
agent/plugins/metrics/type/prometheus/src/main/resources/prometheus/metrics.yaml
rename to
agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-metrics.yaml
diff --git
a/agent/plugins/metrics/type/prometheus/src/main/resources/prometheus/proxy-advisors.yaml
b/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-proxy-advisors.yaml
similarity index 100%
rename from
agent/plugins/metrics/type/prometheus/src/main/resources/prometheus/proxy-advisors.yaml
rename to
agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/conf/prometheus-proxy-advisors.yaml
diff --git
a/agent/plugins/metrics/type/prometheus/src/test/resources/prometheus/metrics.yaml
b/agent/plugins/metrics/type/prometheus/src/test/resources/META-INF/conf/prometheus-metrics.yaml
similarity index 100%
rename from
agent/plugins/metrics/type/prometheus/src/test/resources/prometheus/metrics.yaml
rename to
agent/plugins/metrics/type/prometheus/src/test/resources/META-INF/conf/prometheus-metrics.yaml
diff --git
a/agent/plugins/tracing/type/jaeger/src/main/resources/jaeger/jdbc-advisors.yaml
b/agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/conf/jaeger-jdbc-advisors.yaml
similarity index 100%
rename from
agent/plugins/tracing/type/jaeger/src/main/resources/jaeger/jdbc-advisors.yaml
rename to
agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/conf/jaeger-jdbc-advisors.yaml
diff --git
a/agent/plugins/tracing/type/jaeger/src/main/resources/jaeger/proxy-advisors.yaml
b/agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/conf/jaeger-proxy-advisors.yaml
similarity index 100%
rename from
agent/plugins/tracing/type/jaeger/src/main/resources/jaeger/proxy-advisors.yaml
rename to
agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/conf/jaeger-proxy-advisors.yaml
diff --git
a/agent/plugins/tracing/type/opentelemetry/src/main/resources/opentelemetry/jdbc-advisors.yaml
b/agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/conf/opentelemetry-jdbc-advisors.yaml
similarity index 100%
rename from
agent/plugins/tracing/type/opentelemetry/src/main/resources/opentelemetry/jdbc-advisors.yaml
rename to
agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/conf/opentelemetry-jdbc-advisors.yaml
diff --git
a/agent/plugins/tracing/type/opentelemetry/src/main/resources/opentelemetry/proxy-advisors.yaml
b/agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/conf/opentelemetry-proxy-advisors.yaml
similarity index 100%
rename from
agent/plugins/tracing/type/opentelemetry/src/main/resources/opentelemetry/proxy-advisors.yaml
rename to
agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/conf/opentelemetry-proxy-advisors.yaml
diff --git
a/agent/plugins/tracing/type/opentracing/src/main/resources/opentracing/jdbc-advisors.yaml
b/agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/conf/opentracing-jdbc-advisors.yaml
similarity index 100%
rename from
agent/plugins/tracing/type/opentracing/src/main/resources/opentracing/jdbc-advisors.yaml
rename to
agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/conf/opentracing-jdbc-advisors.yaml
diff --git
a/agent/plugins/tracing/type/opentracing/src/main/resources/opentracing/proxy-advisors.yaml
b/agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/conf/opentracing-proxy-advisors.yaml
similarity index 100%
rename from
agent/plugins/tracing/type/opentracing/src/main/resources/opentracing/proxy-advisors.yaml
rename to
agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/conf/opentracing-proxy-advisors.yaml
diff --git
a/agent/plugins/tracing/type/zipkin/src/main/resources/zipkin/jdbc-advisors.yaml
b/agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/conf/zipkin-jdbc-advisors.yaml
similarity index 100%
rename from
agent/plugins/tracing/type/zipkin/src/main/resources/zipkin/jdbc-advisors.yaml
rename to
agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/conf/zipkin-jdbc-advisors.yaml
diff --git
a/agent/plugins/tracing/type/zipkin/src/main/resources/zipkin/proxy-advisors.yaml
b/agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/conf/zipkin-proxy-advisors.yaml
similarity index 100%
rename from
agent/plugins/tracing/type/zipkin/src/main/resources/zipkin/proxy-advisors.yaml
rename to
agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/conf/zipkin-proxy-advisors.yaml
diff --git
a/docs/document/content/user-manual/shardingsphere-proxy/observability/_index.cn.md
b/docs/document/content/user-manual/shardingsphere-proxy/observability/_index.cn.md
index 0ec67dcdc4e..0bfd6429228 100644
---
a/docs/document/content/user-manual/shardingsphere-proxy/observability/_index.cn.md
+++
b/docs/document/content/user-manual/shardingsphere-proxy/observability/_index.cn.md
@@ -39,7 +39,7 @@ tree
```
* 配置说明
-`conf/agent.yaml` 用于管理 agent 配置。
+`META-INF/conf/agent.yaml` 用于管理 agent 配置。
内置插件包括 Jaeger、OpenTracing、Zipkin、OpenTelemetry、BaseLogging 及 Prometheus。
默认不开启任何插件。
diff --git
a/docs/document/content/user-manual/shardingsphere-proxy/observability/_index.en.md
b/docs/document/content/user-manual/shardingsphere-proxy/observability/_index.en.md
index d5db6a75e0c..e887e75b295 100644
---
a/docs/document/content/user-manual/shardingsphere-proxy/observability/_index.en.md
+++
b/docs/document/content/user-manual/shardingsphere-proxy/observability/_index.en.md
@@ -39,7 +39,7 @@ tree
```
* Configuration file
-`conf/agent.yaml` is used to manage agent configuration.
+`META-INF/conf/agent.yaml` is used to manage agent configuration.
Built-in plugins include Jaeger, OpenTracing, Zipkin, OpenTelemetry,
BaseLogging and Prometheus.
No plugin is enabled by default.