You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2021/10/26 08:34:35 UTC
[skywalking] branch master updated: Support JDK 16 and 17. (#8005)
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git
The following commit(s) were added to refs/heads/master by this push:
new e575701 Support JDK 16 and 17. (#8005)
e575701 is described below
commit e575701f85495235b210b770b90c8edcc5e25a05
Author: 吴晟 Wu Sheng <wu...@foxmail.com>
AuthorDate: Tue Oct 26 16:34:24 2021 +0800
Support JDK 16 and 17. (#8005)
---
.github/workflows/e2e.jdk-versions.yaml | 2 +-
CHANGES.md | 1 +
docs/en/setup/backend/backend-setup.md | 2 +-
.../org/apache/skywalking/oal/rt/OALRuntime.java | 26 +++++++++++++++++----
.../dispatcher/DispatcherClassPackageHolder.java} | 22 ++++++------------
.../oal/rt/metrics/MetricClassPackageHolder.java} | 22 ++++++------------
.../builder/MetricBuilderClassPackageHolder.java} | 22 ++++++------------
.../server/core/analysis/meter/MeterSystem.java | 27 ++++++++++++++--------
.../meter/dynamic/MeterClassPackageHolder.java} | 22 ++++++------------
.../oap/server/core/oal/rt/OALDefine.java | 23 +++++++++++++-----
.../oap/server/receiver/envoy/TCPOALDefine.java | 2 +-
11 files changed, 89 insertions(+), 82 deletions(-)
diff --git a/.github/workflows/e2e.jdk-versions.yaml b/.github/workflows/e2e.jdk-versions.yaml
index b68b6a2..36db82e 100644
--- a/.github/workflows/e2e.jdk-versions.yaml
+++ b/.github/workflows/e2e.jdk-versions.yaml
@@ -33,7 +33,7 @@ jobs:
timeout-minutes: 90
strategy:
matrix:
- jdk: [ 8, 11, 12, 13, 14, 15 ]
+ jdk: [ 8, 11, 12, 13, 14, 15, 16 ]
env:
SW_AGENT_JDK_VERSION: ${{ matrix.jdk }}
SW_OAP_BASE_IMAGE: adoptopenjdk/openjdk${{ matrix.jdk }}:alpine-jre
diff --git a/CHANGES.md b/CHANGES.md
index 60bd3e7..831aecb 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -24,6 +24,7 @@ Release Notes.
- Profile
- Kafka: Base, Meter, Log, Profile
- Client-JS
+* Support JDK 16 and 17.
#### OAP Server
diff --git a/docs/en/setup/backend/backend-setup.md b/docs/en/setup/backend/backend-setup.md
index 543392f..b5651de 100755
--- a/docs/en/setup/backend/backend-setup.md
+++ b/docs/en/setup/backend/backend-setup.md
@@ -15,7 +15,7 @@ SkyWalking's backend distribution package consists of the following parts:
## Requirements and default settings
-Requirement: **JDK8 to JDK12 are tested**. Other versions are not tested and may or may not work.
+Requirement: **JDK8 to JDK17 are tested**. Other versions are not tested and may or may not work.
Before you start, you should know that the main purpose of quickstart is to help you obtain a basic configuration for previews/demo. Performance and long-term running are not our goals.
diff --git a/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/OALRuntime.java b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/OALRuntime.java
index c75e837..df2c663 100644
--- a/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/OALRuntime.java
+++ b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/OALRuntime.java
@@ -49,6 +49,8 @@ import javassist.bytecode.annotation.IntegerMemberValue;
import javassist.bytecode.annotation.StringMemberValue;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang3.JavaVersion;
+import org.apache.commons.lang3.SystemUtils;
import org.apache.skywalking.apm.util.StringUtil;
import org.apache.skywalking.oal.rt.output.AllDispatcherContext;
import org.apache.skywalking.oal.rt.output.DispatcherContext;
@@ -65,6 +67,9 @@ import org.apache.skywalking.oap.server.core.analysis.StreamAnnotationListener;
import org.apache.skywalking.oap.server.core.oal.rt.OALCompileException;
import org.apache.skywalking.oap.server.core.oal.rt.OALDefine;
import org.apache.skywalking.oap.server.core.oal.rt.OALEngine;
+import org.apache.skywalking.oap.server.core.source.oal.rt.dispatcher.DispatcherClassPackageHolder;
+import org.apache.skywalking.oap.server.core.source.oal.rt.metrics.MetricClassPackageHolder;
+import org.apache.skywalking.oap.server.core.source.oal.rt.metrics.builder.MetricBuilderClassPackageHolder;
import org.apache.skywalking.oap.server.core.storage.StorageBuilderFactory;
import org.apache.skywalking.oap.server.core.storage.StorageException;
import org.apache.skywalking.oap.server.core.storage.annotation.Column;
@@ -295,7 +300,8 @@ public class OALRuntime implements OALEngine {
constPool, AnnotationsAttribute.visibleTag);
Annotation streamAnnotation = new Annotation(Stream.class.getName(), constPool);
streamAnnotation.addMemberValue("name", new StringMemberValue(metricsStmt.getTableName(), constPool));
- streamAnnotation.addMemberValue("scopeId", new IntegerMemberValue(constPool, metricsStmt.getFrom().getSourceScopeId()));
+ streamAnnotation.addMemberValue(
+ "scopeId", new IntegerMemberValue(constPool, metricsStmt.getFrom().getSourceScopeId()));
streamAnnotation.addMemberValue(
"builder", new ClassMemberValue(metricsBuilderClassName(metricsStmt, true), constPool));
streamAnnotation.addMemberValue("processor", new ClassMemberValue(METRICS_STREAM_PROCESSOR, constPool));
@@ -305,7 +311,11 @@ public class OALRuntime implements OALEngine {
Class targetClass;
try {
- targetClass = metricsClass.toClass(currentClassLoader, null);
+ if (SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8)) {
+ targetClass = metricsClass.toClass(currentClassLoader, null);
+ } else {
+ targetClass = metricsClass.toClass(MetricClassPackageHolder.class);
+ }
} catch (CannotCompileException e) {
log.error("Can't compile/load " + className + ".", e);
throw new OALCompileException(e.getMessage(), e);
@@ -359,7 +369,11 @@ public class OALRuntime implements OALEngine {
}
try {
- metricsBuilderClass.toClass(currentClassLoader, null);
+ if (SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8)) {
+ metricsBuilderClass.toClass(currentClassLoader, null);
+ } else {
+ metricsBuilderClass.toClass(MetricBuilderClassPackageHolder.class);
+ }
} catch (CannotCompileException e) {
log.error("Can't compile/load " + className + ".", e);
throw new OALCompileException(e.getMessage(), e);
@@ -437,7 +451,11 @@ public class OALRuntime implements OALEngine {
Class targetClass;
try {
- targetClass = dispatcherClass.toClass(currentClassLoader, null);
+ if (SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8)) {
+ targetClass = dispatcherClass.toClass(currentClassLoader, null);
+ } else {
+ targetClass = dispatcherClass.toClass(DispatcherClassPackageHolder.class);
+ }
} catch (CannotCompileException e) {
log.error("Can't compile/load " + className + ".", e);
throw new OALCompileException(e.getMessage(), e);
diff --git a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/TCPOALDefine.java b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oap/server/core/source/oal/rt/dispatcher/DispatcherClassPackageHolder.java
similarity index 58%
copy from oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/TCPOALDefine.java
copy to oap-server/oal-rt/src/main/java/org/apache/skywalking/oap/server/core/source/oal/rt/dispatcher/DispatcherClassPackageHolder.java
index 93ca899..076cc70 100644
--- a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/TCPOALDefine.java
+++ b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oap/server/core/source/oal/rt/dispatcher/DispatcherClassPackageHolder.java
@@ -6,30 +6,22 @@
* (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
+ * 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.
+ *
*/
-package org.apache.skywalking.oap.server.receiver.envoy;
-
-import org.apache.skywalking.oap.server.core.oal.rt.OALDefine;
+package org.apache.skywalking.oap.server.core.source.oal.rt.dispatcher;
/**
- * OAL rules to calculate TCP-specific metrics.
+ * DispatcherClassPackageHolder holds the package for generated metric classes.
+ *
+ * @since 8.9.0 for adopting JDK16+ to avoid `--add-opens java.base/java.lang=ALL-UNNAMED`
*/
-public class TCPOALDefine extends OALDefine {
- public static final TCPOALDefine INSTANCE = new TCPOALDefine();
-
- private TCPOALDefine() {
- super(
- "oal/tcp.oal",
- "org.apache.skywalking.oap.server.core.source",
- "org.apache.skywalking.oap.server.core.source.tcp"
- );
- }
+public class DispatcherClassPackageHolder {
}
diff --git a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/TCPOALDefine.java b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oap/server/core/source/oal/rt/metrics/MetricClassPackageHolder.java
similarity index 58%
copy from oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/TCPOALDefine.java
copy to oap-server/oal-rt/src/main/java/org/apache/skywalking/oap/server/core/source/oal/rt/metrics/MetricClassPackageHolder.java
index 93ca899..c95ff64 100644
--- a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/TCPOALDefine.java
+++ b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oap/server/core/source/oal/rt/metrics/MetricClassPackageHolder.java
@@ -6,30 +6,22 @@
* (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
+ * 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.
+ *
*/
-package org.apache.skywalking.oap.server.receiver.envoy;
-
-import org.apache.skywalking.oap.server.core.oal.rt.OALDefine;
+package org.apache.skywalking.oap.server.core.source.oal.rt.metrics;
/**
- * OAL rules to calculate TCP-specific metrics.
+ * MetricClassPackageHolder holds the package for generated metric classes.
+ *
+ * @since 8.9.0 for adopting JDK16+ to avoid `--add-opens java.base/java.lang=ALL-UNNAMED`
*/
-public class TCPOALDefine extends OALDefine {
- public static final TCPOALDefine INSTANCE = new TCPOALDefine();
-
- private TCPOALDefine() {
- super(
- "oal/tcp.oal",
- "org.apache.skywalking.oap.server.core.source",
- "org.apache.skywalking.oap.server.core.source.tcp"
- );
- }
+public class MetricClassPackageHolder {
}
diff --git a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/TCPOALDefine.java b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oap/server/core/source/oal/rt/metrics/builder/MetricBuilderClassPackageHolder.java
similarity index 58%
copy from oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/TCPOALDefine.java
copy to oap-server/oal-rt/src/main/java/org/apache/skywalking/oap/server/core/source/oal/rt/metrics/builder/MetricBuilderClassPackageHolder.java
index 93ca899..ef10c24 100644
--- a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/TCPOALDefine.java
+++ b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oap/server/core/source/oal/rt/metrics/builder/MetricBuilderClassPackageHolder.java
@@ -6,30 +6,22 @@
* (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
+ * 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.
+ *
*/
-package org.apache.skywalking.oap.server.receiver.envoy;
-
-import org.apache.skywalking.oap.server.core.oal.rt.OALDefine;
+package org.apache.skywalking.oap.server.core.source.oal.rt.metrics.builder;
/**
- * OAL rules to calculate TCP-specific metrics.
+ * MetricBuilderClassPackageHolder holds the package for generated metric builder classes.
+ *
+ * @since 8.9.0 for adopting JDK16+ to avoid `--add-opens java.base/java.lang=ALL-UNNAMED`
*/
-public class TCPOALDefine extends OALDefine {
- public static final TCPOALDefine INSTANCE = new TCPOALDefine();
-
- private TCPOALDefine() {
- super(
- "oal/tcp.oal",
- "org.apache.skywalking.oap.server.core.source",
- "org.apache.skywalking.oap.server.core.source.tcp"
- );
- }
+public class MetricBuilderClassPackageHolder {
}
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/MeterSystem.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/MeterSystem.java
index 9930155..5ea1e70 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/MeterSystem.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/MeterSystem.java
@@ -36,9 +36,12 @@ import javassist.NotFoundException;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.JavaVersion;
+import org.apache.commons.lang3.SystemUtils;
import org.apache.skywalking.oap.server.core.UnexpectedException;
import org.apache.skywalking.oap.server.core.analysis.StreamDefinition;
import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
+import org.apache.skywalking.oap.server.core.analysis.meter.dynamic.MeterClassPackageHolder;
import org.apache.skywalking.oap.server.core.analysis.meter.function.AcceptableValue;
import org.apache.skywalking.oap.server.core.analysis.meter.function.MeterFunction;
import org.apache.skywalking.oap.server.core.analysis.metrics.Metrics;
@@ -103,8 +106,8 @@ public class MeterSystem implements Service {
* @throws UnexpectedException if binary code manipulation fails or stream core failure.
*/
public synchronized <T> void create(String metricsName,
- String functionName,
- ScopeType type) throws IllegalArgumentException {
+ String functionName,
+ ScopeType type) throws IllegalArgumentException {
final Class<? extends AcceptableValue> meterFunction = functionRegister.get(functionName);
if (meterFunction == null) {
@@ -138,9 +141,9 @@ public class MeterSystem implements Service {
* @throws UnexpectedException if binary code manipulation fails or stream core failure.
*/
public synchronized <T> void create(String metricsName,
- String functionName,
- ScopeType type,
- Class<T> dataType) throws IllegalArgumentException {
+ String functionName,
+ ScopeType type,
+ Class<T> dataType) throws IllegalArgumentException {
/**
* Create a new meter class dynamically.
*/
@@ -191,11 +194,13 @@ public class MeterSystem implements Service {
*/
try {
CtClass existingMetric = classPool.get(METER_CLASS_PACKAGE + className);
- if (existingMetric.getSuperclass() != parentClass || type != meterPrototypes.get(metricsName).getScopeType()) {
- throw new IllegalArgumentException(metricsName + " has been defined, but calculate function or/are scope type is/are different.");
+ if (existingMetric.getSuperclass() != parentClass || type != meterPrototypes.get(metricsName)
+ .getScopeType()) {
+ throw new IllegalArgumentException(
+ metricsName + " has been defined, but calculate function or/are scope type is/are different.");
}
log.info("Metric {} is already defined, so skip the metric creation.", metricsName);
- return ;
+ return;
} catch (NotFoundException e) {
}
@@ -230,7 +235,11 @@ public class MeterSystem implements Service {
Class targetClass;
try {
- targetClass = metricsClass.toClass(MeterSystem.class.getClassLoader(), null);
+ if (SystemUtils.isJavaVersionAtMost(JavaVersion.JAVA_1_8)) {
+ targetClass = metricsClass.toClass(MeterSystem.class.getClassLoader(), null);
+ } else {
+ targetClass = metricsClass.toClass(MeterClassPackageHolder.class);
+ }
AcceptableValue prototype = (AcceptableValue) targetClass.newInstance();
meterPrototypes.put(metricsName, new MeterDefinition(type, prototype, dataType));
diff --git a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/TCPOALDefine.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/dynamic/MeterClassPackageHolder.java
similarity index 58%
copy from oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/TCPOALDefine.java
copy to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/dynamic/MeterClassPackageHolder.java
index 93ca899..7d3b6b5 100644
--- a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/TCPOALDefine.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/dynamic/MeterClassPackageHolder.java
@@ -6,30 +6,22 @@
* (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
+ * 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.
+ *
*/
-package org.apache.skywalking.oap.server.receiver.envoy;
-
-import org.apache.skywalking.oap.server.core.oal.rt.OALDefine;
+package org.apache.skywalking.oap.server.core.analysis.meter.dynamic;
/**
- * OAL rules to calculate TCP-specific metrics.
+ * MeterClassPackageHolder holds the package for generated meter classes.
+ *
+ * @since 8.9.0 for adopting JDK16+ to avoid `--add-opens java.base/java.lang=ALL-UNNAMED`
*/
-public class TCPOALDefine extends OALDefine {
- public static final TCPOALDefine INSTANCE = new TCPOALDefine();
-
- private TCPOALDefine() {
- super(
- "oal/tcp.oal",
- "org.apache.skywalking.oap.server.core.source",
- "org.apache.skywalking.oap.server.core.source.tcp"
- );
- }
+public class MeterClassPackageHolder {
}
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/oal/rt/OALDefine.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/oal/rt/OALDefine.java
index b33cd07..128c74f 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/oal/rt/OALDefine.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/oal/rt/OALDefine.java
@@ -20,6 +20,7 @@ package org.apache.skywalking.oap.server.core.oal.rt;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.ToString;
+import org.apache.skywalking.apm.util.StringUtil;
import org.apache.skywalking.oap.server.core.Const;
import static java.util.Objects.requireNonNull;
@@ -32,18 +33,28 @@ import static java.util.Objects.requireNonNull;
@EqualsAndHashCode
public abstract class OALDefine {
protected OALDefine(final String configFile,
- final String sourcePackage) {
- this(configFile, sourcePackage, sourcePackage);
+ final String sourcePackage) {
+ this(configFile, sourcePackage, Const.EMPTY_STRING);
}
+ /**
+ * Define the booting parameters for OAL engine
+ *
+ * @param configFile OAL script file path
+ * @param sourcePackage the package path of source(s) used in given config OAL script file
+ * @param catalog of metrics defined through given OAL script file. Be used as prefix of generated dispatcher
+ * class name.
+ */
protected OALDefine(final String configFile,
final String sourcePackage,
- final String dispatcherPackage) {
+ final String catalog) {
this.configFile = requireNonNull(configFile);
this.sourcePackage = appendPoint(requireNonNull(sourcePackage));
- this.dynamicMetricsClassPackage = appendPoint(sourcePackage + ".oal.rt.metrics");
- this.dynamicMetricsBuilderClassPackage = appendPoint(sourcePackage + ".oal.rt.metrics.builder");
- this.dynamicDispatcherClassPackage = appendPoint(dispatcherPackage + ".oal.rt.dispatcher");
+ this.dynamicMetricsClassPackage = "org.apache.skywalking.oap.server.core.source.oal.rt.metrics.";
+ this.dynamicMetricsBuilderClassPackage = "org.apache.skywalking.oap.server.core.source.oal.rt.metrics.builder.";
+ this.dynamicDispatcherClassPackage = StringUtil.isBlank(catalog) ?
+ "org.apache.skywalking.oap.server.core.source.oal.rt.dispatcher." :
+ "org.apache.skywalking.oap.server.core.source.oal.rt.dispatcher." + catalog;
}
private final String configFile;
diff --git a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/TCPOALDefine.java b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/TCPOALDefine.java
index 93ca899..baae129 100644
--- a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/TCPOALDefine.java
+++ b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/TCPOALDefine.java
@@ -29,7 +29,7 @@ public class TCPOALDefine extends OALDefine {
super(
"oal/tcp.oal",
"org.apache.skywalking.oap.server.core.source",
- "org.apache.skywalking.oap.server.core.source.tcp"
+ "EnvoyTCP"
);
}
}