This is an automated email from the ASF dual-hosted git repository.
panjuan 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 495289ca8e9 Refactor BuildInfoExporter (#23660)
495289ca8e9 is described below
commit 495289ca8e9899e94b737c7a74bf2f3289ae18ff
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Jan 19 22:28:05 2023 +0800
Refactor BuildInfoExporter (#23660)
---
.../shardingsphere/agent/core/log/LoggerFactory.java | 5 ++---
...BuildInfoExporter.java => BuildInfoExporter.java} | 20 ++++++--------------
.../impl/proxy/ProxyMetaDataInfoExporter.java | 2 +-
...oExporterTest.java => BuildInfoExporterTest.java} | 8 ++++----
.../prometheus/PrometheusPluginLifecycleService.java | 4 ++--
.../shardingsphere-proxy/observability/_index.cn.md | 2 +-
.../shardingsphere-proxy/observability/_index.en.md | 2 +-
7 files changed, 17 insertions(+), 26 deletions(-)
diff --git
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/log/LoggerFactory.java
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/log/LoggerFactory.java
index 76ad6868b09..eab485002e9 100644
---
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/log/LoggerFactory.java
+++
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/log/LoggerFactory.java
@@ -39,7 +39,7 @@ import java.util.LinkedList;
import java.util.jar.JarFile;
/**
- * Logger factory.
+ * Agent logger factory.
*/
public final class LoggerFactory {
@@ -55,8 +55,7 @@ public final class LoggerFactory {
public static Logger getLogger(final Class<?> clazz) {
Class<?> factoryClazz =
getClassLoader().loadClass("org.slf4j.LoggerFactory");
Method method = factoryClazz.getMethod("getLogger", Class.class);
- Object log = method.invoke(null, clazz);
- return new Logger(log);
+ return new Logger(method.invoke(null, clazz));
}
@SneakyThrows({URISyntaxException.class, IOException.class})
diff --git
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/JDKBuildInfoExporter.java
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/BuildInfoExporter.java
similarity index 72%
rename from
agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/JDKBuildInfoExporter.java
rename to
agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/BuildInfoExporter.java
index 28e28fe3286..7cb49eb9ae0 100644
---
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/JDKBuildInfoExporter.java
+++
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/BuildInfoExporter.java
@@ -17,42 +17,34 @@
package org.apache.shardingsphere.agent.plugin.metrics.core.exporter.impl;
-import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.agent.plugin.metrics.core.collector.MetricsCollectorRegistry;
import
org.apache.shardingsphere.agent.plugin.metrics.core.collector.type.GaugeMetricFamilyMetricsCollector;
import
org.apache.shardingsphere.agent.plugin.metrics.core.config.MetricCollectorType;
import
org.apache.shardingsphere.agent.plugin.metrics.core.config.MetricConfiguration;
import
org.apache.shardingsphere.agent.plugin.metrics.core.exporter.MetricsExporter;
-import org.apache.shardingsphere.proxy.Bootstrap;
import java.util.Arrays;
import java.util.Collections;
import java.util.Optional;
/**
- * JDK build information collector.
+ * Build information exporter.
*/
-@RequiredArgsConstructor
-public final class JDKBuildInfoExporter implements MetricsExporter {
+public final class BuildInfoExporter implements MetricsExporter {
- private final MetricConfiguration config = new
MetricConfiguration("jdk_build_info",
- MetricCollectorType.GAUGE_METRIC_FAMILY, "JDK build information",
Arrays.asList("version", "name"), Collections.emptyMap());
+ private final MetricConfiguration config = new
MetricConfiguration("build_info",
+ MetricCollectorType.GAUGE_METRIC_FAMILY, "Build information",
Arrays.asList("name", "version"), Collections.emptyMap());
@Override
public Optional<GaugeMetricFamilyMetricsCollector> export(final String
pluginType) {
GaugeMetricFamilyMetricsCollector result =
MetricsCollectorRegistry.get(config, pluginType);
addJDKBuildInfo(result, getClass().getPackage());
- try {
- Class.forName(Bootstrap.class.getCanonicalName());
- addJDKBuildInfo(result, Bootstrap.class.getPackage());
- } catch (final ClassNotFoundException ignored) {
- }
return Optional.of(result);
}
private void addJDKBuildInfo(final GaugeMetricFamilyMetricsCollector
collector, final Package pkg) {
+ String name = "ShardingSphere";
String version = null == pkg.getImplementationVersion() ? "unknown" :
pkg.getImplementationVersion();
- String name = null == pkg.getImplementationTitle() ? "unknown" :
pkg.getImplementationTitle();
- collector.addMetric(Arrays.asList(version, name), 1d);
+ collector.addMetric(Arrays.asList(name, version), 1d);
}
}
diff --git
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/proxy/ProxyMetaDataInfoExporter.java
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/proxy/ProxyMetaDataInfoExporter.java
index 2f83fcba0f2..a44a7794cb2 100644
---
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/proxy/ProxyMetaDataInfoExporter.java
+++
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/proxy/ProxyMetaDataInfoExporter.java
@@ -37,7 +37,7 @@ import java.util.HashSet;
import java.util.Optional;
/**
- * Proxy meta data information collector.
+ * Proxy meta data information exporter.
*/
@Slf4j
public final class ProxyMetaDataInfoExporter implements MetricsExporter {
diff --git
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/JDKBuildInfoExporterTest.java
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/BuildInfoExporterTest.java
similarity index 87%
rename from
agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/JDKBuildInfoExporterTest.java
rename to
agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/BuildInfoExporterTest.java
index 205371dd7c2..ce16aa396c0 100644
---
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/JDKBuildInfoExporterTest.java
+++
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/BuildInfoExporterTest.java
@@ -33,18 +33,18 @@ import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertTrue;
-public final class JDKBuildInfoExporterTest {
+public final class BuildInfoExporterTest {
@After
public void reset() {
- MetricConfiguration config = new MetricConfiguration("jdk_build_info",
MetricCollectorType.GAUGE_METRIC_FAMILY, null, Arrays.asList("version",
"name"), Collections.emptyMap());
+ MetricConfiguration config = new MetricConfiguration("build_info",
MetricCollectorType.GAUGE_METRIC_FAMILY, null, Arrays.asList("name",
"version"), Collections.emptyMap());
((MetricsCollectorFixture) MetricsCollectorRegistry.get(config,
"FIXTURE")).reset();
}
@Test
public void assertExport() {
- Optional<GaugeMetricFamilyMetricsCollector> collector = new
JDKBuildInfoExporter().export("FIXTURE");
+ Optional<GaugeMetricFamilyMetricsCollector> collector = new
BuildInfoExporter().export("FIXTURE");
assertTrue(collector.isPresent());
- assertThat(((MetricsCollectorFixture) collector.get()).getValue(),
is(2d));
+ assertThat(((MetricsCollectorFixture) collector.get()).getValue(),
is(1d));
}
}
diff --git
a/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleService.java
b/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleService.java
index 180194ef27b..21a90111e74 100644
---
a/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleService.java
+++
b/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleService.java
@@ -24,7 +24,7 @@ import io.prometheus.client.hotspot.DefaultExports;
import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.agent.api.PluginConfiguration;
import
org.apache.shardingsphere.agent.plugin.core.config.validator.PluginConfigurationValidator;
-import
org.apache.shardingsphere.agent.plugin.metrics.core.exporter.impl.JDKBuildInfoExporter;
+import
org.apache.shardingsphere.agent.plugin.metrics.core.exporter.impl.BuildInfoExporter;
import
org.apache.shardingsphere.agent.plugin.metrics.core.exporter.impl.proxy.ProxyMetaDataInfoExporter;
import
org.apache.shardingsphere.agent.plugin.metrics.core.exporter.impl.proxy.ProxyStateExporter;
import
org.apache.shardingsphere.agent.plugin.metrics.prometheus.exoprter.PrometheusMetricsExporter;
@@ -61,7 +61,7 @@ public final class PrometheusPluginLifecycleService
implements PluginLifecycleSe
}
private void registerCollector(final boolean isCollectJVMInformation,
final boolean isEnhancedForProxy) {
- new PrometheusMetricsExporter(new JDKBuildInfoExporter()).register();
+ new PrometheusMetricsExporter(new BuildInfoExporter()).register();
if (isEnhancedForProxy) {
new PrometheusMetricsExporter(new ProxyStateExporter()).register();
new PrometheusMetricsExporter(new
ProxyMetaDataInfoExporter()).register();
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 8b2cc43556b..bd3c659197d 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
@@ -156,7 +156,7 @@ services:
| 指标名称 | 指标类型 | 指标描述
|
| :-------------------------------- | :------------------ |
:------------------------------------------------------------------------------------
|
-| jdk_build_info | GAUGE_METRIC_FAMILY | 构建信息
|
+| build_info | GAUGE_METRIC_FAMILY | 构建信息
|
| parsed_sql_total | COUNTER |
按类型(INSERT、UPDATE、DELETE、SELECT、DDL、DCL、DAL、TCL、RQL、RDL、RAL、RUL)分类的解析总数 |
| routed_sql_total | COUNTER |
按类型(INSERT、UPDATE、DELETE、SELECT)分类的路由总数 |
| routed_data_sources_total | COUNTER | 数据源路由总数
|
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 ad4a0143e2b..b44cef31be4 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
@@ -159,7 +159,7 @@ services:
| Name | Type | Description
|
| :-------------------------------- | :------------------ |
:-------------------------------------------------------------------------------------------------------------------------------------
|
-| jdk_build_info | GAUGE_METRIC_FAMILY | Build information
|
+| build_info | GAUGE_METRIC_FAMILY | Build information
|
| parsed_sql_total | COUNTER | Total count of
parsed by type (INSERT, UPDATE, DELETE, SELECT, DDL, DCL, DAL, TCL, RQL, RDL,
RAL, RUL) |
| routed_sql_total | COUNTER | Total count of
routed by type (INSERT, UPDATE, DELETE, SELECT)
|
| routed_data_sources_total | COUNTER | Total count of
data source routed
|