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 2019/02/24 03:44:24 UTC
[incubator-skywalking] branch scope-refactor updated: Provide new
and extendable dispatcher generator tool
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch scope-refactor
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git
The following commit(s) were added to refs/heads/scope-refactor by this push:
new 4ffd58a Provide new and extendable dispatcher generator tool
4ffd58a is described below
commit 4ffd58a2c1d48c4fa2ee7c498dad1ef9849d6b14
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Sun Feb 24 11:44:15 2019 +0800
Provide new and extendable dispatcher generator tool
---
.../oal/tool/output/AllDispatcherContext.java | 28 ++++
.../oal/tool/output/DispatcherContext.java | 19 +--
.../skywalking/oal/tool/output/FileGenerator.java | 160 +++------------------
.../DatabaseAccessDispatcherTemplate.ftl | 66 ---------
...spatcherTemplate.ftl => DispatcherTemplate.ftl} | 16 +--
.../code-templates/EndpointDispatcherTemplate.ftl | 67 ---------
.../EndpointRelationDispatcherTemplate.ftl | 66 ---------
.../code-templates/ServiceDispatcherTemplate.ftl | 66 ---------
.../ServiceInstanceDispatcherTemplate.ftl | 66 ---------
.../ServiceInstanceJVMCPUDispatcherTemplate.ftl | 66 ---------
.../ServiceInstanceJVMGCDispatcherTemplate.ftl | 66 ---------
.../ServiceInstanceJVMMemoryDispatcherTemplate.ftl | 66 ---------
...viceInstanceJVMMemoryPoolDispatcherTemplate.ftl | 66 ---------
.../ServiceInstanceRelationDispatcherTemplate.ftl | 66 ---------
.../ServiceRelationDispatcherTemplate.ftl | 66 ---------
.../oal/tool/output/FileGeneratorTest.java | 2 +-
.../IndicatorImplementorExpected.java | 1 -
17 files changed, 65 insertions(+), 888 deletions(-)
diff --git a/oap-server/generate-tool/src/main/java/org/apache/skywalking/oal/tool/output/AllDispatcherContext.java b/oap-server/generate-tool/src/main/java/org/apache/skywalking/oal/tool/output/AllDispatcherContext.java
new file mode 100644
index 0000000..ac11fe7
--- /dev/null
+++ b/oap-server/generate-tool/src/main/java/org/apache/skywalking/oal/tool/output/AllDispatcherContext.java
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ *
+ */
+
+package org.apache.skywalking.oal.tool.output;
+
+import java.util.*;
+import lombok.*;
+
+@Getter
+@Setter
+public class AllDispatcherContext {
+ private Map<String, DispatcherContext> allContext = new HashMap<>();
+}
diff --git a/oap-server/generate-tool/src/main/java/org/apache/skywalking/oal/tool/output/DispatcherContext.java b/oap-server/generate-tool/src/main/java/org/apache/skywalking/oal/tool/output/DispatcherContext.java
index 9a160f8..8c83610 100644
--- a/oap-server/generate-tool/src/main/java/org/apache/skywalking/oal/tool/output/DispatcherContext.java
+++ b/oap-server/generate-tool/src/main/java/org/apache/skywalking/oal/tool/output/DispatcherContext.java
@@ -22,19 +22,10 @@ import java.util.*;
import lombok.*;
import org.apache.skywalking.oal.tool.parser.AnalysisResult;
-@Getter(AccessLevel.PUBLIC)
-@Setter(AccessLevel.PUBLIC)
+@Getter
+@Setter
public class DispatcherContext {
- private List<AnalysisResult> allIndicators = new LinkedList<>();
- private List<AnalysisResult> serviceIndicators = new LinkedList<>();
- private List<AnalysisResult> serviceInstanceIndicators = new LinkedList<>();
- private List<AnalysisResult> endpointIndicators = new LinkedList<>();
- private List<AnalysisResult> serviceRelationIndicators = new LinkedList<>();
- private List<AnalysisResult> serviceInstanceRelationIndicators = new LinkedList<>();
- private List<AnalysisResult> endpointRelationIndicators = new LinkedList<>();
- private List<AnalysisResult> serviceInstanceJVMCPUIndicators = new LinkedList<>();
- private List<AnalysisResult> serviceInstanceJVMMemoryIndicators = new LinkedList<>();
- private List<AnalysisResult> serviceInstanceJVMMemoryPoolIndicators = new LinkedList<>();
- private List<AnalysisResult> serviceInstanceJVMGCIndicators = new LinkedList<>();
- private List<AnalysisResult> databaseAccessIndicators = new LinkedList<>();
+ private String source;
+ private String packageName;
+ private List<AnalysisResult> indicators = new ArrayList<>();
}
diff --git a/oap-server/generate-tool/src/main/java/org/apache/skywalking/oal/tool/output/FileGenerator.java b/oap-server/generate-tool/src/main/java/org/apache/skywalking/oal/tool/output/FileGenerator.java
index 19bb941..469eb97 100644
--- a/oap-server/generate-tool/src/main/java/org/apache/skywalking/oal/tool/output/FileGenerator.java
+++ b/oap-server/generate-tool/src/main/java/org/apache/skywalking/oal/tool/output/FileGenerator.java
@@ -27,7 +27,7 @@ public class FileGenerator {
private List<AnalysisResult> results;
private String outputPath;
private Configuration configuration;
- private DispatcherContext dispatcherContext;
+ private AllDispatcherContext allDispatcherContext;
public FileGenerator(List<AnalysisResult> results, String outputPath) {
this.results = results;
@@ -35,61 +35,19 @@ public class FileGenerator {
configuration = new Configuration(new Version("2.3.28"));
configuration.setEncoding(Locale.ENGLISH, "UTF-8");
configuration.setClassLoaderForTemplateLoading(FileGenerator.class.getClassLoader(), "/code-templates");
- this.toDispatchers();
+ allDispatcherContext = new AllDispatcherContext();
+ buildDispatcherContext();
}
public void generate() throws IOException, TemplateException {
for (AnalysisResult result : results) {
generate(result, "Indicator.java", writer -> generateIndicatorImplementor(result, writer));
- }
-
- File file = new File(outputPath, "generated/all/AllDispatcher.java");
- createFile(file);
- this.generateAllDispatcher(new FileWriter(file));
-
- file = new File(outputPath, "generated/service/ServiceDispatcher.java");
- createFile(file);
- this.generateServiceDispatcher(new FileWriter(file));
-
- file = new File(outputPath, "generated/databaseaccess/DatabaseAccessDispatcher.java");
- createFile(file);
- this.generateDatabaseAccessDispatcher(new FileWriter(file));
-
- file = new File(outputPath, "generated/servicerelation/ServiceRelationDispatcher.java");
- createFile(file);
- this.generateServiceRelationDispatcher(new FileWriter(file));
-
- file = new File(outputPath, "generated/endpoint/EndpointDispatcher.java");
- createFile(file);
- this.generateEndpointDispatcher(new FileWriter(file));
-
- file = new File(outputPath, "generated/endpointrelation/EndpointRelationDispatcher.java");
- createFile(file);
- this.generateEndpointRelationDispatcher(new FileWriter(file));
- file = new File(outputPath, "generated/serviceinstance/ServiceInstanceDispatcher.java");
- createFile(file);
- this.generateServiceInstanceDispatcher(new FileWriter(file));
-
- file = new File(outputPath, "generated/serviceinstancerelation/ServiceInstanceRelationDispatcher.java");
- createFile(file);
- this.generateServiceInstanceRelationDispatcher(new FileWriter(file));
-
- file = new File(outputPath, "generated/serviceinstancejvmcpu/ServiceInstanceJVMCPUDispatcher.java");
- createFile(file);
- this.generateServiceInstanceJVMCPUDispatcher(new FileWriter(file));
-
- file = new File(outputPath, "generated/serviceinstancejvmmemory/ServiceInstanceJVMMemoryDispatcher.java");
- createFile(file);
- this.generateServiceInstanceJVMMemoryDispatcher(new FileWriter(file));
-
- file = new File(outputPath, "generated/serviceinstancejvmmemorypool/ServiceInstanceJVMMemoryPoolDispatcher.java");
- createFile(file);
- this.generateServiceInstanceJVMMemoryPoolDispatcher(new FileWriter(file));
-
- file = new File(outputPath, "generated/serviceinstancejvmgc/ServiceInstanceJVMGCDispatcher.java");
- createFile(file);
- this.generateServiceInstanceJVMGCDispatcher(new FileWriter(file));
+ String scopeName = result.getSourceName();
+ File file = new File(outputPath, "generated/" + scopeName.toLowerCase() + "/" + scopeName + "Dispatcher.java");
+ createFile(file);
+ generateDispatcher(result, new FileWriter(file));
+ }
}
private void generate(AnalysisResult result, String fileSuffix,
@@ -123,98 +81,26 @@ public class FileGenerator {
configuration.getTemplate("IndicatorImplementor.ftl").process(result, output);
}
- void generateAllDispatcher(Writer output) throws IOException, TemplateException {
- configuration.getTemplate("AllDispatcherTemplate.ftl").process(dispatcherContext, output);
- }
-
- void generateServiceDispatcher(Writer output) throws IOException, TemplateException {
- configuration.getTemplate("ServiceDispatcherTemplate.ftl").process(dispatcherContext, output);
- }
-
- void generateDatabaseAccessDispatcher(Writer output) throws IOException, TemplateException {
- configuration.getTemplate("DatabaseAccessDispatcherTemplate.ftl").process(dispatcherContext, output);
- }
-
- void generateServiceRelationDispatcher(Writer output) throws IOException, TemplateException {
- configuration.getTemplate("ServiceRelationDispatcherTemplate.ftl").process(dispatcherContext, output);
- }
-
- void generateEndpointDispatcher(Writer output) throws IOException, TemplateException {
- configuration.getTemplate("EndpointDispatcherTemplate.ftl").process(dispatcherContext, output);
- }
-
- void generateEndpointRelationDispatcher(Writer output) throws IOException, TemplateException {
- configuration.getTemplate("EndpointRelationDispatcherTemplate.ftl").process(dispatcherContext, output);
- }
-
- void generateServiceInstanceDispatcher(Writer output) throws IOException, TemplateException {
- configuration.getTemplate("ServiceInstanceDispatcherTemplate.ftl").process(dispatcherContext, output);
- }
-
- void generateServiceInstanceRelationDispatcher(Writer output) throws IOException, TemplateException {
- configuration.getTemplate("ServiceInstanceRelationDispatcherTemplate.ftl").process(dispatcherContext, output);
- }
-
- void generateServiceInstanceJVMCPUDispatcher(Writer output) throws IOException, TemplateException {
- configuration.getTemplate("ServiceInstanceJVMCPUDispatcherTemplate.ftl").process(dispatcherContext, output);
- }
-
- void generateServiceInstanceJVMMemoryDispatcher(Writer output) throws IOException, TemplateException {
- configuration.getTemplate("ServiceInstanceJVMMemoryDispatcherTemplate.ftl").process(dispatcherContext, output);
- }
-
- void generateServiceInstanceJVMMemoryPoolDispatcher(Writer output) throws IOException, TemplateException {
- configuration.getTemplate("ServiceInstanceJVMMemoryPoolDispatcherTemplate.ftl").process(dispatcherContext, output);
- }
-
- void generateServiceInstanceJVMGCDispatcher(Writer output) throws IOException, TemplateException {
- configuration.getTemplate("ServiceInstanceJVMGCDispatcherTemplate.ftl").process(dispatcherContext, output);
+ void generateDispatcher(AnalysisResult result, Writer output) throws IOException, TemplateException {
+ String scopeName = result.getSourceName();
+ DispatcherContext context = allDispatcherContext.getAllContext().get(scopeName);
+ if (context != null) {
+ configuration.getTemplate("DispatcherTemplate.ftl").process(context, output);
+ }
}
- private void toDispatchers() {
- dispatcherContext = new DispatcherContext();
+ private void buildDispatcherContext() {
for (AnalysisResult result : results) {
String sourceName = result.getSourceName();
- switch (sourceName) {
- case "All":
- dispatcherContext.getAllIndicators().add(result);
- break;
- case "Service":
- dispatcherContext.getServiceIndicators().add(result);
- break;
- case "ServiceRelation":
- dispatcherContext.getServiceRelationIndicators().add(result);
- break;
- case "ServiceInstance":
- dispatcherContext.getServiceInstanceIndicators().add(result);
- break;
- case "ServiceInstanceRelation":
- dispatcherContext.getServiceInstanceRelationIndicators().add(result);
- break;
- case "Endpoint":
- dispatcherContext.getEndpointIndicators().add(result);
- break;
- case "EndpointRelation":
- dispatcherContext.getEndpointRelationIndicators().add(result);
- break;
- case "ServiceInstanceJVMCPU":
- dispatcherContext.getServiceInstanceJVMCPUIndicators().add(result);
- break;
- case "ServiceInstanceJVMMemory":
- dispatcherContext.getServiceInstanceJVMMemoryIndicators().add(result);
- break;
- case "ServiceInstanceJVMMemoryPool":
- dispatcherContext.getServiceInstanceJVMMemoryPoolIndicators().add(result);
- break;
- case "ServiceInstanceJVMGC":
- dispatcherContext.getServiceInstanceJVMGCIndicators().add(result);
- break;
- case "DatabaseAccess":
- dispatcherContext.getDatabaseAccessIndicators().add(result);
- break;
- default:
- throw new RuntimeException("Unexpected dispatcher");
+
+ DispatcherContext context = allDispatcherContext.getAllContext().get(sourceName);
+ if (context == null) {
+ context = new DispatcherContext();
+ context.setSource(sourceName);
+ context.setPackageName(sourceName.toLowerCase());
+ allDispatcherContext.getAllContext().put(sourceName, context);
}
+ context.getIndicators().add(result);
}
}
}
diff --git a/oap-server/generate-tool/src/main/resources/code-templates/DatabaseAccessDispatcherTemplate.ftl b/oap-server/generate-tool/src/main/resources/code-templates/DatabaseAccessDispatcherTemplate.ftl
deleted file mode 100644
index 7bfb7b3..0000000
--- a/oap-server/generate-tool/src/main/resources/code-templates/DatabaseAccessDispatcherTemplate.ftl
+++ /dev/null
@@ -1,66 +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.
-*
-*/
-
-package org.apache.skywalking.oap.server.core.analysis.generated.databaseaccess;
-
-import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher;
-<#if (databaseAccessIndicators?size>0)>
-import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess;
- <#list databaseAccessIndicators as indicator>
- <#if indicator.filterExpressions??>
- import org.apache.skywalking.oap.server.core.analysis.indicator.expression.*;
- <#break>
- </#if>
- </#list>
-</#if>
-import org.apache.skywalking.oap.server.core.source.*;
-
-/**
-* This class is auto generated. Please don't change this class manually.
-*
-* @author Observability Analysis Language code generator
-*/
-public class DatabaseAccessDispatcher implements SourceDispatcher<DatabaseAccess> {
-
- @Override public void dispatch(DatabaseAccess source) {
- <#list databaseAccessIndicators as indicator>
- do${indicator.metricName}(source);
- </#list>
- }
-
- <#list databaseAccessIndicators as indicator>
- private void do${indicator.metricName}(DatabaseAccess source) {
- ${indicator.metricName}Indicator indicator = new ${indicator.metricName}Indicator();
-
- <#if indicator.filterExpressions??>
- <#list indicator.filterExpressions as filterExpression>
- if (!new ${filterExpression.expressionObject}().setLeft(${filterExpression.left}).setRight(${filterExpression.right}).match()) {
- return;
- }
- </#list>
- </#if>
-
- indicator.setTimeBucket(source.getTimeBucket());
- <#list indicator.fieldsFromSource as field>
- indicator.${field.fieldSetter}(source.${field.fieldGetter}());
- </#list>
- indicator.${indicator.entryMethod.methodName}(<#list indicator.entryMethod.argsExpressions as arg>${arg}<#if arg_has_next>, </#if></#list>);
- IndicatorProcess.INSTANCE.in(indicator);
- }
- </#list>
-}
diff --git a/oap-server/generate-tool/src/main/resources/code-templates/AllDispatcherTemplate.ftl b/oap-server/generate-tool/src/main/resources/code-templates/DispatcherTemplate.ftl
similarity index 87%
rename from oap-server/generate-tool/src/main/resources/code-templates/AllDispatcherTemplate.ftl
rename to oap-server/generate-tool/src/main/resources/code-templates/DispatcherTemplate.ftl
index 95ff276..b6068ca 100644
--- a/oap-server/generate-tool/src/main/resources/code-templates/AllDispatcherTemplate.ftl
+++ b/oap-server/generate-tool/src/main/resources/code-templates/DispatcherTemplate.ftl
@@ -16,12 +16,12 @@
*
*/
-package org.apache.skywalking.oap.server.core.analysis.generated.all;
+package org.apache.skywalking.oap.server.core.analysis.generated.${packageName};
import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher;
-<#if (allIndicators?size>0)>
+<#if (indicators?size>0)>
import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess;
- <#list allIndicators as indicator>
+ <#list indicators as indicator>
<#if indicator.filterExpressions??>
import org.apache.skywalking.oap.server.core.analysis.indicator.expression.*;
<#break>
@@ -35,16 +35,16 @@ import org.apache.skywalking.oap.server.core.source.*;
*
* @author Observability Analysis Language code generator
*/
-public class AllDispatcher implements SourceDispatcher<All> {
+public class ${source}Dispatcher implements SourceDispatcher<${source}> {
- @Override public void dispatch(All source) {
-<#list allIndicators as indicator>
+ @Override public void dispatch(${source} source) {
+<#list indicators as indicator>
do${indicator.metricName}(source);
</#list>
}
-<#list allIndicators as indicator>
- private void do${indicator.metricName}(All source) {
+<#list indicators as indicator>
+ private void do${indicator.metricName}(${source} source) {
${indicator.metricName}Indicator indicator = new ${indicator.metricName}Indicator();
<#if indicator.filterExpressions??>
diff --git a/oap-server/generate-tool/src/main/resources/code-templates/EndpointDispatcherTemplate.ftl b/oap-server/generate-tool/src/main/resources/code-templates/EndpointDispatcherTemplate.ftl
deleted file mode 100644
index 468100a..0000000
--- a/oap-server/generate-tool/src/main/resources/code-templates/EndpointDispatcherTemplate.ftl
+++ /dev/null
@@ -1,67 +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.
- *
- */
-
-package org.apache.skywalking.oap.server.core.analysis.generated.endpoint;
-
-import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher;
-<#if (endpointIndicators?size>0)>
-import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess;
- <#list endpointIndicators as indicator>
- <#if indicator.filterExpressions??>
-import org.apache.skywalking.oap.server.core.analysis.indicator.expression.*;
- <#break>
- </#if>
- </#list>
-</#if>
-import org.apache.skywalking.oap.server.core.source.*;
-
-/**
- * This class is auto generated. Please don't change this class manually.
- *
- * @author Observability Analysis Language code generator
- */
-public class EndpointDispatcher implements SourceDispatcher<Endpoint> {
-
- @Override public void dispatch(Endpoint source) {
-<#list endpointIndicators as indicator>
- do${indicator.metricName}(source);
-</#list>
- }
-
-<#list endpointIndicators as indicator>
- private void do${indicator.metricName}(Endpoint source) {
- ${indicator.metricName}Indicator indicator = new ${indicator.metricName}Indicator();
-
- <#if indicator.filterExpressions??>
- <#list indicator.filterExpressions as filterExpression>
- if (!new ${filterExpression.expressionObject}().setLeft(${filterExpression.left}).setRight(${filterExpression.right}).match()) {
- return;
- }
- </#list>
- </#if>
-
- indicator.setTimeBucket(source.getTimeBucket());
- <#list indicator.fieldsFromSource as field>
- indicator.${field.fieldSetter}(source.${field.fieldGetter}());
- </#list>
- indicator.${indicator.entryMethod.methodName}(<#list indicator.entryMethod.argsExpressions as arg>${arg}<#if arg_has_next>, </#if></#list>);
- IndicatorProcess.INSTANCE.in(indicator);
- }
-
-</#list>
-}
diff --git a/oap-server/generate-tool/src/main/resources/code-templates/EndpointRelationDispatcherTemplate.ftl b/oap-server/generate-tool/src/main/resources/code-templates/EndpointRelationDispatcherTemplate.ftl
deleted file mode 100644
index 5b68f81..0000000
--- a/oap-server/generate-tool/src/main/resources/code-templates/EndpointRelationDispatcherTemplate.ftl
+++ /dev/null
@@ -1,66 +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.
- *
- */
-
-package org.apache.skywalking.oap.server.core.analysis.generated.endpointrelation;
-
-import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher;
-<#if (endpointRelationIndicators?size>0)>
-import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess;
- <#list endpointRelationIndicators as indicator>
- <#if indicator.filterExpressions??>
-import org.apache.skywalking.oap.server.core.analysis.indicator.expression.*;
- <#break>
- </#if>
- </#list>
-</#if>
-import org.apache.skywalking.oap.server.core.source.*;
-
-/**
- * This class is auto generated. Please don't change this class manually.
- *
- * @author Observability Analysis Language code generator
- */
-public class EndpointRelationDispatcher implements SourceDispatcher<EndpointRelation> {
-
- @Override public void dispatch(EndpointRelation source) {
-<#list endpointRelationIndicators as indicator>
- do${indicator.metricName}(source);
-</#list>
- }
-
-<#list endpointRelationIndicators as indicator>
- private void do${indicator.metricName}(EndpointRelation source) {
- ${indicator.metricName}Indicator indicator = new ${indicator.metricName}Indicator();
-
- <#if indicator.filterExpressions??>
- <#list indicator.filterExpressions as filterExpression>
- if (!new ${filterExpression.expressionObject}().setLeft(${filterExpression.left}).setRight(${filterExpression.right}).match()) {
- return;
- }
- </#list>
- </#if>
-
- indicator.setTimeBucket(source.getTimeBucket());
- <#list indicator.fieldsFromSource as field>
- indicator.${field.fieldSetter}(source.${field.fieldGetter}());
- </#list>
- indicator.${indicator.entryMethod.methodName}(<#list indicator.entryMethod.argsExpressions as arg>${arg}<#if arg_has_next>, </#if></#list>);
- IndicatorProcess.INSTANCE.in(indicator);
- }
-</#list>
-}
diff --git a/oap-server/generate-tool/src/main/resources/code-templates/ServiceDispatcherTemplate.ftl b/oap-server/generate-tool/src/main/resources/code-templates/ServiceDispatcherTemplate.ftl
deleted file mode 100644
index 78b908d..0000000
--- a/oap-server/generate-tool/src/main/resources/code-templates/ServiceDispatcherTemplate.ftl
+++ /dev/null
@@ -1,66 +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.
- *
- */
-
-package org.apache.skywalking.oap.server.core.analysis.generated.service;
-
-import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher;
-<#if (serviceIndicators?size>0)>
-import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess;
- <#list serviceIndicators as indicator>
- <#if indicator.filterExpressions??>
-import org.apache.skywalking.oap.server.core.analysis.indicator.expression.*;
- <#break>
- </#if>
- </#list>
-</#if>
-import org.apache.skywalking.oap.server.core.source.*;
-
-/**
- * This class is auto generated. Please don't change this class manually.
- *
- * @author Observability Analysis Language code generator
- */
-public class ServiceDispatcher implements SourceDispatcher<Service> {
-
- @Override public void dispatch(Service source) {
-<#list serviceIndicators as indicator>
- do${indicator.metricName}(source);
-</#list>
- }
-
-<#list serviceIndicators as indicator>
- private void do${indicator.metricName}(Service source) {
- ${indicator.metricName}Indicator indicator = new ${indicator.metricName}Indicator();
-
- <#if indicator.filterExpressions??>
- <#list indicator.filterExpressions as filterExpression>
- if (!new ${filterExpression.expressionObject}().setLeft(${filterExpression.left}).setRight(${filterExpression.right}).match()) {
- return;
- }
- </#list>
- </#if>
-
- indicator.setTimeBucket(source.getTimeBucket());
- <#list indicator.fieldsFromSource as field>
- indicator.${field.fieldSetter}(source.${field.fieldGetter}());
- </#list>
- indicator.${indicator.entryMethod.methodName}(<#list indicator.entryMethod.argsExpressions as arg>${arg}<#if arg_has_next>, </#if></#list>);
- IndicatorProcess.INSTANCE.in(indicator);
- }
-</#list>
-}
diff --git a/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceDispatcherTemplate.ftl b/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceDispatcherTemplate.ftl
deleted file mode 100644
index 9ea53a4..0000000
--- a/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceDispatcherTemplate.ftl
+++ /dev/null
@@ -1,66 +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.
- *
- */
-
-package org.apache.skywalking.oap.server.core.analysis.generated.serviceinstance;
-
-import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher;
-<#if (serviceInstanceIndicators?size>0)>
-import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess;
- <#list serviceInstanceIndicators as indicator>
- <#if indicator.filterExpressions??>
-import org.apache.skywalking.oap.server.core.analysis.indicator.expression.*;
- <#break>
- </#if>
- </#list>
-</#if>
-import org.apache.skywalking.oap.server.core.source.*;
-
-/**
- * This class is auto generated. Please don't change this class manually.
- *
- * @author Observability Analysis Language code generator
- */
-public class ServiceInstanceDispatcher implements SourceDispatcher<ServiceInstance> {
-
- @Override public void dispatch(ServiceInstance source) {
-<#list serviceInstanceIndicators as indicator>
- do${indicator.metricName}(source);
-</#list>
- }
-
-<#list serviceInstanceIndicators as indicator>
- private void do${indicator.metricName}(ServiceInstance source) {
- ${indicator.metricName}Indicator indicator = new ${indicator.metricName}Indicator();
-
- <#if indicator.filterExpressions??>
- <#list indicator.filterExpressions as filterExpression>
- if (!new ${filterExpression.expressionObject}().setLeft(${filterExpression.left}).setRight(${filterExpression.right}).match()) {
- return;
- }
- </#list>
- </#if>
-
- indicator.setTimeBucket(source.getTimeBucket());
- <#list indicator.fieldsFromSource as field>
- indicator.${field.fieldSetter}(source.${field.fieldGetter}());
- </#list>
- indicator.${indicator.entryMethod.methodName}(<#list indicator.entryMethod.argsExpressions as arg>${arg}<#if arg_has_next>, </#if></#list>);
- IndicatorProcess.INSTANCE.in(indicator);
- }
-</#list>
-}
diff --git a/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceJVMCPUDispatcherTemplate.ftl b/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceJVMCPUDispatcherTemplate.ftl
deleted file mode 100644
index d1d4913..0000000
--- a/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceJVMCPUDispatcherTemplate.ftl
+++ /dev/null
@@ -1,66 +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.
- *
- */
-
-package org.apache.skywalking.oap.server.core.analysis.generated.serviceinstancejvmcpu;
-
-import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher;
-<#if (serviceInstanceJVMCPUIndicators?size>0)>
-import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess;
- <#list serviceInstanceJVMCPUIndicators as indicator>
- <#if indicator.filterExpressions??>
-import org.apache.skywalking.oap.server.core.analysis.indicator.expression.*;
- <#break>
- </#if>
- </#list>
-</#if>
-import org.apache.skywalking.oap.server.core.source.*;
-
-/**
- * This class is auto generated. Please don't change this class manually.
- *
- * @author Observability Analysis Language code generator
- */
-public class ServiceInstanceJVMCPUDispatcher implements SourceDispatcher<ServiceInstanceJVMCPU> {
-
- @Override public void dispatch(ServiceInstanceJVMCPU source) {
-<#list serviceInstanceJVMCPUIndicators as indicator>
- do${indicator.metricName}(source);
-</#list>
- }
-
-<#list serviceInstanceJVMCPUIndicators as indicator>
- private void do${indicator.metricName}(ServiceInstanceJVMCPU source) {
- ${indicator.metricName}Indicator indicator = new ${indicator.metricName}Indicator();
-
- <#if indicator.filterExpressions??>
- <#list indicator.filterExpressions as filterExpression>
- if (!new ${filterExpression.expressionObject}().setLeft(${filterExpression.left}).setRight(${filterExpression.right}).match()) {
- return;
- }
- </#list>
- </#if>
-
- indicator.setTimeBucket(source.getTimeBucket());
- <#list indicator.fieldsFromSource as field>
- indicator.${field.fieldSetter}(source.${field.fieldGetter}());
- </#list>
- indicator.${indicator.entryMethod.methodName}(<#list indicator.entryMethod.argsExpressions as arg>${arg}<#if arg_has_next>, </#if></#list>);
- IndicatorProcess.INSTANCE.in(indicator);
- }
-</#list>
-}
diff --git a/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceJVMGCDispatcherTemplate.ftl b/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceJVMGCDispatcherTemplate.ftl
deleted file mode 100644
index 7ffb0b3..0000000
--- a/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceJVMGCDispatcherTemplate.ftl
+++ /dev/null
@@ -1,66 +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.
- *
- */
-
-package org.apache.skywalking.oap.server.core.analysis.generated.serviceinstancejvmgc;
-
-import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher;
-<#if (serviceInstanceJVMGCIndicators?size>0)>
-import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess;
- <#list serviceInstanceJVMGCIndicators as indicator>
- <#if indicator.filterExpressions??>
-import org.apache.skywalking.oap.server.core.analysis.indicator.expression.*;
- <#break>
- </#if>
- </#list>
-</#if>
-import org.apache.skywalking.oap.server.core.source.*;
-
-/**
- * This class is auto generated. Please don't change this class manually.
- *
- * @author Observability Analysis Language code generator
- */
-public class ServiceInstanceJVMGCDispatcher implements SourceDispatcher<ServiceInstanceJVMGC> {
-
- @Override public void dispatch(ServiceInstanceJVMGC source) {
-<#list serviceInstanceJVMGCIndicators as indicator>
- do${indicator.metricName}(source);
-</#list>
- }
-
-<#list serviceInstanceJVMGCIndicators as indicator>
- private void do${indicator.metricName}(ServiceInstanceJVMGC source) {
- ${indicator.metricName}Indicator indicator = new ${indicator.metricName}Indicator();
-
- <#if indicator.filterExpressions??>
- <#list indicator.filterExpressions as filterExpression>
- if (!new ${filterExpression.expressionObject}().setLeft(${filterExpression.left}).setRight(${filterExpression.right}).match()) {
- return;
- }
- </#list>
- </#if>
-
- indicator.setTimeBucket(source.getTimeBucket());
- <#list indicator.fieldsFromSource as field>
- indicator.${field.fieldSetter}(source.${field.fieldGetter}());
- </#list>
- indicator.${indicator.entryMethod.methodName}(<#list indicator.entryMethod.argsExpressions as arg>${arg}<#if arg_has_next>, </#if></#list>);
- IndicatorProcess.INSTANCE.in(indicator);
- }
-</#list>
-}
diff --git a/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceJVMMemoryDispatcherTemplate.ftl b/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceJVMMemoryDispatcherTemplate.ftl
deleted file mode 100644
index 3df4b88..0000000
--- a/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceJVMMemoryDispatcherTemplate.ftl
+++ /dev/null
@@ -1,66 +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.
- *
- */
-
-package org.apache.skywalking.oap.server.core.analysis.generated.serviceinstancejvmmemory;
-
-import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher;
-<#if (serviceInstanceJVMMemoryIndicators?size>0)>
-import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess;
- <#list serviceInstanceJVMMemoryIndicators as indicator>
- <#if indicator.filterExpressions??>
-import org.apache.skywalking.oap.server.core.analysis.indicator.expression.*;
- <#break>
- </#if>
- </#list>
-</#if>
-import org.apache.skywalking.oap.server.core.source.*;
-
-/**
- * This class is auto generated. Please don't change this class manually.
- *
- * @author Observability Analysis Language code generator
- */
-public class ServiceInstanceJVMMemoryDispatcher implements SourceDispatcher<ServiceInstanceJVMMemory> {
-
- @Override public void dispatch(ServiceInstanceJVMMemory source) {
-<#list serviceInstanceJVMMemoryIndicators as indicator>
- do${indicator.metricName}(source);
-</#list>
- }
-
-<#list serviceInstanceJVMMemoryIndicators as indicator>
- private void do${indicator.metricName}(ServiceInstanceJVMMemory source) {
- ${indicator.metricName}Indicator indicator = new ${indicator.metricName}Indicator();
-
- <#if indicator.filterExpressions??>
- <#list indicator.filterExpressions as filterExpression>
- if (!new ${filterExpression.expressionObject}().setLeft(${filterExpression.left}).setRight(${filterExpression.right}).match()) {
- return;
- }
- </#list>
- </#if>
-
- indicator.setTimeBucket(source.getTimeBucket());
- <#list indicator.fieldsFromSource as field>
- indicator.${field.fieldSetter}(source.${field.fieldGetter}());
- </#list>
- indicator.${indicator.entryMethod.methodName}(<#list indicator.entryMethod.argsExpressions as arg>${arg}<#if arg_has_next>, </#if></#list>);
- IndicatorProcess.INSTANCE.in(indicator);
- }
-</#list>
-}
diff --git a/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceJVMMemoryPoolDispatcherTemplate.ftl b/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceJVMMemoryPoolDispatcherTemplate.ftl
deleted file mode 100644
index 505e35e..0000000
--- a/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceJVMMemoryPoolDispatcherTemplate.ftl
+++ /dev/null
@@ -1,66 +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.
- *
- */
-
-package org.apache.skywalking.oap.server.core.analysis.generated.serviceinstancejvmmemorypool;
-
-import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher;
-<#if (serviceInstanceJVMMemoryPoolIndicators?size>0)>
-import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess;
- <#list serviceInstanceJVMMemoryPoolIndicators as indicator>
- <#if indicator.filterExpressions??>
-import org.apache.skywalking.oap.server.core.analysis.indicator.expression.*;
- <#break>
- </#if>
- </#list>
-</#if>
-import org.apache.skywalking.oap.server.core.source.*;
-
-/**
- * This class is auto generated. Please don't change this class manually.
- *
- * @author Observability Analysis Language code generator
- */
-public class ServiceInstanceJVMMemoryPoolDispatcher implements SourceDispatcher<ServiceInstanceJVMMemoryPool> {
-
- @Override public void dispatch(ServiceInstanceJVMMemoryPool source) {
-<#list serviceInstanceJVMMemoryPoolIndicators as indicator>
- do${indicator.metricName}(source);
-</#list>
- }
-
-<#list serviceInstanceJVMMemoryPoolIndicators as indicator>
- private void do${indicator.metricName}(ServiceInstanceJVMMemoryPool source) {
- ${indicator.metricName}Indicator indicator = new ${indicator.metricName}Indicator();
-
- <#if indicator.filterExpressions??>
- <#list indicator.filterExpressions as filterExpression>
- if (!new ${filterExpression.expressionObject}().setLeft(${filterExpression.left}).setRight(${filterExpression.right}).match()) {
- return;
- }
- </#list>
- </#if>
-
- indicator.setTimeBucket(source.getTimeBucket());
- <#list indicator.fieldsFromSource as field>
- indicator.${field.fieldSetter}(source.${field.fieldGetter}());
- </#list>
- indicator.${indicator.entryMethod.methodName}(<#list indicator.entryMethod.argsExpressions as arg>${arg}<#if arg_has_next>, </#if></#list>);
- IndicatorProcess.INSTANCE.in(indicator);
- }
-</#list>
-}
diff --git a/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceRelationDispatcherTemplate.ftl b/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceRelationDispatcherTemplate.ftl
deleted file mode 100644
index c7a485a..0000000
--- a/oap-server/generate-tool/src/main/resources/code-templates/ServiceInstanceRelationDispatcherTemplate.ftl
+++ /dev/null
@@ -1,66 +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.
- *
- */
-
-package org.apache.skywalking.oap.server.core.analysis.generated.serviceinstancerelation;
-
-import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher;
-<#if (serviceInstanceRelationIndicators?size>0)>
-import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess;
- <#list serviceInstanceRelationIndicators as indicator>
- <#if indicator.filterExpressions??>
-import org.apache.skywalking.oap.server.core.analysis.indicator.expression.*;
- <#break>
- </#if>
- </#list>
-</#if>
-import org.apache.skywalking.oap.server.core.source.*;
-
-/**
- * This class is auto generated. Please don't change this class manually.
- *
- * @author Observability Analysis Language code generator
- */
-public class ServiceInstanceRelationDispatcher implements SourceDispatcher<ServiceInstanceRelation> {
-
- @Override public void dispatch(ServiceInstanceRelation source) {
-<#list serviceInstanceRelationIndicators as indicator>
- do${indicator.metricName}(source);
-</#list>
- }
-
-<#list serviceInstanceRelationIndicators as indicator>
- private void do${indicator.metricName}(ServiceInstanceRelation source) {
- ${indicator.metricName}Indicator indicator = new ${indicator.metricName}Indicator();
-
- <#if indicator.filterExpressions??>
- <#list indicator.filterExpressions as filterExpression>
- if (!new ${filterExpression.expressionObject}().setLeft(${filterExpression.left}).setRight(${filterExpression.right}).match()) {
- return;
- }
- </#list>
- </#if>
-
- indicator.setTimeBucket(source.getTimeBucket());
- <#list indicator.fieldsFromSource as field>
- indicator.${field.fieldSetter}(source.${field.fieldGetter}());
- </#list>
- indicator.${indicator.entryMethod.methodName}(<#list indicator.entryMethod.argsExpressions as arg>${arg}<#if arg_has_next>, </#if></#list>);
- IndicatorProcess.INSTANCE.in(indicator);
- }
-</#list>
-}
diff --git a/oap-server/generate-tool/src/main/resources/code-templates/ServiceRelationDispatcherTemplate.ftl b/oap-server/generate-tool/src/main/resources/code-templates/ServiceRelationDispatcherTemplate.ftl
deleted file mode 100644
index 42fd47e..0000000
--- a/oap-server/generate-tool/src/main/resources/code-templates/ServiceRelationDispatcherTemplate.ftl
+++ /dev/null
@@ -1,66 +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.
- *
- */
-
-package org.apache.skywalking.oap.server.core.analysis.generated.servicerelation;
-
-import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher;
-<#if (serviceRelationIndicators?size>0)>
-import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess;
- <#list serviceRelationIndicators as indicator>
- <#if indicator.filterExpressions??>
-import org.apache.skywalking.oap.server.core.analysis.indicator.expression.*;
- <#break>
- </#if>
- </#list>
-</#if>
-import org.apache.skywalking.oap.server.core.source.*;
-
-/**
- * This class is auto generated. Please don't change this class manually.
- *
- * @author Observability Analysis Language code generator
- */
-public class ServiceRelationDispatcher implements SourceDispatcher<ServiceRelation> {
-
- @Override public void dispatch(ServiceRelation source) {
-<#list serviceRelationIndicators as indicator>
- do${indicator.metricName}(source);
-</#list>
- }
-
-<#list serviceRelationIndicators as indicator>
- private void do${indicator.metricName}(ServiceRelation source) {
- ${indicator.metricName}Indicator indicator = new ${indicator.metricName}Indicator();
-
- <#if indicator.filterExpressions??>
- <#list indicator.filterExpressions as filterExpression>
- if (!new ${filterExpression.expressionObject}().setLeft(${filterExpression.left}).setRight(${filterExpression.right}).match()) {
- return;
- }
- </#list>
- </#if>
-
- indicator.setTimeBucket(source.getTimeBucket());
- <#list indicator.fieldsFromSource as field>
- indicator.${field.fieldSetter}(source.${field.fieldGetter}());
- </#list>
- indicator.${indicator.entryMethod.methodName}(<#list indicator.entryMethod.argsExpressions as arg>${arg}<#if arg_has_next>, </#if></#list>);
- IndicatorProcess.INSTANCE.in(indicator);
- }
-</#list>
-}
diff --git a/oap-server/generate-tool/src/test/java/org/apache/skywalking/oal/tool/output/FileGeneratorTest.java b/oap-server/generate-tool/src/test/java/org/apache/skywalking/oal/tool/output/FileGeneratorTest.java
index cd7847d..1740a1d 100644
--- a/oap-server/generate-tool/src/test/java/org/apache/skywalking/oal/tool/output/FileGeneratorTest.java
+++ b/oap-server/generate-tool/src/test/java/org/apache/skywalking/oal/tool/output/FileGeneratorTest.java
@@ -93,7 +93,7 @@ public class FileGeneratorTest {
FileGenerator fileGenerator = new FileGenerator(results, ".");
StringWriter writer = new StringWriter();
- fileGenerator.generateServiceDispatcher(writer);
+ fileGenerator.generateDispatcher(result, writer);
Assert.assertEquals(readExpectedFile("ServiceDispatcherExpected.java"), writer.toString());
//fileGenerator.generateServiceDispatcher(new OutputStreamWriter(System.out));
diff --git a/oap-server/generate-tool/src/test/resources/expectedFiles/IndicatorImplementorExpected.java b/oap-server/generate-tool/src/test/resources/expectedFiles/IndicatorImplementorExpected.java
index 4f825c8..461553b 100644
--- a/oap-server/generate-tool/src/test/resources/expectedFiles/IndicatorImplementorExpected.java
+++ b/oap-server/generate-tool/src/test/resources/expectedFiles/IndicatorImplementorExpected.java
@@ -29,7 +29,6 @@ import org.apache.skywalking.oap.server.core.remote.annotation.StreamData;
import org.apache.skywalking.oap.server.core.remote.grpc.proto.RemoteData;
import org.apache.skywalking.oap.server.core.storage.annotation.*;
import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
-import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine;
/**
* This class is auto generated. Please don't change this class manually.