From fd83aa55afa4375db6a14f4046c8df1d1cb129d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=99=9F=20Wu=20Sheng?= Date: Thu, 13 Sep 2018 16:38:50 +0800 Subject: [PATCH] Support new indicator core. (#1669) * Support new indicator core. * Block 2 unaccessible methods. * Add service call as manual indicator and refactor the core DIspatcherManager --- .../core/alarm/provider/RunningRuleTest.java | 4 + .../oap/server/core/alarm/AlarmEntrance.java | 2 +- .../oap/server/core/alarm/AlarmMeta.java | 25 ++- .../oap/server/core/alarm/ScopeIDs.java | 52 ------ .../core/analysis/DispatcherManager.java | 36 ++-- .../generated/all/AllHeatmapIndicator.java | 6 + .../generated/all/AllP50Indicator.java | 6 + .../generated/all/AllP75Indicator.java | 6 + .../generated/all/AllP90Indicator.java | 6 + .../generated/all/AllP95Indicator.java | 6 + .../generated/all/AllP99Indicator.java | 6 + .../endpoint/EndpointAvgIndicator.java | 43 +++-- .../endpoint/EndpointDispatcher.java | 4 +- .../endpoint/EndpointPercentIndicator.java | 43 +++-- .../EndpointRelationAvgIndicator.java | 63 ++++--- .../EndpointRelationDispatcher.java | 3 +- .../service/ServiceAvgIndicator.java | 35 ++-- .../service/ServiceCallsSumIndicator.java | 31 ++-- .../generated/service/ServiceDispatcher.java | 4 +- .../ServiceInstanceDispatcher.java | 2 +- .../ServiceInstanceRespTimeIndicator.java | 39 +++-- .../InstanceJvmCpuIndicator.java | 39 +++-- .../ServiceInstanceJVMCPUDispatcher.java | 2 +- .../InstanceJvmYoungGcTimeIndicator.java | 39 +++-- .../ServiceInstanceJVMGCDispatcher.java | 2 +- .../InstanceJvmMemoryMaxIndicator.java | 39 +++-- .../ServiceInstanceJVMMemoryDispatcher.java | 2 +- .../InstanceJvmMemoryPoolMaxIndicator.java | 39 +++-- ...erviceInstanceJVMMemoryPoolDispatcher.java | 2 +- .../ServiceInstanceRelationAvgIndicator.java | 53 +++--- .../ServiceInstanceRelationDispatcher.java | 3 +- .../ServiceRelationAvgIndicator.java | 47 +++--- ...erviceRelationClientCallsSumIndicator.java | 43 +++-- .../ServiceRelationDispatcher.java | 9 +- ...erviceRelationServerCallsSumIndicator.java | 43 +++-- .../service/ServiceComponentIndicator.java | 7 + .../service/ServiceMappingIndicator.java | 7 + .../ServiceCallRelationDispatcher.java | 41 +++++ .../ServiceCallRelationIndicator.java | 155 ++++++++++++++++++ .../core/register/EndpointInventory.java | 4 + .../register/NetworkAddressInventory.java | 4 + .../register/ServiceInstanceInventory.java | 4 + .../core/register/ServiceInventory.java | 4 + .../server/core/remote/data/StreamData.java | 2 + .../remote/selector/HashCodeSelector.java | 2 +- .../oap/server/core/source/All.java | 5 + .../oap/server/core/source/Endpoint.java | 4 + .../server/core/source/EndpointRelation.java | 5 + .../oap/server/core/source/Service.java | 4 + .../server/core/source/ServiceComponent.java | 7 + .../server/core/source/ServiceInstance.java | 4 + .../core/source/ServiceInstanceJVMCPU.java | 4 + .../core/source/ServiceInstanceJVMGC.java | 4 + .../core/source/ServiceInstanceJVMMemory.java | 4 + .../source/ServiceInstanceJVMMemoryPool.java | 4 + .../core/source/ServiceInstanceRelation.java | 5 + .../server/core/source/ServiceMapping.java | 6 + .../server/core/source/ServiceRelation.java | 5 + .../oap/server/core/source/Source.java | 2 + .../core/source/SourceReceiverImpl.java | 2 +- .../analysis/indicator/IndicatorTest.java | 4 + .../indicator/LongAvgIndicatorTest.java | 4 + .../indicator/PercentIndicatorTest.java | 4 + .../analysis/indicator/PxxIndicatorTest.java | 4 + .../analysis/indicator/SumIndicatorTest.java | 4 + .../indicator/ThermodynamicIndicatorTest.java | 4 + 66 files changed, 721 insertions(+), 382 deletions(-) delete mode 100644 oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ScopeIDs.java create mode 100644 oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/servicerelation/ServiceCallRelationDispatcher.java create mode 100644 oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/servicerelation/ServiceCallRelationIndicator.java diff --git a/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/RunningRuleTest.java b/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/RunningRuleTest.java index 538d097be7..12121df45c 100644 --- a/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/RunningRuleTest.java +++ b/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/RunningRuleTest.java @@ -267,5 +267,9 @@ public class RunningRuleTest { public void setValue(int value) { this.value = value; } + + @Override public int remoteHashCode() { + return 0; + } } } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmEntrance.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmEntrance.java index 69c83df9d2..b8da0410f9 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmEntrance.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmEntrance.java @@ -51,7 +51,7 @@ public class AlarmEntrance { MetaInAlarm metaInAlarm = null; switch (alarmMeta.getScope()) { case Service: - int serviceId = alarmMeta.getIds().getID(0); + int serviceId = Integer.parseInt(alarmMeta.getId()); ServiceInventory serviceInventory = serviceInventoryCache.get(serviceId); ServiceMetaInAlarm serviceMetaInAlarm = new ServiceMetaInAlarm(); serviceMetaInAlarm.setIndicatorName(alarmMeta.getIndicatorName()); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmMeta.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmMeta.java index ff921dd040..a09198215c 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmMeta.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmMeta.java @@ -18,7 +18,6 @@ package org.apache.skywalking.oap.server.core.alarm; -import java.util.Objects; import lombok.Getter; import lombok.Setter; import org.apache.skywalking.oap.server.core.source.Scope; @@ -29,25 +28,25 @@ import org.apache.skywalking.oap.server.core.source.Scope; public class AlarmMeta { @Setter @Getter private String indicatorName; @Setter @Getter private Scope scope; - @Setter @Getter private ScopeIDs ids; + @Setter @Getter private String id; - public AlarmMeta(String indicatorName, Scope scope, int... ids) { + public AlarmMeta(String indicatorName, Scope scope) { this.indicatorName = indicatorName; this.scope = scope; - this.ids = new ScopeIDs(ids); + this.id = id; } - @Override public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - AlarmMeta meta = (AlarmMeta)o; - return Objects.equals(ids, meta.ids); + public AlarmMeta(String indicatorName, Scope scope, String id) { + this.indicatorName = indicatorName; + this.scope = scope; + this.id = id; } - @Override public int hashCode() { + public String getId() { + return id; + } - return Objects.hash(ids); + public void setId(String id) { + this.id = id; } } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ScopeIDs.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ScopeIDs.java deleted file mode 100644 index 9196fa4d62..0000000000 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ScopeIDs.java +++ /dev/null @@ -1,52 +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.alarm; - -import java.util.Arrays; - -/** - * Scope IDs represent IDs of this scope. - * Such as: - * 1. Service, Endpoint have a single int ID. - * 2. Service Relation ID is combined by two INTs. - */ -public class ScopeIDs { - private int[] ids; - - public ScopeIDs(int... ids) { - this.ids = ids; - } - - public int getID(int idx) { - return ids[idx]; - } - - @Override public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - ScopeIDs ds = (ScopeIDs)o; - return Arrays.equals(ids, ds.ids); - } - - @Override public int hashCode() { - return Arrays.hashCode(ids); - } -} diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/DispatcherManager.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/DispatcherManager.java index cd6c5084f2..7a44a31548 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/DispatcherManager.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/DispatcherManager.java @@ -31,7 +31,9 @@ import org.apache.skywalking.oap.server.core.analysis.generated.serviceinstancej import org.apache.skywalking.oap.server.core.analysis.generated.serviceinstancerelation.ServiceInstanceRelationDispatcher; import org.apache.skywalking.oap.server.core.analysis.generated.servicerelation.ServiceRelationDispatcher; import org.apache.skywalking.oap.server.core.analysis.manual.service.*; +import org.apache.skywalking.oap.server.core.analysis.manual.servicerelation.ServiceCallRelationDispatcher; import org.apache.skywalking.oap.server.core.source.Scope; +import org.apache.skywalking.oap.server.core.source.Source; import org.slf4j.*; /** @@ -41,31 +43,33 @@ public class DispatcherManager { private static final Logger logger = LoggerFactory.getLogger(DispatcherManager.class); - private Map dispatcherMap; + private Map dispatcherMap; public DispatcherManager() { this.dispatcherMap = new HashMap<>(); - this.dispatcherMap.put(Scope.All, new AllDispatcher()); + this.dispatcherMap.put(Scope.All, new SourceDispatcher[] {new AllDispatcher()}); - this.dispatcherMap.put(Scope.Service, new ServiceDispatcher()); - this.dispatcherMap.put(Scope.ServiceInstance, new ServiceInstanceDispatcher()); - this.dispatcherMap.put(Scope.Endpoint, new EndpointDispatcher()); + this.dispatcherMap.put(Scope.Service, new SourceDispatcher[] {new ServiceDispatcher()}); + this.dispatcherMap.put(Scope.ServiceInstance, new SourceDispatcher[] {new ServiceInstanceDispatcher()}); + this.dispatcherMap.put(Scope.Endpoint, new SourceDispatcher[] {new EndpointDispatcher()}); - this.dispatcherMap.put(Scope.ServiceComponent, new ServiceComponentDispatcher()); - this.dispatcherMap.put(Scope.ServiceMapping, new ServiceMappingDispatcher()); + this.dispatcherMap.put(Scope.ServiceComponent, new SourceDispatcher[] {new ServiceComponentDispatcher()}); + this.dispatcherMap.put(Scope.ServiceMapping, new SourceDispatcher[] {new ServiceMappingDispatcher()}); - this.dispatcherMap.put(Scope.ServiceRelation, new ServiceRelationDispatcher()); - this.dispatcherMap.put(Scope.ServiceInstanceRelation, new ServiceInstanceRelationDispatcher()); - this.dispatcherMap.put(Scope.EndpointRelation, new EndpointRelationDispatcher()); + this.dispatcherMap.put(Scope.ServiceRelation, new SourceDispatcher[] {new ServiceRelationDispatcher(), new ServiceCallRelationDispatcher()}); + this.dispatcherMap.put(Scope.ServiceInstanceRelation, new SourceDispatcher[] {new ServiceInstanceRelationDispatcher()}); + this.dispatcherMap.put(Scope.EndpointRelation, new SourceDispatcher[] {new EndpointRelationDispatcher()}); - this.dispatcherMap.put(Scope.ServiceInstanceJVMCPU, new ServiceInstanceJVMCPUDispatcher()); - this.dispatcherMap.put(Scope.ServiceInstanceJVMGC, new ServiceInstanceJVMGCDispatcher()); - this.dispatcherMap.put(Scope.ServiceInstanceJVMMemory, new ServiceInstanceJVMMemoryDispatcher()); - this.dispatcherMap.put(Scope.ServiceInstanceJVMMemoryPool, new ServiceInstanceJVMMemoryPoolDispatcher()); + this.dispatcherMap.put(Scope.ServiceInstanceJVMCPU, new SourceDispatcher[] {new ServiceInstanceJVMCPUDispatcher()}); + this.dispatcherMap.put(Scope.ServiceInstanceJVMGC, new SourceDispatcher[] {new ServiceInstanceJVMGCDispatcher()}); + this.dispatcherMap.put(Scope.ServiceInstanceJVMMemory, new SourceDispatcher[] {new ServiceInstanceJVMMemoryDispatcher()}); + this.dispatcherMap.put(Scope.ServiceInstanceJVMMemoryPool, new SourceDispatcher[] {new ServiceInstanceJVMMemoryPoolDispatcher()}); } - public SourceDispatcher getDispatcher(Scope scope) { - return dispatcherMap.get(scope); + public void forward(Source source) { + for (SourceDispatcher dispatcher : dispatcherMap.get(source.scope())) { + dispatcher.dispatch(source); + } } } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllHeatmapIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllHeatmapIndicator.java index f40a9b6dad..a1261cb00d 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllHeatmapIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllHeatmapIndicator.java @@ -51,6 +51,12 @@ public class AllHeatmapIndicator extends ThermodynamicIndicator implements Alarm return result; } + + @Override public int remoteHashCode() { + int result = 17; + return result; + } + @Override public boolean equals(Object obj) { if (this == obj) return true; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP50Indicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP50Indicator.java index 3906026990..3471b31ad6 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP50Indicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP50Indicator.java @@ -51,6 +51,12 @@ public class AllP50Indicator extends P50Indicator implements AlarmSupported { return result; } + + @Override public int remoteHashCode() { + int result = 17; + return result; + } + @Override public boolean equals(Object obj) { if (this == obj) return true; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP75Indicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP75Indicator.java index 306ee23d4b..4bf661b2aa 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP75Indicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP75Indicator.java @@ -51,6 +51,12 @@ public class AllP75Indicator extends P75Indicator implements AlarmSupported { return result; } + + @Override public int remoteHashCode() { + int result = 17; + return result; + } + @Override public boolean equals(Object obj) { if (this == obj) return true; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP90Indicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP90Indicator.java index 455fdfebb9..e2771a89db 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP90Indicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP90Indicator.java @@ -51,6 +51,12 @@ public class AllP90Indicator extends P90Indicator implements AlarmSupported { return result; } + + @Override public int remoteHashCode() { + int result = 17; + return result; + } + @Override public boolean equals(Object obj) { if (this == obj) return true; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP95Indicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP95Indicator.java index 8df0ca5505..cc9c840583 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP95Indicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP95Indicator.java @@ -51,6 +51,12 @@ public class AllP95Indicator extends P95Indicator implements AlarmSupported { return result; } + + @Override public int remoteHashCode() { + int result = 17; + return result; + } + @Override public boolean equals(Object obj) { if (this == obj) return true; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP99Indicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP99Indicator.java index 880a42b3a0..031d7cb278 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP99Indicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP99Indicator.java @@ -51,6 +51,12 @@ public class AllP99Indicator extends P99Indicator implements AlarmSupported { return result; } + + @Override public int remoteHashCode() { + int result = 17; + return result; + } + @Override public boolean equals(Object obj) { if (this == obj) return true; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointAvgIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointAvgIndicator.java index dcbf8bf6c7..c7e104bd7f 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointAvgIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointAvgIndicator.java @@ -41,23 +41,30 @@ import org.apache.skywalking.oap.server.core.source.Scope; @StorageEntity(name = "endpoint_avg", builder = EndpointAvgIndicator.Builder.class) public class EndpointAvgIndicator extends LongAvgIndicator implements AlarmSupported { - @Setter @Getter @Column(columnName = "id") @IDColumn private int id; + @Setter @Getter @Column(columnName = "entity_id") @IDColumn private String entityId; @Setter @Getter @Column(columnName = "service_id") private int serviceId; @Setter @Getter @Column(columnName = "service_instance_id") private int serviceInstanceId; @Override public String id() { String splitJointId = String.valueOf(getTimeBucket()); - splitJointId += Const.ID_SPLIT + String.valueOf(id); + splitJointId += Const.ID_SPLIT + entityId; return splitJointId; } @Override public int hashCode() { int result = 17; - result = 31 * result + id; + result = 31 * result + entityId.hashCode(); result = 31 * result + (int)getTimeBucket(); return result; } + + @Override public int remoteHashCode() { + int result = 17; + result = 31 * result + entityId.hashCode(); + return result; + } + @Override public boolean equals(Object obj) { if (this == obj) return true; @@ -67,7 +74,7 @@ public class EndpointAvgIndicator extends LongAvgIndicator implements AlarmSuppo return false; EndpointAvgIndicator indicator = (EndpointAvgIndicator)obj; - if (id != indicator.id) + if (entityId != indicator.entityId) return false; if (getTimeBucket() != indicator.getTimeBucket()) @@ -78,44 +85,44 @@ public class EndpointAvgIndicator extends LongAvgIndicator implements AlarmSuppo @Override public RemoteData.Builder serialize() { RemoteData.Builder remoteBuilder = RemoteData.newBuilder(); + remoteBuilder.setDataStrings(0, getEntityId()); remoteBuilder.setDataLongs(0, getSummation()); remoteBuilder.setDataLongs(1, getValue()); remoteBuilder.setDataLongs(2, getTimeBucket()); - remoteBuilder.setDataIntegers(0, getId()); - remoteBuilder.setDataIntegers(1, getServiceId()); - remoteBuilder.setDataIntegers(2, getServiceInstanceId()); - remoteBuilder.setDataIntegers(3, getCount()); + remoteBuilder.setDataIntegers(0, getServiceId()); + remoteBuilder.setDataIntegers(1, getServiceInstanceId()); + remoteBuilder.setDataIntegers(2, getCount()); return remoteBuilder; } @Override public void deserialize(RemoteData remoteData) { + setEntityId(remoteData.getDataStrings(0)); setSummation(remoteData.getDataLongs(0)); setValue(remoteData.getDataLongs(1)); setTimeBucket(remoteData.getDataLongs(2)); - setId(remoteData.getDataIntegers(0)); - setServiceId(remoteData.getDataIntegers(1)); - setServiceInstanceId(remoteData.getDataIntegers(2)); - setCount(remoteData.getDataIntegers(3)); + setServiceId(remoteData.getDataIntegers(0)); + setServiceInstanceId(remoteData.getDataIntegers(1)); + setCount(remoteData.getDataIntegers(2)); } @Override public AlarmMeta getAlarmMeta() { - return new AlarmMeta("endpoint_Avg", Scope.Endpoint, id, serviceId, serviceInstanceId); + return new AlarmMeta("endpoint_Avg", Scope.Endpoint, entityId); } @Override public Indicator toHour() { EndpointAvgIndicator indicator = new EndpointAvgIndicator(); indicator.setTimeBucket(toTimeBucketInHour()); - indicator.setId(this.getId()); + indicator.setEntityId(this.getEntityId()); indicator.setServiceId(this.getServiceId()); indicator.setServiceInstanceId(this.getServiceInstanceId()); indicator.setSummation(this.getSummation()); @@ -129,7 +136,7 @@ public class EndpointAvgIndicator extends LongAvgIndicator implements AlarmSuppo public Indicator toDay() { EndpointAvgIndicator indicator = new EndpointAvgIndicator(); indicator.setTimeBucket(toTimeBucketInDay()); - indicator.setId(this.getId()); + indicator.setEntityId(this.getEntityId()); indicator.setServiceId(this.getServiceId()); indicator.setServiceInstanceId(this.getServiceInstanceId()); indicator.setSummation(this.getSummation()); @@ -143,7 +150,7 @@ public class EndpointAvgIndicator extends LongAvgIndicator implements AlarmSuppo public Indicator toMonth() { EndpointAvgIndicator indicator = new EndpointAvgIndicator(); indicator.setTimeBucket(toTimeBucketInMonth()); - indicator.setId(this.getId()); + indicator.setEntityId(this.getEntityId()); indicator.setServiceId(this.getServiceId()); indicator.setServiceInstanceId(this.getServiceInstanceId()); indicator.setSummation(this.getSummation()); @@ -157,7 +164,7 @@ public class EndpointAvgIndicator extends LongAvgIndicator implements AlarmSuppo @Override public Map data2Map(EndpointAvgIndicator storageData) { Map map = new HashMap<>(); - map.put("id", storageData.getId()); + map.put("entity_id", storageData.getEntityId()); map.put("service_id", storageData.getServiceId()); map.put("service_instance_id", storageData.getServiceInstanceId()); map.put("summation", storageData.getSummation()); @@ -169,7 +176,7 @@ public class EndpointAvgIndicator extends LongAvgIndicator implements AlarmSuppo @Override public EndpointAvgIndicator map2Data(Map dbMap) { EndpointAvgIndicator indicator = new EndpointAvgIndicator(); - indicator.setId(((Number)dbMap.get("id")).intValue()); + indicator.setEntityId((String)dbMap.get("entity_id")); indicator.setServiceId(((Number)dbMap.get("service_id")).intValue()); indicator.setServiceInstanceId(((Number)dbMap.get("service_instance_id")).intValue()); indicator.setSummation(((Number)dbMap.get("summation")).longValue()); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointDispatcher.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointDispatcher.java index 16f7595941..20c9c7d710 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointDispatcher.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointDispatcher.java @@ -39,7 +39,7 @@ public class EndpointDispatcher implements SourceDispatcher { indicator.setTimeBucket(source.getTimeBucket()); - indicator.setId(source.getId()); + indicator.setEntityId(source.getEntityId()); indicator.setServiceId(source.getServiceId()); indicator.setServiceInstanceId(source.getServiceInstanceId()); indicator.combine(source.getLatency(), 1); @@ -51,7 +51,7 @@ public class EndpointDispatcher implements SourceDispatcher { indicator.setTimeBucket(source.getTimeBucket()); - indicator.setId(source.getId()); + indicator.setEntityId(source.getEntityId()); indicator.setServiceId(source.getServiceId()); indicator.setServiceInstanceId(source.getServiceInstanceId()); indicator.combine(new org.apache.skywalking.oap.server.core.analysis.indicator.expression.EqualMatch(), source.isStatus(), true); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointPercentIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointPercentIndicator.java index 88d300b13d..44b98f2e74 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointPercentIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointPercentIndicator.java @@ -41,23 +41,30 @@ import org.apache.skywalking.oap.server.core.source.Scope; @StorageEntity(name = "endpoint_percent", builder = EndpointPercentIndicator.Builder.class) public class EndpointPercentIndicator extends PercentIndicator implements AlarmSupported { - @Setter @Getter @Column(columnName = "id") @IDColumn private int id; + @Setter @Getter @Column(columnName = "entity_id") @IDColumn private String entityId; @Setter @Getter @Column(columnName = "service_id") private int serviceId; @Setter @Getter @Column(columnName = "service_instance_id") private int serviceInstanceId; @Override public String id() { String splitJointId = String.valueOf(getTimeBucket()); - splitJointId += Const.ID_SPLIT + String.valueOf(id); + splitJointId += Const.ID_SPLIT + entityId; return splitJointId; } @Override public int hashCode() { int result = 17; - result = 31 * result + id; + result = 31 * result + entityId.hashCode(); result = 31 * result + (int)getTimeBucket(); return result; } + + @Override public int remoteHashCode() { + int result = 17; + result = 31 * result + entityId.hashCode(); + return result; + } + @Override public boolean equals(Object obj) { if (this == obj) return true; @@ -67,7 +74,7 @@ public class EndpointPercentIndicator extends PercentIndicator implements AlarmS return false; EndpointPercentIndicator indicator = (EndpointPercentIndicator)obj; - if (id != indicator.id) + if (entityId != indicator.entityId) return false; if (getTimeBucket() != indicator.getTimeBucket()) @@ -78,44 +85,44 @@ public class EndpointPercentIndicator extends PercentIndicator implements AlarmS @Override public RemoteData.Builder serialize() { RemoteData.Builder remoteBuilder = RemoteData.newBuilder(); + remoteBuilder.setDataStrings(0, getEntityId()); remoteBuilder.setDataLongs(0, getTotal()); remoteBuilder.setDataLongs(1, getMatch()); remoteBuilder.setDataLongs(2, getTimeBucket()); - remoteBuilder.setDataIntegers(0, getId()); - remoteBuilder.setDataIntegers(1, getServiceId()); - remoteBuilder.setDataIntegers(2, getServiceInstanceId()); - remoteBuilder.setDataIntegers(3, getPercentage()); + remoteBuilder.setDataIntegers(0, getServiceId()); + remoteBuilder.setDataIntegers(1, getServiceInstanceId()); + remoteBuilder.setDataIntegers(2, getPercentage()); return remoteBuilder; } @Override public void deserialize(RemoteData remoteData) { + setEntityId(remoteData.getDataStrings(0)); setTotal(remoteData.getDataLongs(0)); setMatch(remoteData.getDataLongs(1)); setTimeBucket(remoteData.getDataLongs(2)); - setId(remoteData.getDataIntegers(0)); - setServiceId(remoteData.getDataIntegers(1)); - setServiceInstanceId(remoteData.getDataIntegers(2)); - setPercentage(remoteData.getDataIntegers(3)); + setServiceId(remoteData.getDataIntegers(0)); + setServiceInstanceId(remoteData.getDataIntegers(1)); + setPercentage(remoteData.getDataIntegers(2)); } @Override public AlarmMeta getAlarmMeta() { - return new AlarmMeta("endpoint_percent", Scope.Endpoint, id, serviceId, serviceInstanceId); + return new AlarmMeta("endpoint_percent", Scope.Endpoint, entityId); } @Override public Indicator toHour() { EndpointPercentIndicator indicator = new EndpointPercentIndicator(); indicator.setTimeBucket(toTimeBucketInHour()); - indicator.setId(this.getId()); + indicator.setEntityId(this.getEntityId()); indicator.setServiceId(this.getServiceId()); indicator.setServiceInstanceId(this.getServiceInstanceId()); indicator.setTotal(this.getTotal()); @@ -129,7 +136,7 @@ public class EndpointPercentIndicator extends PercentIndicator implements AlarmS public Indicator toDay() { EndpointPercentIndicator indicator = new EndpointPercentIndicator(); indicator.setTimeBucket(toTimeBucketInDay()); - indicator.setId(this.getId()); + indicator.setEntityId(this.getEntityId()); indicator.setServiceId(this.getServiceId()); indicator.setServiceInstanceId(this.getServiceInstanceId()); indicator.setTotal(this.getTotal()); @@ -143,7 +150,7 @@ public class EndpointPercentIndicator extends PercentIndicator implements AlarmS public Indicator toMonth() { EndpointPercentIndicator indicator = new EndpointPercentIndicator(); indicator.setTimeBucket(toTimeBucketInMonth()); - indicator.setId(this.getId()); + indicator.setEntityId(this.getEntityId()); indicator.setServiceId(this.getServiceId()); indicator.setServiceInstanceId(this.getServiceInstanceId()); indicator.setTotal(this.getTotal()); @@ -157,7 +164,7 @@ public class EndpointPercentIndicator extends PercentIndicator implements AlarmS @Override public Map data2Map(EndpointPercentIndicator storageData) { Map map = new HashMap<>(); - map.put("id", storageData.getId()); + map.put("entity_id", storageData.getEntityId()); map.put("service_id", storageData.getServiceId()); map.put("service_instance_id", storageData.getServiceInstanceId()); map.put("total", storageData.getTotal()); @@ -169,7 +176,7 @@ public class EndpointPercentIndicator extends PercentIndicator implements AlarmS @Override public EndpointPercentIndicator map2Data(Map dbMap) { EndpointPercentIndicator indicator = new EndpointPercentIndicator(); - indicator.setId(((Number)dbMap.get("id")).intValue()); + indicator.setEntityId((String)dbMap.get("entity_id")); indicator.setServiceId(((Number)dbMap.get("service_id")).intValue()); indicator.setServiceInstanceId(((Number)dbMap.get("service_instance_id")).intValue()); indicator.setTotal(((Number)dbMap.get("total")).longValue()); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationAvgIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationAvgIndicator.java index b9f1488d01..28b336dddf 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationAvgIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationAvgIndicator.java @@ -41,8 +41,7 @@ import org.apache.skywalking.oap.server.core.source.Scope; @StorageEntity(name = "endpointrelation_avg", builder = EndpointRelationAvgIndicator.Builder.class) public class EndpointRelationAvgIndicator extends LongAvgIndicator implements AlarmSupported { - @Setter @Getter @Column(columnName = "endpoint_id") @IDColumn private int endpointId; - @Setter @Getter @Column(columnName = "child_endpoint_id") @IDColumn private int childEndpointId; + @Setter @Getter @Column(columnName = "entity_id") @IDColumn private String entityId; @Setter @Getter @Column(columnName = "service_id") private int serviceId; @Setter @Getter @Column(columnName = "child_service_id") private int childServiceId; @Setter @Getter @Column(columnName = "service_instance_id") private int serviceInstanceId; @@ -50,19 +49,24 @@ public class EndpointRelationAvgIndicator extends LongAvgIndicator implements Al @Override public String id() { String splitJointId = String.valueOf(getTimeBucket()); - splitJointId += Const.ID_SPLIT + String.valueOf(endpointId); - splitJointId += Const.ID_SPLIT + String.valueOf(childEndpointId); + splitJointId += Const.ID_SPLIT + entityId; return splitJointId; } @Override public int hashCode() { int result = 17; - result = 31 * result + endpointId; - result = 31 * result + childEndpointId; + result = 31 * result + entityId.hashCode(); result = 31 * result + (int)getTimeBucket(); return result; } + + @Override public int remoteHashCode() { + int result = 17; + result = 31 * result + entityId.hashCode(); + return result; + } + @Override public boolean equals(Object obj) { if (this == obj) return true; @@ -72,9 +76,7 @@ public class EndpointRelationAvgIndicator extends LongAvgIndicator implements Al return false; EndpointRelationAvgIndicator indicator = (EndpointRelationAvgIndicator)obj; - if (endpointId != indicator.endpointId) - return false; - if (childEndpointId != indicator.childEndpointId) + if (entityId != indicator.entityId) return false; if (getTimeBucket() != indicator.getTimeBucket()) @@ -85,51 +87,48 @@ public class EndpointRelationAvgIndicator extends LongAvgIndicator implements Al @Override public RemoteData.Builder serialize() { RemoteData.Builder remoteBuilder = RemoteData.newBuilder(); + remoteBuilder.setDataStrings(0, getEntityId()); remoteBuilder.setDataLongs(0, getSummation()); remoteBuilder.setDataLongs(1, getValue()); remoteBuilder.setDataLongs(2, getTimeBucket()); - remoteBuilder.setDataIntegers(0, getEndpointId()); - remoteBuilder.setDataIntegers(1, getChildEndpointId()); - remoteBuilder.setDataIntegers(2, getServiceId()); - remoteBuilder.setDataIntegers(3, getChildServiceId()); - remoteBuilder.setDataIntegers(4, getServiceInstanceId()); - remoteBuilder.setDataIntegers(5, getChildServiceInstanceId()); - remoteBuilder.setDataIntegers(6, getCount()); + remoteBuilder.setDataIntegers(0, getServiceId()); + remoteBuilder.setDataIntegers(1, getChildServiceId()); + remoteBuilder.setDataIntegers(2, getServiceInstanceId()); + remoteBuilder.setDataIntegers(3, getChildServiceInstanceId()); + remoteBuilder.setDataIntegers(4, getCount()); return remoteBuilder; } @Override public void deserialize(RemoteData remoteData) { + setEntityId(remoteData.getDataStrings(0)); setSummation(remoteData.getDataLongs(0)); setValue(remoteData.getDataLongs(1)); setTimeBucket(remoteData.getDataLongs(2)); - setEndpointId(remoteData.getDataIntegers(0)); - setChildEndpointId(remoteData.getDataIntegers(1)); - setServiceId(remoteData.getDataIntegers(2)); - setChildServiceId(remoteData.getDataIntegers(3)); - setServiceInstanceId(remoteData.getDataIntegers(4)); - setChildServiceInstanceId(remoteData.getDataIntegers(5)); - setCount(remoteData.getDataIntegers(6)); + setServiceId(remoteData.getDataIntegers(0)); + setChildServiceId(remoteData.getDataIntegers(1)); + setServiceInstanceId(remoteData.getDataIntegers(2)); + setChildServiceInstanceId(remoteData.getDataIntegers(3)); + setCount(remoteData.getDataIntegers(4)); } @Override public AlarmMeta getAlarmMeta() { - return new AlarmMeta("EndpointRelation_Avg", Scope.EndpointRelation, endpointId, childEndpointId, serviceId, childServiceId, serviceInstanceId, childServiceInstanceId); + return new AlarmMeta("EndpointRelation_Avg", Scope.EndpointRelation, entityId); } @Override public Indicator toHour() { EndpointRelationAvgIndicator indicator = new EndpointRelationAvgIndicator(); indicator.setTimeBucket(toTimeBucketInHour()); - indicator.setEndpointId(this.getEndpointId()); - indicator.setChildEndpointId(this.getChildEndpointId()); + indicator.setEntityId(this.getEntityId()); indicator.setServiceId(this.getServiceId()); indicator.setChildServiceId(this.getChildServiceId()); indicator.setServiceInstanceId(this.getServiceInstanceId()); @@ -145,8 +144,7 @@ public class EndpointRelationAvgIndicator extends LongAvgIndicator implements Al public Indicator toDay() { EndpointRelationAvgIndicator indicator = new EndpointRelationAvgIndicator(); indicator.setTimeBucket(toTimeBucketInDay()); - indicator.setEndpointId(this.getEndpointId()); - indicator.setChildEndpointId(this.getChildEndpointId()); + indicator.setEntityId(this.getEntityId()); indicator.setServiceId(this.getServiceId()); indicator.setChildServiceId(this.getChildServiceId()); indicator.setServiceInstanceId(this.getServiceInstanceId()); @@ -162,8 +160,7 @@ public class EndpointRelationAvgIndicator extends LongAvgIndicator implements Al public Indicator toMonth() { EndpointRelationAvgIndicator indicator = new EndpointRelationAvgIndicator(); indicator.setTimeBucket(toTimeBucketInMonth()); - indicator.setEndpointId(this.getEndpointId()); - indicator.setChildEndpointId(this.getChildEndpointId()); + indicator.setEntityId(this.getEntityId()); indicator.setServiceId(this.getServiceId()); indicator.setChildServiceId(this.getChildServiceId()); indicator.setServiceInstanceId(this.getServiceInstanceId()); @@ -179,8 +176,7 @@ public class EndpointRelationAvgIndicator extends LongAvgIndicator implements Al @Override public Map data2Map(EndpointRelationAvgIndicator storageData) { Map map = new HashMap<>(); - map.put("endpoint_id", storageData.getEndpointId()); - map.put("child_endpoint_id", storageData.getChildEndpointId()); + map.put("entity_id", storageData.getEntityId()); map.put("service_id", storageData.getServiceId()); map.put("child_service_id", storageData.getChildServiceId()); map.put("service_instance_id", storageData.getServiceInstanceId()); @@ -194,8 +190,7 @@ public class EndpointRelationAvgIndicator extends LongAvgIndicator implements Al @Override public EndpointRelationAvgIndicator map2Data(Map dbMap) { EndpointRelationAvgIndicator indicator = new EndpointRelationAvgIndicator(); - indicator.setEndpointId(((Number)dbMap.get("endpoint_id")).intValue()); - indicator.setChildEndpointId(((Number)dbMap.get("child_endpoint_id")).intValue()); + indicator.setEntityId((String)dbMap.get("entity_id")); indicator.setServiceId(((Number)dbMap.get("service_id")).intValue()); indicator.setChildServiceId(((Number)dbMap.get("child_service_id")).intValue()); indicator.setServiceInstanceId(((Number)dbMap.get("service_instance_id")).intValue()); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationDispatcher.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationDispatcher.java index 4d3d1cac0a..399a3c0065 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationDispatcher.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationDispatcher.java @@ -38,8 +38,7 @@ public class EndpointRelationDispatcher implements SourceDispatcher data2Map(ServiceAvgIndicator storageData) { Map map = new HashMap<>(); - map.put("id", storageData.getId()); + map.put("entity_id", storageData.getEntityId()); map.put("summation", storageData.getSummation()); map.put("count", storageData.getCount()); map.put("value", storageData.getValue()); @@ -155,7 +162,7 @@ public class ServiceAvgIndicator extends LongAvgIndicator implements AlarmSuppor @Override public ServiceAvgIndicator map2Data(Map dbMap) { ServiceAvgIndicator indicator = new ServiceAvgIndicator(); - indicator.setId(((Number)dbMap.get("id")).intValue()); + indicator.setEntityId((String)dbMap.get("entity_id")); indicator.setSummation(((Number)dbMap.get("summation")).longValue()); indicator.setCount(((Number)dbMap.get("count")).intValue()); indicator.setValue(((Number)dbMap.get("value")).longValue()); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceCallsSumIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceCallsSumIndicator.java index ab12b1114d..3be09edb9b 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceCallsSumIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceCallsSumIndicator.java @@ -41,21 +41,28 @@ import org.apache.skywalking.oap.server.core.source.Scope; @StorageEntity(name = "service_calls_sum", builder = ServiceCallsSumIndicator.Builder.class) public class ServiceCallsSumIndicator extends SumIndicator implements AlarmSupported { - @Setter @Getter @Column(columnName = "id") @IDColumn private int id; + @Setter @Getter @Column(columnName = "entity_id") @IDColumn private String entityId; @Override public String id() { String splitJointId = String.valueOf(getTimeBucket()); - splitJointId += Const.ID_SPLIT + String.valueOf(id); + splitJointId += Const.ID_SPLIT + entityId; return splitJointId; } @Override public int hashCode() { int result = 17; - result = 31 * result + id; + result = 31 * result + entityId.hashCode(); result = 31 * result + (int)getTimeBucket(); return result; } + + @Override public int remoteHashCode() { + int result = 17; + result = 31 * result + entityId.hashCode(); + return result; + } + @Override public boolean equals(Object obj) { if (this == obj) return true; @@ -65,7 +72,7 @@ public class ServiceCallsSumIndicator extends SumIndicator implements AlarmSuppo return false; ServiceCallsSumIndicator indicator = (ServiceCallsSumIndicator)obj; - if (id != indicator.id) + if (entityId != indicator.entityId) return false; if (getTimeBucket() != indicator.getTimeBucket()) @@ -76,36 +83,36 @@ public class ServiceCallsSumIndicator extends SumIndicator implements AlarmSuppo @Override public RemoteData.Builder serialize() { RemoteData.Builder remoteBuilder = RemoteData.newBuilder(); + remoteBuilder.setDataStrings(0, getEntityId()); remoteBuilder.setDataLongs(0, getValue()); remoteBuilder.setDataLongs(1, getTimeBucket()); - remoteBuilder.setDataIntegers(0, getId()); return remoteBuilder; } @Override public void deserialize(RemoteData remoteData) { + setEntityId(remoteData.getDataStrings(0)); setValue(remoteData.getDataLongs(0)); setTimeBucket(remoteData.getDataLongs(1)); - setId(remoteData.getDataIntegers(0)); } @Override public AlarmMeta getAlarmMeta() { - return new AlarmMeta("Service_Calls_Sum", Scope.Service, id); + return new AlarmMeta("Service_Calls_Sum", Scope.Service, entityId); } @Override public Indicator toHour() { ServiceCallsSumIndicator indicator = new ServiceCallsSumIndicator(); indicator.setTimeBucket(toTimeBucketInHour()); - indicator.setId(this.getId()); + indicator.setEntityId(this.getEntityId()); indicator.setValue(this.getValue()); indicator.setTimeBucket(this.getTimeBucket()); return indicator; @@ -115,7 +122,7 @@ public class ServiceCallsSumIndicator extends SumIndicator implements AlarmSuppo public Indicator toDay() { ServiceCallsSumIndicator indicator = new ServiceCallsSumIndicator(); indicator.setTimeBucket(toTimeBucketInDay()); - indicator.setId(this.getId()); + indicator.setEntityId(this.getEntityId()); indicator.setValue(this.getValue()); indicator.setTimeBucket(this.getTimeBucket()); return indicator; @@ -125,7 +132,7 @@ public class ServiceCallsSumIndicator extends SumIndicator implements AlarmSuppo public Indicator toMonth() { ServiceCallsSumIndicator indicator = new ServiceCallsSumIndicator(); indicator.setTimeBucket(toTimeBucketInMonth()); - indicator.setId(this.getId()); + indicator.setEntityId(this.getEntityId()); indicator.setValue(this.getValue()); indicator.setTimeBucket(this.getTimeBucket()); return indicator; @@ -135,7 +142,7 @@ public class ServiceCallsSumIndicator extends SumIndicator implements AlarmSuppo @Override public Map data2Map(ServiceCallsSumIndicator storageData) { Map map = new HashMap<>(); - map.put("id", storageData.getId()); + map.put("entity_id", storageData.getEntityId()); map.put("value", storageData.getValue()); map.put("time_bucket", storageData.getTimeBucket()); return map; @@ -143,7 +150,7 @@ public class ServiceCallsSumIndicator extends SumIndicator implements AlarmSuppo @Override public ServiceCallsSumIndicator map2Data(Map dbMap) { ServiceCallsSumIndicator indicator = new ServiceCallsSumIndicator(); - indicator.setId(((Number)dbMap.get("id")).intValue()); + indicator.setEntityId((String)dbMap.get("entity_id")); indicator.setValue(((Number)dbMap.get("value")).longValue()); indicator.setTimeBucket(((Number)dbMap.get("time_bucket")).longValue()); return indicator; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceDispatcher.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceDispatcher.java index 65c6e390e2..2dd22515ae 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceDispatcher.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceDispatcher.java @@ -39,7 +39,7 @@ public class ServiceDispatcher implements SourceDispatcher { indicator.setTimeBucket(source.getTimeBucket()); - indicator.setId(source.getId()); + indicator.setEntityId(source.getEntityId()); indicator.combine(source.getLatency(), 1); IndicatorProcess.INSTANCE.in(indicator); } @@ -48,7 +48,7 @@ public class ServiceDispatcher implements SourceDispatcher { indicator.setTimeBucket(source.getTimeBucket()); - indicator.setId(source.getId()); + indicator.setEntityId(source.getEntityId()); indicator.combine(1); IndicatorProcess.INSTANCE.in(indicator); } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstance/ServiceInstanceDispatcher.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstance/ServiceInstanceDispatcher.java index 471351ee2d..baddcc6b97 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstance/ServiceInstanceDispatcher.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstance/ServiceInstanceDispatcher.java @@ -38,7 +38,7 @@ public class ServiceInstanceDispatcher implements SourceDispatcher data2Map(ServiceInstanceRespTimeIndicator storageData) { Map map = new HashMap<>(); - map.put("id", storageData.getId()); + map.put("entity_id", storageData.getEntityId()); map.put("service_id", storageData.getServiceId()); map.put("summation", storageData.getSummation()); map.put("count", storageData.getCount()); @@ -162,7 +169,7 @@ public class ServiceInstanceRespTimeIndicator extends LongAvgIndicator implement @Override public ServiceInstanceRespTimeIndicator map2Data(Map dbMap) { ServiceInstanceRespTimeIndicator indicator = new ServiceInstanceRespTimeIndicator(); - indicator.setId(((Number)dbMap.get("id")).intValue()); + indicator.setEntityId((String)dbMap.get("entity_id")); indicator.setServiceId(((Number)dbMap.get("service_id")).intValue()); indicator.setSummation(((Number)dbMap.get("summation")).longValue()); indicator.setCount(((Number)dbMap.get("count")).intValue()); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmcpu/InstanceJvmCpuIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmcpu/InstanceJvmCpuIndicator.java index a099cc2445..e494203976 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmcpu/InstanceJvmCpuIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmcpu/InstanceJvmCpuIndicator.java @@ -41,22 +41,29 @@ import org.apache.skywalking.oap.server.core.source.Scope; @StorageEntity(name = "instance_jvm_cpu", builder = InstanceJvmCpuIndicator.Builder.class) public class InstanceJvmCpuIndicator extends DoubleAvgIndicator implements AlarmSupported { - @Setter @Getter @Column(columnName = "id") @IDColumn private int id; + @Setter @Getter @Column(columnName = "entity_id") @IDColumn private String entityId; @Setter @Getter @Column(columnName = "service_instance_id") private int serviceInstanceId; @Override public String id() { String splitJointId = String.valueOf(getTimeBucket()); - splitJointId += Const.ID_SPLIT + String.valueOf(id); + splitJointId += Const.ID_SPLIT + entityId; return splitJointId; } @Override public int hashCode() { int result = 17; - result = 31 * result + id; + result = 31 * result + entityId.hashCode(); result = 31 * result + (int)getTimeBucket(); return result; } + + @Override public int remoteHashCode() { + int result = 17; + result = 31 * result + entityId.hashCode(); + return result; + } + @Override public boolean equals(Object obj) { if (this == obj) return true; @@ -66,7 +73,7 @@ public class InstanceJvmCpuIndicator extends DoubleAvgIndicator implements Alarm return false; InstanceJvmCpuIndicator indicator = (InstanceJvmCpuIndicator)obj; - if (id != indicator.id) + if (entityId != indicator.entityId) return false; if (getTimeBucket() != indicator.getTimeBucket()) @@ -77,42 +84,42 @@ public class InstanceJvmCpuIndicator extends DoubleAvgIndicator implements Alarm @Override public RemoteData.Builder serialize() { RemoteData.Builder remoteBuilder = RemoteData.newBuilder(); + remoteBuilder.setDataStrings(0, getEntityId()); remoteBuilder.setDataLongs(0, getTimeBucket()); remoteBuilder.setDataDoubles(0, getSummation()); remoteBuilder.setDataDoubles(1, getValue()); - remoteBuilder.setDataIntegers(0, getId()); - remoteBuilder.setDataIntegers(1, getServiceInstanceId()); - remoteBuilder.setDataIntegers(2, getCount()); + remoteBuilder.setDataIntegers(0, getServiceInstanceId()); + remoteBuilder.setDataIntegers(1, getCount()); return remoteBuilder; } @Override public void deserialize(RemoteData remoteData) { + setEntityId(remoteData.getDataStrings(0)); setTimeBucket(remoteData.getDataLongs(0)); setSummation(remoteData.getDataDoubles(0)); setValue(remoteData.getDataDoubles(1)); - setId(remoteData.getDataIntegers(0)); - setServiceInstanceId(remoteData.getDataIntegers(1)); - setCount(remoteData.getDataIntegers(2)); + setServiceInstanceId(remoteData.getDataIntegers(0)); + setCount(remoteData.getDataIntegers(1)); } @Override public AlarmMeta getAlarmMeta() { - return new AlarmMeta("instance_jvm_cpu", Scope.ServiceInstanceJVMCPU, id, serviceInstanceId); + return new AlarmMeta("instance_jvm_cpu", Scope.ServiceInstanceJVMCPU, entityId); } @Override public Indicator toHour() { InstanceJvmCpuIndicator indicator = new InstanceJvmCpuIndicator(); indicator.setTimeBucket(toTimeBucketInHour()); - indicator.setId(this.getId()); + indicator.setEntityId(this.getEntityId()); indicator.setServiceInstanceId(this.getServiceInstanceId()); indicator.setSummation(this.getSummation()); indicator.setCount(this.getCount()); @@ -125,7 +132,7 @@ public class InstanceJvmCpuIndicator extends DoubleAvgIndicator implements Alarm public Indicator toDay() { InstanceJvmCpuIndicator indicator = new InstanceJvmCpuIndicator(); indicator.setTimeBucket(toTimeBucketInDay()); - indicator.setId(this.getId()); + indicator.setEntityId(this.getEntityId()); indicator.setServiceInstanceId(this.getServiceInstanceId()); indicator.setSummation(this.getSummation()); indicator.setCount(this.getCount()); @@ -138,7 +145,7 @@ public class InstanceJvmCpuIndicator extends DoubleAvgIndicator implements Alarm public Indicator toMonth() { InstanceJvmCpuIndicator indicator = new InstanceJvmCpuIndicator(); indicator.setTimeBucket(toTimeBucketInMonth()); - indicator.setId(this.getId()); + indicator.setEntityId(this.getEntityId()); indicator.setServiceInstanceId(this.getServiceInstanceId()); indicator.setSummation(this.getSummation()); indicator.setCount(this.getCount()); @@ -151,7 +158,7 @@ public class InstanceJvmCpuIndicator extends DoubleAvgIndicator implements Alarm @Override public Map data2Map(InstanceJvmCpuIndicator storageData) { Map map = new HashMap<>(); - map.put("id", storageData.getId()); + map.put("entity_id", storageData.getEntityId()); map.put("service_instance_id", storageData.getServiceInstanceId()); map.put("summation", storageData.getSummation()); map.put("count", storageData.getCount()); @@ -162,7 +169,7 @@ public class InstanceJvmCpuIndicator extends DoubleAvgIndicator implements Alarm @Override public InstanceJvmCpuIndicator map2Data(Map dbMap) { InstanceJvmCpuIndicator indicator = new InstanceJvmCpuIndicator(); - indicator.setId(((Number)dbMap.get("id")).intValue()); + indicator.setEntityId((String)dbMap.get("entity_id")); indicator.setServiceInstanceId(((Number)dbMap.get("service_instance_id")).intValue()); indicator.setSummation(((Number)dbMap.get("summation")).doubleValue()); indicator.setCount(((Number)dbMap.get("count")).intValue()); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmcpu/ServiceInstanceJVMCPUDispatcher.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmcpu/ServiceInstanceJVMCPUDispatcher.java index 84acb9e91c..7c9386701c 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmcpu/ServiceInstanceJVMCPUDispatcher.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmcpu/ServiceInstanceJVMCPUDispatcher.java @@ -38,7 +38,7 @@ public class ServiceInstanceJVMCPUDispatcher implements SourceDispatcher data2Map(InstanceJvmYoungGcTimeIndicator storageData) { Map map = new HashMap<>(); - map.put("id", storageData.getId()); + map.put("entity_id", storageData.getEntityId()); map.put("service_instance_id", storageData.getServiceInstanceId()); map.put("summation", storageData.getSummation()); map.put("count", storageData.getCount()); @@ -162,7 +169,7 @@ public class InstanceJvmYoungGcTimeIndicator extends LongAvgIndicator implements @Override public InstanceJvmYoungGcTimeIndicator map2Data(Map dbMap) { InstanceJvmYoungGcTimeIndicator indicator = new InstanceJvmYoungGcTimeIndicator(); - indicator.setId(((Number)dbMap.get("id")).intValue()); + indicator.setEntityId((String)dbMap.get("entity_id")); indicator.setServiceInstanceId(((Number)dbMap.get("service_instance_id")).intValue()); indicator.setSummation(((Number)dbMap.get("summation")).longValue()); indicator.setCount(((Number)dbMap.get("count")).intValue()); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmgc/ServiceInstanceJVMGCDispatcher.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmgc/ServiceInstanceJVMGCDispatcher.java index f93eb11c22..2ec3bce580 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmgc/ServiceInstanceJVMGCDispatcher.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmgc/ServiceInstanceJVMGCDispatcher.java @@ -42,7 +42,7 @@ public class ServiceInstanceJVMGCDispatcher implements SourceDispatcher data2Map(InstanceJvmMemoryMaxIndicator storageData) { Map map = new HashMap<>(); - map.put("id", storageData.getId()); + map.put("entity_id", storageData.getEntityId()); map.put("service_instance_id", storageData.getServiceInstanceId()); map.put("summation", storageData.getSummation()); map.put("count", storageData.getCount()); @@ -162,7 +169,7 @@ public class InstanceJvmMemoryMaxIndicator extends LongAvgIndicator implements A @Override public InstanceJvmMemoryMaxIndicator map2Data(Map dbMap) { InstanceJvmMemoryMaxIndicator indicator = new InstanceJvmMemoryMaxIndicator(); - indicator.setId(((Number)dbMap.get("id")).intValue()); + indicator.setEntityId((String)dbMap.get("entity_id")); indicator.setServiceInstanceId(((Number)dbMap.get("service_instance_id")).intValue()); indicator.setSummation(((Number)dbMap.get("summation")).longValue()); indicator.setCount(((Number)dbMap.get("count")).intValue()); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemory/ServiceInstanceJVMMemoryDispatcher.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemory/ServiceInstanceJVMMemoryDispatcher.java index 6cf7b5e141..d73bf0315a 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemory/ServiceInstanceJVMMemoryDispatcher.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemory/ServiceInstanceJVMMemoryDispatcher.java @@ -38,7 +38,7 @@ public class ServiceInstanceJVMMemoryDispatcher implements SourceDispatcher data2Map(InstanceJvmMemoryPoolMaxIndicator storageData) { Map map = new HashMap<>(); - map.put("id", storageData.getId()); + map.put("entity_id", storageData.getEntityId()); map.put("service_instance_id", storageData.getServiceInstanceId()); map.put("summation", storageData.getSummation()); map.put("count", storageData.getCount()); @@ -162,7 +169,7 @@ public class InstanceJvmMemoryPoolMaxIndicator extends LongAvgIndicator implemen @Override public InstanceJvmMemoryPoolMaxIndicator map2Data(Map dbMap) { InstanceJvmMemoryPoolMaxIndicator indicator = new InstanceJvmMemoryPoolMaxIndicator(); - indicator.setId(((Number)dbMap.get("id")).intValue()); + indicator.setEntityId((String)dbMap.get("entity_id")); indicator.setServiceInstanceId(((Number)dbMap.get("service_instance_id")).intValue()); indicator.setSummation(((Number)dbMap.get("summation")).longValue()); indicator.setCount(((Number)dbMap.get("count")).intValue()); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemorypool/ServiceInstanceJVMMemoryPoolDispatcher.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemorypool/ServiceInstanceJVMMemoryPoolDispatcher.java index b0a4b6887d..8c5ecc2266 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemorypool/ServiceInstanceJVMMemoryPoolDispatcher.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemorypool/ServiceInstanceJVMMemoryPoolDispatcher.java @@ -38,7 +38,7 @@ public class ServiceInstanceJVMMemoryPoolDispatcher implements SourceDispatcher< indicator.setTimeBucket(source.getTimeBucket()); - indicator.setId(source.getId()); + indicator.setEntityId(source.getEntityId()); indicator.setServiceInstanceId(source.getServiceInstanceId()); indicator.combine(source.getMax(), 1); IndicatorProcess.INSTANCE.in(indicator); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationAvgIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationAvgIndicator.java index 4fab05b9d9..981ad60ecd 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationAvgIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationAvgIndicator.java @@ -41,26 +41,30 @@ import org.apache.skywalking.oap.server.core.source.Scope; @StorageEntity(name = "serviceinstancerelation_avg", builder = ServiceInstanceRelationAvgIndicator.Builder.class) public class ServiceInstanceRelationAvgIndicator extends LongAvgIndicator implements AlarmSupported { + @Setter @Getter @Column(columnName = "entity_id") @IDColumn private String entityId; @Setter @Getter @Column(columnName = "source_service_id") private int sourceServiceId; - @Setter @Getter @Column(columnName = "dest_service_id") private int destServiceId; - @Setter @Getter @Column(columnName = "source_service_instance_id") @IDColumn private int sourceServiceInstanceId; - @Setter @Getter @Column(columnName = "dest_service_instance_id") @IDColumn private int destServiceInstanceId; + @Setter @Getter @Column(columnName = "destServiceId") private int destServiceId; @Override public String id() { String splitJointId = String.valueOf(getTimeBucket()); - splitJointId += Const.ID_SPLIT + String.valueOf(sourceServiceInstanceId); - splitJointId += Const.ID_SPLIT + String.valueOf(destServiceInstanceId); + splitJointId += Const.ID_SPLIT + entityId; return splitJointId; } @Override public int hashCode() { int result = 17; - result = 31 * result + sourceServiceInstanceId; - result = 31 * result + destServiceInstanceId; + result = 31 * result + entityId.hashCode(); result = 31 * result + (int)getTimeBucket(); return result; } + + @Override public int remoteHashCode() { + int result = 17; + result = 31 * result + entityId.hashCode(); + return result; + } + @Override public boolean equals(Object obj) { if (this == obj) return true; @@ -70,9 +74,7 @@ public class ServiceInstanceRelationAvgIndicator extends LongAvgIndicator implem return false; ServiceInstanceRelationAvgIndicator indicator = (ServiceInstanceRelationAvgIndicator)obj; - if (sourceServiceInstanceId != indicator.sourceServiceInstanceId) - return false; - if (destServiceInstanceId != indicator.destServiceInstanceId) + if (entityId != indicator.entityId) return false; if (getTimeBucket() != indicator.getTimeBucket()) @@ -83,6 +85,7 @@ public class ServiceInstanceRelationAvgIndicator extends LongAvgIndicator implem @Override public RemoteData.Builder serialize() { RemoteData.Builder remoteBuilder = RemoteData.newBuilder(); + remoteBuilder.setDataStrings(0, getEntityId()); remoteBuilder.setDataLongs(0, getSummation()); remoteBuilder.setDataLongs(1, getValue()); @@ -91,14 +94,13 @@ public class ServiceInstanceRelationAvgIndicator extends LongAvgIndicator implem remoteBuilder.setDataIntegers(0, getSourceServiceId()); remoteBuilder.setDataIntegers(1, getDestServiceId()); - remoteBuilder.setDataIntegers(2, getSourceServiceInstanceId()); - remoteBuilder.setDataIntegers(3, getDestServiceInstanceId()); - remoteBuilder.setDataIntegers(4, getCount()); + remoteBuilder.setDataIntegers(2, getCount()); return remoteBuilder; } @Override public void deserialize(RemoteData remoteData) { + setEntityId(remoteData.getDataStrings(0)); setSummation(remoteData.getDataLongs(0)); setValue(remoteData.getDataLongs(1)); @@ -107,25 +109,22 @@ public class ServiceInstanceRelationAvgIndicator extends LongAvgIndicator implem setSourceServiceId(remoteData.getDataIntegers(0)); setDestServiceId(remoteData.getDataIntegers(1)); - setSourceServiceInstanceId(remoteData.getDataIntegers(2)); - setDestServiceInstanceId(remoteData.getDataIntegers(3)); - setCount(remoteData.getDataIntegers(4)); + setCount(remoteData.getDataIntegers(2)); } @Override public AlarmMeta getAlarmMeta() { - return new AlarmMeta("ServiceInstanceRelation_Avg", Scope.ServiceInstanceRelation, sourceServiceId, destServiceId, sourceServiceInstanceId, destServiceInstanceId); + return new AlarmMeta("ServiceInstanceRelation_Avg", Scope.ServiceInstanceRelation, entityId); } @Override public Indicator toHour() { ServiceInstanceRelationAvgIndicator indicator = new ServiceInstanceRelationAvgIndicator(); indicator.setTimeBucket(toTimeBucketInHour()); + indicator.setEntityId(this.getEntityId()); indicator.setSourceServiceId(this.getSourceServiceId()); indicator.setDestServiceId(this.getDestServiceId()); - indicator.setSourceServiceInstanceId(this.getSourceServiceInstanceId()); - indicator.setDestServiceInstanceId(this.getDestServiceInstanceId()); indicator.setSummation(this.getSummation()); indicator.setCount(this.getCount()); indicator.setValue(this.getValue()); @@ -137,10 +136,9 @@ public class ServiceInstanceRelationAvgIndicator extends LongAvgIndicator implem public Indicator toDay() { ServiceInstanceRelationAvgIndicator indicator = new ServiceInstanceRelationAvgIndicator(); indicator.setTimeBucket(toTimeBucketInDay()); + indicator.setEntityId(this.getEntityId()); indicator.setSourceServiceId(this.getSourceServiceId()); indicator.setDestServiceId(this.getDestServiceId()); - indicator.setSourceServiceInstanceId(this.getSourceServiceInstanceId()); - indicator.setDestServiceInstanceId(this.getDestServiceInstanceId()); indicator.setSummation(this.getSummation()); indicator.setCount(this.getCount()); indicator.setValue(this.getValue()); @@ -152,10 +150,9 @@ public class ServiceInstanceRelationAvgIndicator extends LongAvgIndicator implem public Indicator toMonth() { ServiceInstanceRelationAvgIndicator indicator = new ServiceInstanceRelationAvgIndicator(); indicator.setTimeBucket(toTimeBucketInMonth()); + indicator.setEntityId(this.getEntityId()); indicator.setSourceServiceId(this.getSourceServiceId()); indicator.setDestServiceId(this.getDestServiceId()); - indicator.setSourceServiceInstanceId(this.getSourceServiceInstanceId()); - indicator.setDestServiceInstanceId(this.getDestServiceInstanceId()); indicator.setSummation(this.getSummation()); indicator.setCount(this.getCount()); indicator.setValue(this.getValue()); @@ -167,10 +164,9 @@ public class ServiceInstanceRelationAvgIndicator extends LongAvgIndicator implem @Override public Map data2Map(ServiceInstanceRelationAvgIndicator storageData) { Map map = new HashMap<>(); + map.put("entity_id", storageData.getEntityId()); map.put("source_service_id", storageData.getSourceServiceId()); - map.put("dest_service_id", storageData.getDestServiceId()); - map.put("source_service_instance_id", storageData.getSourceServiceInstanceId()); - map.put("dest_service_instance_id", storageData.getDestServiceInstanceId()); + map.put("destServiceId", storageData.getDestServiceId()); map.put("summation", storageData.getSummation()); map.put("count", storageData.getCount()); map.put("value", storageData.getValue()); @@ -180,10 +176,9 @@ public class ServiceInstanceRelationAvgIndicator extends LongAvgIndicator implem @Override public ServiceInstanceRelationAvgIndicator map2Data(Map dbMap) { ServiceInstanceRelationAvgIndicator indicator = new ServiceInstanceRelationAvgIndicator(); + indicator.setEntityId((String)dbMap.get("entity_id")); indicator.setSourceServiceId(((Number)dbMap.get("source_service_id")).intValue()); - indicator.setDestServiceId(((Number)dbMap.get("dest_service_id")).intValue()); - indicator.setSourceServiceInstanceId(((Number)dbMap.get("source_service_instance_id")).intValue()); - indicator.setDestServiceInstanceId(((Number)dbMap.get("dest_service_instance_id")).intValue()); + indicator.setDestServiceId(((Number)dbMap.get("destServiceId")).intValue()); indicator.setSummation(((Number)dbMap.get("summation")).longValue()); indicator.setCount(((Number)dbMap.get("count")).intValue()); indicator.setValue(((Number)dbMap.get("value")).longValue()); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationDispatcher.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationDispatcher.java index adc69442e1..b2022af765 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationDispatcher.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationDispatcher.java @@ -38,10 +38,9 @@ public class ServiceInstanceRelationDispatcher implements SourceDispatcher data2Map(ServiceRelationAvgIndicator storageData) { Map map = new HashMap<>(); - map.put("source_service_id", storageData.getSourceServiceId()); - map.put("dest_service_id", storageData.getDestServiceId()); + map.put("source_service_id", storageData.getEntityId()); map.put("summation", storageData.getSummation()); map.put("count", storageData.getCount()); map.put("value", storageData.getValue()); @@ -166,8 +162,7 @@ public class ServiceRelationAvgIndicator extends LongAvgIndicator implements Ala @Override public ServiceRelationAvgIndicator map2Data(Map dbMap) { ServiceRelationAvgIndicator indicator = new ServiceRelationAvgIndicator(); - indicator.setSourceServiceId(((Number)dbMap.get("source_service_id")).intValue()); - indicator.setDestServiceId(((Number)dbMap.get("dest_service_id")).intValue()); + indicator.setEntityId((String)dbMap.get("source_service_id")); indicator.setSummation(((Number)dbMap.get("summation")).longValue()); indicator.setCount(((Number)dbMap.get("count")).intValue()); indicator.setValue(((Number)dbMap.get("value")).longValue()); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationClientCallsSumIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationClientCallsSumIndicator.java index 84cbad1f81..b71e7b8e21 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationClientCallsSumIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationClientCallsSumIndicator.java @@ -41,24 +41,28 @@ import org.apache.skywalking.oap.server.core.source.Scope; @StorageEntity(name = "service_relation_client_calls_sum", builder = ServiceRelationClientCallsSumIndicator.Builder.class) public class ServiceRelationClientCallsSumIndicator extends SumIndicator implements AlarmSupported { - @Setter @Getter @Column(columnName = "source_service_id") @IDColumn private int sourceServiceId; - @Setter @Getter @Column(columnName = "dest_service_id") @IDColumn private int destServiceId; + @Setter @Getter @Column(columnName = "source_service_id") @IDColumn private String entityId; @Override public String id() { String splitJointId = String.valueOf(getTimeBucket()); - splitJointId += Const.ID_SPLIT + String.valueOf(sourceServiceId); - splitJointId += Const.ID_SPLIT + String.valueOf(destServiceId); + splitJointId += Const.ID_SPLIT + entityId; return splitJointId; } @Override public int hashCode() { int result = 17; - result = 31 * result + sourceServiceId; - result = 31 * result + destServiceId; + result = 31 * result + entityId.hashCode(); result = 31 * result + (int)getTimeBucket(); return result; } + + @Override public int remoteHashCode() { + int result = 17; + result = 31 * result + entityId.hashCode(); + return result; + } + @Override public boolean equals(Object obj) { if (this == obj) return true; @@ -68,9 +72,7 @@ public class ServiceRelationClientCallsSumIndicator extends SumIndicator impleme return false; ServiceRelationClientCallsSumIndicator indicator = (ServiceRelationClientCallsSumIndicator)obj; - if (sourceServiceId != indicator.sourceServiceId) - return false; - if (destServiceId != indicator.destServiceId) + if (entityId != indicator.entityId) return false; if (getTimeBucket() != indicator.getTimeBucket()) @@ -81,39 +83,36 @@ public class ServiceRelationClientCallsSumIndicator extends SumIndicator impleme @Override public RemoteData.Builder serialize() { RemoteData.Builder remoteBuilder = RemoteData.newBuilder(); + remoteBuilder.setDataStrings(0, getEntityId()); remoteBuilder.setDataLongs(0, getValue()); remoteBuilder.setDataLongs(1, getTimeBucket()); - remoteBuilder.setDataIntegers(0, getSourceServiceId()); - remoteBuilder.setDataIntegers(1, getDestServiceId()); return remoteBuilder; } @Override public void deserialize(RemoteData remoteData) { + setEntityId(remoteData.getDataStrings(0)); setValue(remoteData.getDataLongs(0)); setTimeBucket(remoteData.getDataLongs(1)); - setSourceServiceId(remoteData.getDataIntegers(0)); - setDestServiceId(remoteData.getDataIntegers(1)); } @Override public AlarmMeta getAlarmMeta() { - return new AlarmMeta("Service_Relation_Client_Calls_Sum", Scope.ServiceRelation, sourceServiceId, destServiceId); + return new AlarmMeta("Service_Relation_Client_Calls_Sum", Scope.ServiceRelation, entityId); } @Override public Indicator toHour() { ServiceRelationClientCallsSumIndicator indicator = new ServiceRelationClientCallsSumIndicator(); indicator.setTimeBucket(toTimeBucketInHour()); - indicator.setSourceServiceId(this.getSourceServiceId()); - indicator.setDestServiceId(this.getDestServiceId()); + indicator.setEntityId(this.getEntityId()); indicator.setValue(this.getValue()); indicator.setTimeBucket(this.getTimeBucket()); return indicator; @@ -123,8 +122,7 @@ public class ServiceRelationClientCallsSumIndicator extends SumIndicator impleme public Indicator toDay() { ServiceRelationClientCallsSumIndicator indicator = new ServiceRelationClientCallsSumIndicator(); indicator.setTimeBucket(toTimeBucketInDay()); - indicator.setSourceServiceId(this.getSourceServiceId()); - indicator.setDestServiceId(this.getDestServiceId()); + indicator.setEntityId(this.getEntityId()); indicator.setValue(this.getValue()); indicator.setTimeBucket(this.getTimeBucket()); return indicator; @@ -134,8 +132,7 @@ public class ServiceRelationClientCallsSumIndicator extends SumIndicator impleme public Indicator toMonth() { ServiceRelationClientCallsSumIndicator indicator = new ServiceRelationClientCallsSumIndicator(); indicator.setTimeBucket(toTimeBucketInMonth()); - indicator.setSourceServiceId(this.getSourceServiceId()); - indicator.setDestServiceId(this.getDestServiceId()); + indicator.setEntityId(this.getEntityId()); indicator.setValue(this.getValue()); indicator.setTimeBucket(this.getTimeBucket()); return indicator; @@ -145,8 +142,7 @@ public class ServiceRelationClientCallsSumIndicator extends SumIndicator impleme @Override public Map data2Map(ServiceRelationClientCallsSumIndicator storageData) { Map map = new HashMap<>(); - map.put("source_service_id", storageData.getSourceServiceId()); - map.put("dest_service_id", storageData.getDestServiceId()); + map.put("source_service_id", storageData.getEntityId()); map.put("value", storageData.getValue()); map.put("time_bucket", storageData.getTimeBucket()); return map; @@ -154,8 +150,7 @@ public class ServiceRelationClientCallsSumIndicator extends SumIndicator impleme @Override public ServiceRelationClientCallsSumIndicator map2Data(Map dbMap) { ServiceRelationClientCallsSumIndicator indicator = new ServiceRelationClientCallsSumIndicator(); - indicator.setSourceServiceId(((Number)dbMap.get("source_service_id")).intValue()); - indicator.setDestServiceId(((Number)dbMap.get("dest_service_id")).intValue()); + indicator.setEntityId((String)dbMap.get("source_service_id")); indicator.setValue(((Number)dbMap.get("value")).longValue()); indicator.setTimeBucket(((Number)dbMap.get("time_bucket")).longValue()); return indicator; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationDispatcher.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationDispatcher.java index 008bde7de5..ee505f1388 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationDispatcher.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationDispatcher.java @@ -44,8 +44,7 @@ public class ServiceRelationDispatcher implements SourceDispatcher data2Map(ServiceRelationServerCallsSumIndicator storageData) { Map map = new HashMap<>(); - map.put("source_service_id", storageData.getSourceServiceId()); - map.put("dest_service_id", storageData.getDestServiceId()); + map.put("source_service_id", storageData.getEntityId()); map.put("value", storageData.getValue()); map.put("time_bucket", storageData.getTimeBucket()); return map; @@ -154,8 +150,7 @@ public class ServiceRelationServerCallsSumIndicator extends SumIndicator impleme @Override public ServiceRelationServerCallsSumIndicator map2Data(Map dbMap) { ServiceRelationServerCallsSumIndicator indicator = new ServiceRelationServerCallsSumIndicator(); - indicator.setSourceServiceId(((Number)dbMap.get("source_service_id")).intValue()); - indicator.setDestServiceId(((Number)dbMap.get("dest_service_id")).intValue()); + indicator.setEntityId((String)dbMap.get("source_service_id")); indicator.setValue(((Number)dbMap.get("value")).longValue()); indicator.setTimeBucket(((Number)dbMap.get("time_bucket")).longValue()); return indicator; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceComponentIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceComponentIndicator.java index 83bf2018ac..d57ca5c99e 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceComponentIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceComponentIndicator.java @@ -129,6 +129,13 @@ public class ServiceComponentIndicator extends Indicator { @Override public final void combine(Indicator indicator) { } + @Override public int remoteHashCode() { + int result = 17; + result = 31 * result + serviceId; + result = 31 * result + componentId; + return result; + } + public static class Builder implements StorageBuilder { @Override public Map data2Map(ServiceComponentIndicator storageData) { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceMappingIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceMappingIndicator.java index 6da9888255..46f3c1924b 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceMappingIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceMappingIndicator.java @@ -132,6 +132,13 @@ public class ServiceMappingIndicator extends Indicator { @Override public final void combine(Indicator indicator) { } + @Override public int remoteHashCode() { + int result = 17; + result = 31 * result + serviceId; + result = 31 * result + mappingServiceId; + return result; + } + public static class Builder implements StorageBuilder { @Override public Map data2Map(ServiceMappingIndicator storageData) { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/servicerelation/ServiceCallRelationDispatcher.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/servicerelation/ServiceCallRelationDispatcher.java new file mode 100644 index 0000000000..aad015f590 --- /dev/null +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/servicerelation/ServiceCallRelationDispatcher.java @@ -0,0 +1,41 @@ +/* + * 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.manual.servicerelation; + +import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher; +import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess; +import org.apache.skywalking.oap.server.core.source.ServiceRelation; + +/** + * @author wusheng + */ +public class ServiceCallRelationDispatcher implements SourceDispatcher { + @Override + public void dispatch(ServiceRelation source) { + doDispatch(source); + } + + public void doDispatch(ServiceRelation source) { + ServiceCallRelationIndicator indicator = new ServiceCallRelationIndicator(); + indicator.setTimeBucket(source.getTimeBucket()); + indicator.setSourceServiceId(source.getSourceServiceId()); + indicator.setDestServiceId(source.getDestServiceId()); + IndicatorProcess.INSTANCE.in(indicator); + } +} diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/servicerelation/ServiceCallRelationIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/servicerelation/ServiceCallRelationIndicator.java new file mode 100644 index 0000000000..0663607f52 --- /dev/null +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/servicerelation/ServiceCallRelationIndicator.java @@ -0,0 +1,155 @@ +/* + * 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.manual.servicerelation; + +import java.util.HashMap; +import java.util.Map; +import lombok.Getter; +import lombok.Setter; +import org.apache.skywalking.oap.server.core.Const; +import org.apache.skywalking.oap.server.core.analysis.indicator.Indicator; +import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorType; +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.StorageBuilder; +import org.apache.skywalking.oap.server.core.storage.annotation.Column; +import org.apache.skywalking.oap.server.core.storage.annotation.IDColumn; +import org.apache.skywalking.oap.server.core.storage.annotation.StorageEntity; + +@IndicatorType +@StreamData +@StorageEntity(name = ServiceCallRelationIndicator.INDEX_NAME, builder = ServiceCallRelationIndicator.Builder.class) +public class ServiceCallRelationIndicator extends Indicator { + + public static final String INDEX_NAME = "service_call_relation"; + public static final String SOURCE_SERVICE_ID = "source_service_id"; + public static final String DEST_SERVICE_ID = "dest_service_id"; + + @Setter @Getter @Column(columnName = SOURCE_SERVICE_ID) @IDColumn private int sourceServiceId; + @Setter @Getter @Column(columnName = DEST_SERVICE_ID) @IDColumn private int destServiceId; + + @Override public String id() { + String splitJointId = String.valueOf(getTimeBucket()); + splitJointId += Const.ID_SPLIT + String.valueOf(sourceServiceId); + splitJointId += Const.ID_SPLIT + String.valueOf(destServiceId); + return splitJointId; + } + + @Override public void combine(Indicator indicator) { + + } + + @Override public void calculate() { + + } + + @Override public Indicator toHour() { + ServiceCallRelationIndicator indicator = new ServiceCallRelationIndicator(); + indicator.setTimeBucket(toTimeBucketInHour()); + indicator.setSourceServiceId(getSourceServiceId()); + indicator.setDestServiceId(getDestServiceId()); + return indicator; + } + + @Override public Indicator toDay() { + ServiceCallRelationIndicator indicator = new ServiceCallRelationIndicator(); + indicator.setTimeBucket(toTimeBucketInDay()); + indicator.setSourceServiceId(getSourceServiceId()); + indicator.setDestServiceId(getDestServiceId()); + return indicator; + } + + @Override public Indicator toMonth() { + ServiceCallRelationIndicator indicator = new ServiceCallRelationIndicator(); + indicator.setTimeBucket(toTimeBucketInMonth()); + indicator.setSourceServiceId(getSourceServiceId()); + indicator.setDestServiceId(getDestServiceId()); + return indicator; + } + + @Override public int remoteHashCode() { + int result = 17; + result = 31 * result + sourceServiceId; + result = 31 * result + destServiceId; + return result; + } + + @Override public void deserialize(RemoteData remoteData) { + setSourceServiceId(remoteData.getDataIntegers(0)); + setDestServiceId(remoteData.getDataIntegers(1)); + setTimeBucket(remoteData.getDataLongs(0)); + } + + @Override public RemoteData.Builder serialize() { + RemoteData.Builder remoteBuilder = RemoteData.newBuilder(); + + remoteBuilder.setDataIntegers(0, getSourceServiceId()); + remoteBuilder.setDataIntegers(1, getDestServiceId()); + remoteBuilder.setDataLongs(0, getTimeBucket()); + + return remoteBuilder; + } + + @Override public int hashCode() { + int result = 17; + result = 31 * result + sourceServiceId; + result = 31 * result + destServiceId; + result = 31 * result + (int)getTimeBucket(); + return result; + } + + @Override public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + + ServiceCallRelationIndicator indicator = (ServiceCallRelationIndicator)obj; + if (sourceServiceId != indicator.sourceServiceId) + return false; + if (destServiceId != indicator.destServiceId) + return false; + + if (getTimeBucket() != indicator.getTimeBucket()) + return false; + + return true; + } + + public static class Builder implements StorageBuilder { + + @Override public ServiceCallRelationIndicator map2Data(Map dbMap) { + ServiceCallRelationIndicator indicator = new ServiceCallRelationIndicator(); + indicator.setSourceServiceId(((Number)dbMap.get(SOURCE_SERVICE_ID)).intValue()); + indicator.setDestServiceId(((Number)dbMap.get(DEST_SERVICE_ID)).intValue()); + indicator.setTimeBucket(((Number)dbMap.get(TIME_BUCKET)).longValue()); + return indicator; + } + + @Override public Map data2Map(ServiceCallRelationIndicator storageData) { + Map map = new HashMap<>(); + map.put(SOURCE_SERVICE_ID, storageData.getSourceServiceId()); + map.put(DEST_SERVICE_ID, storageData.getDestServiceId()); + map.put(TIME_BUCKET, storageData.getTimeBucket()); + return map; + } + } +} diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/EndpointInventory.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/EndpointInventory.java index a28649bcd2..5ba802fb94 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/EndpointInventory.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/EndpointInventory.java @@ -102,6 +102,10 @@ public class EndpointInventory extends RegisterSource { setName(remoteData.getDataStrings(0)); } + @Override public int remoteHashCode() { + return 0; + } + public static class Builder implements StorageBuilder { @Override public EndpointInventory map2Data(Map dbMap) { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/NetworkAddressInventory.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/NetworkAddressInventory.java index 7475f3ecd3..b765a137e5 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/NetworkAddressInventory.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/NetworkAddressInventory.java @@ -91,6 +91,10 @@ public class NetworkAddressInventory extends RegisterSource { setName(remoteData.getDataStrings(0)); } + @Override public int remoteHashCode() { + return 0; + } + public static class Builder implements StorageBuilder { @Override public NetworkAddressInventory map2Data(Map dbMap) { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInstanceInventory.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInstanceInventory.java index dc6807c40b..529689c4cc 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInstanceInventory.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInstanceInventory.java @@ -139,6 +139,10 @@ public class ServiceInstanceInventory extends RegisterSource { setIpv4s(remoteData.getDataStrings(3)); } + @Override public int remoteHashCode() { + return 0; + } + public static class Builder implements StorageBuilder { @Override public ServiceInstanceInventory map2Data(Map dbMap) { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInventory.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInventory.java index 4b2ac4cb6a..e61adb3c35 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInventory.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInventory.java @@ -114,6 +114,10 @@ public class ServiceInventory extends RegisterSource { setName(remoteData.getDataStrings(0)); } + @Override public int remoteHashCode() { + return 0; + } + public static class Builder implements StorageBuilder { @Override public ServiceInventory map2Data(Map dbMap) { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/data/StreamData.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/data/StreamData.java index e7721437e7..532130f1a7 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/data/StreamData.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/data/StreamData.java @@ -35,4 +35,6 @@ public abstract class StreamData implements QueueData, Serializable, Deserializa @Override public final void setEndOfBatchContext(EndOfBatchContext context) { this.endOfBatchContext = context; } + + public abstract int remoteHashCode(); } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/selector/HashCodeSelector.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/selector/HashCodeSelector.java index 673034e91c..63c919666a 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/selector/HashCodeSelector.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/selector/HashCodeSelector.java @@ -29,7 +29,7 @@ public class HashCodeSelector implements RemoteClientSelector { @Override public RemoteClient select(List clients, StreamData streamData) { int size = clients.size(); - int selectIndex = Math.abs(streamData.hashCode()) % size; + int selectIndex = Math.abs(streamData.remoteHashCode()) % size; return clients.get(selectIndex); } } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/All.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/All.java index 39061459b5..0be432440d 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/All.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/All.java @@ -28,6 +28,11 @@ public class All extends Source { return Scope.All; } + + @Override public String getEntityId() { + return ""; + } + @Getter @Setter private String name; @Getter @Setter private String serviceInstanceName; @Getter @Setter private String endpointName; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Endpoint.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Endpoint.java index c4063b9044..17e2ed78c8 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Endpoint.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Endpoint.java @@ -30,6 +30,10 @@ public class Endpoint extends Source { return Scope.Endpoint; } + @Override public String getEntityId() { + return String.valueOf(id); + } + @Getter @Setter private int id; @Getter @Setter private String name; @Getter @Setter private int serviceId; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/EndpointRelation.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/EndpointRelation.java index c33277c413..76cb76fd3c 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/EndpointRelation.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/EndpointRelation.java @@ -19,6 +19,7 @@ package org.apache.skywalking.oap.server.core.source; import lombok.*; +import org.apache.skywalking.oap.server.core.Const; /** * @author peng-yongsheng @@ -29,6 +30,10 @@ public class EndpointRelation extends Source { return Scope.EndpointRelation; } + @Override public String getEntityId() { + return String.valueOf(endpointId) + Const.ID_SPLIT + String.valueOf(childEndpointId); + } + @Getter @Setter private int endpointId; @Getter @Setter private String endpoint; @Getter @Setter private int serviceId; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Service.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Service.java index c1a5719b85..f59be7a729 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Service.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Service.java @@ -30,6 +30,10 @@ public class Service extends Source { return Scope.Service; } + @Override public String getEntityId() { + return String.valueOf(id); + } + @Getter @Setter private int id; @Getter @Setter private String name; @Getter @Setter private String serviceInstanceName; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceComponent.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceComponent.java index 338dc6594f..d2f0dff229 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceComponent.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceComponent.java @@ -19,6 +19,7 @@ package org.apache.skywalking.oap.server.core.source; import lombok.*; +import org.apache.skywalking.oap.server.core.UnexpectedException; import org.apache.skywalking.oap.server.core.source.annotation.SourceType; /** @@ -31,6 +32,12 @@ public class ServiceComponent extends Source { return Scope.ServiceComponent; } + + @Override public String getEntityId() { + throw new UnexpectedException("ServiceMapping doesn't support getEntityId"); + } + + @Getter @Setter private int serviceId; @Getter @Setter private int componentId; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstance.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstance.java index 2d111d7514..4a9672704d 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstance.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstance.java @@ -30,6 +30,10 @@ public class ServiceInstance extends Source { return Scope.ServiceInstance; } + @Override public String getEntityId() { + return String.valueOf(id); + } + @Getter @Setter private int id; @Getter @Setter private int serviceId; @Getter @Setter private String name; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceJVMCPU.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceJVMCPU.java index 6d3397cf72..4decea0a22 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceJVMCPU.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceJVMCPU.java @@ -30,6 +30,10 @@ public class ServiceInstanceJVMCPU extends Source { return Scope.ServiceInstanceJVMCPU; } + @Override public String getEntityId() { + return String.valueOf(id); + } + @Getter @Setter private int id; @Getter @Setter private String name; @Getter @Setter private String serviceName; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceJVMGC.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceJVMGC.java index 4c52e528dc..865589d999 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceJVMGC.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceJVMGC.java @@ -30,6 +30,10 @@ public class ServiceInstanceJVMGC extends Source { return Scope.ServiceInstanceJVMGC; } + @Override public String getEntityId() { + return String.valueOf(id); + } + @Getter @Setter private int id; @Getter @Setter private String name; @Getter @Setter private String serviceName; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceJVMMemory.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceJVMMemory.java index b66c9b3e24..92363f1fd6 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceJVMMemory.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceJVMMemory.java @@ -28,6 +28,10 @@ public class ServiceInstanceJVMMemory extends Source { return Scope.ServiceInstanceJVMMemory; } + @Override public String getEntityId() { + return String.valueOf(id); + } + @Getter @Setter private int id; @Getter @Setter private String name; @Getter @Setter private String serviceName; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceJVMMemoryPool.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceJVMMemoryPool.java index ea5a09cb1f..b7864a8356 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceJVMMemoryPool.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceJVMMemoryPool.java @@ -28,6 +28,10 @@ public class ServiceInstanceJVMMemoryPool extends Source { return Scope.ServiceInstanceJVMMemoryPool; } + @Override public String getEntityId() { + return String.valueOf(id); + } + @Getter @Setter private int id; @Getter @Setter private String name; @Getter @Setter private String serviceName; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceRelation.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceRelation.java index bd227b37ad..a583a48e00 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceRelation.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceInstanceRelation.java @@ -19,6 +19,7 @@ package org.apache.skywalking.oap.server.core.source; import lombok.*; +import org.apache.skywalking.oap.server.core.Const; /** * @author peng-yongsheng @@ -29,6 +30,10 @@ public class ServiceInstanceRelation extends Source { return Scope.ServiceInstanceRelation; } + @Override public String getEntityId() { + return String.valueOf(sourceServiceInstanceId) + Const.ID_SPLIT + String.valueOf(destServiceInstanceId); + } + @Getter @Setter private int sourceServiceInstanceId; @Getter @Setter private int sourceServiceId; @Getter @Setter private String sourceServiceName; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceMapping.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceMapping.java index e3257817c2..83bd63a84d 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceMapping.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceMapping.java @@ -19,6 +19,7 @@ package org.apache.skywalking.oap.server.core.source; import lombok.*; +import org.apache.skywalking.oap.server.core.UnexpectedException; import org.apache.skywalking.oap.server.core.source.annotation.SourceType; /** @@ -31,6 +32,11 @@ public class ServiceMapping extends Source { return Scope.ServiceMapping; } + + @Override public String getEntityId() { + throw new UnexpectedException("ServiceMapping doesn't support getEntityId"); + } + @Getter @Setter private int serviceId; @Getter @Setter private int mappingServiceId; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceRelation.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceRelation.java index e461a7dcd4..b65b150a3d 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceRelation.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/ServiceRelation.java @@ -19,6 +19,7 @@ package org.apache.skywalking.oap.server.core.source; import lombok.*; +import org.apache.skywalking.oap.server.core.Const; /** * @author peng-yongsheng @@ -29,6 +30,10 @@ public class ServiceRelation extends Source { return Scope.ServiceRelation; } + @Override public String getEntityId() { + return String.valueOf(sourceServiceId) + Const.ID_SPLIT + String.valueOf(destServiceId); + } + @Getter @Setter private int sourceServiceId; @Getter @Setter private String sourceServiceName; @Getter @Setter private String sourceServiceInstanceName; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Source.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Source.java index 42020c537e..5e6ab35c5b 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Source.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Source.java @@ -27,4 +27,6 @@ public abstract class Source { public abstract Scope scope(); @Getter @Setter private long timeBucket; + + public abstract String getEntityId(); } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/SourceReceiverImpl.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/SourceReceiverImpl.java index 3b30285649..853c99bc7b 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/SourceReceiverImpl.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/SourceReceiverImpl.java @@ -32,6 +32,6 @@ public class SourceReceiverImpl implements SourceReceiver { } @Override public void receive(Source source) { - dispatcherManager.getDispatcher(source.scope()).dispatch(source); + dispatcherManager.forward(source); } } diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/IndicatorTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/IndicatorTest.java index ddeeb7d8cd..35fd52fc5c 100644 --- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/IndicatorTest.java +++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/IndicatorTest.java @@ -113,5 +113,9 @@ public class IndicatorTest { @Override public RemoteData.Builder serialize() { return null; } + + @Override public int remoteHashCode() { + return 0; + } } } diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/LongAvgIndicatorTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/LongAvgIndicatorTest.java index 5e4fe2ea3a..e236fdf507 100644 --- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/LongAvgIndicatorTest.java +++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/LongAvgIndicatorTest.java @@ -77,5 +77,9 @@ public class LongAvgIndicatorTest { @Override public RemoteData.Builder serialize() { return null; } + + @Override public int remoteHashCode() { + return 0; + } } } diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/PercentIndicatorTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/PercentIndicatorTest.java index 7a301d958b..4ec330ea29 100644 --- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/PercentIndicatorTest.java +++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/PercentIndicatorTest.java @@ -92,5 +92,9 @@ public class PercentIndicatorTest { @Override public RemoteData.Builder serialize() { return null; } + + @Override public int remoteHashCode() { + return 0; + } } } diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/PxxIndicatorTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/PxxIndicatorTest.java index f75b08ac24..7e2c5d3999 100644 --- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/PxxIndicatorTest.java +++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/PxxIndicatorTest.java @@ -122,5 +122,9 @@ public class PxxIndicatorTest { @Override public RemoteData.Builder serialize() { return null; } + + @Override public int remoteHashCode() { + return 0; + } } } diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicatorTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicatorTest.java index 1a557cd34e..00870925b1 100644 --- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicatorTest.java +++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/SumIndicatorTest.java @@ -81,5 +81,9 @@ public class SumIndicatorTest { @Override public RemoteData.Builder serialize() { return null; } + + @Override public int remoteHashCode() { + return 0; + } } } diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/ThermodynamicIndicatorTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/ThermodynamicIndicatorTest.java index 84df33e67e..07d48e3d7d 100644 --- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/ThermodynamicIndicatorTest.java +++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/indicator/ThermodynamicIndicatorTest.java @@ -117,5 +117,9 @@ public class ThermodynamicIndicatorTest { @Override public RemoteData.Builder serialize() { return null; } + + @Override public int remoteHashCode() { + return 0; + } } } -- GitLab