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/incubator-skywalking-oal-tool.git
The following commit(s) were added to refs/heads/master by this push:
new 177b40d Support new core style.
177b40d is described below
commit 177b40db8de18136ec2c98b63571f331fd9b32bf
Author: Wu Sheng <[email protected]>
AuthorDate: Thu Sep 13 12:47:17 2018 +0800
Support new core style.
---
.../oal/tool/parser/SourceColumnsFactory.java | 29 +++++++++-------------
.../code-templates/IndicatorImplementor.ftl | 27 ++++++++++++++++++--
2 files changed, 37 insertions(+), 19 deletions(-)
diff --git
a/oal-parser/src/main/java/org/apache/skywalking/oal/tool/parser/SourceColumnsFactory.java
b/oal-parser/src/main/java/org/apache/skywalking/oal/tool/parser/SourceColumnsFactory.java
index f0312d5..450c211 100644
---
a/oal-parser/src/main/java/org/apache/skywalking/oal/tool/parser/SourceColumnsFactory.java
+++
b/oal-parser/src/main/java/org/apache/skywalking/oal/tool/parser/SourceColumnsFactory.java
@@ -30,13 +30,13 @@ public class SourceColumnsFactory {
case "Service":
columnList = new LinkedList<>();
// Service id;
- idColumn = new SourceColumn("id", "id", int.class, true);
+ idColumn = new SourceColumn("entityId", "entity_id",
String.class, true);
columnList.add(idColumn);
return columnList;
case "ServiceInstance":
columnList = new LinkedList<>();
// Service instance id;
- idColumn = new SourceColumn("id", "id", int.class, true);
+ idColumn = new SourceColumn("entityId", "entity_id",
String.class, true);
columnList.add(idColumn);
SourceColumn serviceIdColumn = new SourceColumn("serviceId",
"service_id", int.class, false);
columnList.add(serviceIdColumn);
@@ -44,7 +44,7 @@ public class SourceColumnsFactory {
case "Endpoint":
columnList = new LinkedList<>();
// Endpoint id;
- idColumn = new SourceColumn("id", "id", int.class, true);
+ idColumn = new SourceColumn("entityId", "entity_id",
String.class, true);
columnList.add(idColumn);
serviceIdColumn = new SourceColumn("serviceId", "service_id",
int.class, false);
columnList.add(serviceIdColumn);
@@ -57,42 +57,37 @@ public class SourceColumnsFactory {
case "ServiceInstanceJVMGC":
columnList = new LinkedList<>();
// Service instance id;
- idColumn = new SourceColumn("id", "id", int.class, true);
+ idColumn = new SourceColumn("entityId", "entity_id",
String.class, true);
columnList.add(idColumn);
serviceInstanceIdColumn = new
SourceColumn("serviceInstanceId", "service_instance_id", int.class, false);
columnList.add(serviceInstanceIdColumn);
return columnList;
case "ServiceRelation":
columnList = new LinkedList<>();
- SourceColumn sourceService = new
SourceColumn("sourceServiceId", "source_service_id", int.class, true);
+ SourceColumn sourceService = new SourceColumn("entityId",
"source_service_id", String.class, true);
columnList.add(sourceService);
- SourceColumn destService = new SourceColumn("destServiceId",
"dest_service_id", int.class, true);
- columnList.add(destService);
return columnList;
case "ServiceInstanceRelation":
columnList = new LinkedList<>();
+ sourceService = new SourceColumn("entityId", "entity_id",
String.class, true);
+ columnList.add(sourceService);
sourceService = new SourceColumn("sourceServiceId",
"source_service_id", int.class, false);
columnList.add(sourceService);
- destService = new SourceColumn("destServiceId",
"dest_service_id", int.class, false);
+ SourceColumn destService = new SourceColumn("destServiceId",
"destServiceId", int.class, false);
columnList.add(destService);
- SourceColumn sourceServiceInstance = new
SourceColumn("sourceServiceInstanceId", "source_service_instance_id",
int.class, true);
- columnList.add(sourceServiceInstance);
- SourceColumn destServiceInstance = new
SourceColumn("destServiceInstanceId", "dest_service_instance_id", int.class,
true);
- columnList.add(destServiceInstance);
+
return columnList;
case "EndpointRelation":
columnList = new LinkedList<>();
- SourceColumn sourceEndpointColumn = new
SourceColumn("endpointId", "endpoint_id", int.class, true);
+ SourceColumn sourceEndpointColumn = new
SourceColumn("entityId", "entity_id", String.class, true);
columnList.add(sourceEndpointColumn);
- SourceColumn childEndpointColumne = new
SourceColumn("childEndpointId", "child_endpoint_id", int.class, true);
- columnList.add(childEndpointColumne);
sourceService = new SourceColumn("serviceId", "service_id",
int.class, false);
columnList.add(sourceService);
destService = new SourceColumn("childServiceId",
"child_service_id", int.class, false);
columnList.add(destService);
- sourceServiceInstance = new SourceColumn("serviceInstanceId",
"service_instance_id", int.class, false);
+ SourceColumn sourceServiceInstance = new
SourceColumn("serviceInstanceId", "service_instance_id", int.class, false);
columnList.add(sourceServiceInstance);
- destServiceInstance = new
SourceColumn("childServiceInstanceId", "child_service_instance_id", int.class,
false);
+ SourceColumn destServiceInstance = new
SourceColumn("childServiceInstanceId", "child_service_instance_id", int.class,
false);
columnList.add(destServiceInstance);
return columnList;
default:
diff --git
a/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl
b/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl
index 288de69..6576b3a 100644
--- a/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl
+++ b/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl
@@ -56,7 +56,11 @@ public class ${metricName}Indicator extends
${indicatorClassName} implements Ala
String splitJointId = String.valueOf(getTimeBucket());
<#list fieldsFromSource as sourceField>
<#if sourceField.isID()>
+ <#if sourceField.getTypeName() == "String">
+ splitJointId += Const.ID_SPLIT + ${sourceField.fieldName};
+ <#else>
splitJointId += Const.ID_SPLIT +
String.valueOf(${sourceField.fieldName});
+ </#if>
</#if>
</#list>
return splitJointId;
@@ -66,13 +70,32 @@ public class ${metricName}Indicator extends
${indicatorClassName} implements Ala
int result = 17;
<#list fieldsFromSource as sourceField>
<#if sourceField.isID()>
- result = 31 * result + ${sourceField.fieldName};
+ <#if sourceField.getTypeName() == "String">
+ result = 31 * result + ${sourceField.fieldName}.hashCode();
+ <#else>
+ result += Const.ID_SPLIT + ${sourceField.fieldName};
+ </#if>
</#if>
</#list>
result = 31 * result + (int)getTimeBucket();
return result;
}
+
+ @Override public int remoteHashCode() {
+ int result = 17;
+<#list fieldsFromSource as sourceField>
+ <#if sourceField.isID()>
+ <#if sourceField.getTypeName() == "String">
+ result = 31 * result + ${sourceField.fieldName}.hashCode();
+ <#else>
+ result += Const.ID_SPLIT + ${sourceField.fieldName};
+ </#if>
+ </#if>
+</#list>
+ return result;
+ }
+
@Override public boolean equals(Object obj) {
if (this == obj)
return true;
@@ -146,7 +169,7 @@ public class ${metricName}Indicator extends
${indicatorClassName} implements Ala
}
@Override public AlarmMeta getAlarmMeta() {
- return new AlarmMeta("${varName}", Scope.${sourceName}<#if
(fieldsFromSource?size>0) >, <#list fieldsFromSource as
field>${field.fieldName}<#if field_has_next>, </#if></#list></#if>);
+ return new AlarmMeta("${varName}", Scope.${sourceName}<#if
(fieldsFromSource?size>0) ><#list fieldsFromSource as field><#if field.isID()>,
${field.fieldName}</#if></#list></#if>);
}
@Override