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 b8953c60452da9baccdb65613f15c39d7954b8be..0d0b4c01b67206550db27b9d15c3a3733fcae350 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 @@ -20,10 +20,15 @@ package org.apache.skywalking.oap.server.core.analysis; import java.util.*; import org.apache.skywalking.oap.server.core.analysis.generated.endpoint.EndpointDispatcher; +import org.apache.skywalking.oap.server.core.analysis.generated.endpointrelation.EndpointRelationDispatcher; +import org.apache.skywalking.oap.server.core.analysis.generated.service.ServiceDispatcher; +import org.apache.skywalking.oap.server.core.analysis.generated.serviceinstance.ServiceInstanceDispatcher; import org.apache.skywalking.oap.server.core.analysis.generated.serviceinstancejvmcpu.ServiceInstanceJVMCPUDispatcher; import org.apache.skywalking.oap.server.core.analysis.generated.serviceinstancejvmgc.ServiceInstanceJVMGCDispatcher; import org.apache.skywalking.oap.server.core.analysis.generated.serviceinstancejvmmemory.ServiceInstanceJVMMemoryDispatcher; import org.apache.skywalking.oap.server.core.analysis.generated.serviceinstancejvmmemorypool.ServiceInstanceJVMMemoryPoolDispatcher; +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.source.Scope; import org.slf4j.*; @@ -38,8 +43,15 @@ public class DispatcherManager { public DispatcherManager() { this.dispatcherMap = new HashMap<>(); + + 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.ServiceRelation, new ServiceRelationDispatcher()); + this.dispatcherMap.put(Scope.ServiceInstanceRelation, new ServiceInstanceRelationDispatcher()); + this.dispatcherMap.put(Scope.EndpointRelation, new EndpointRelationDispatcher()); + this.dispatcherMap.put(Scope.ServiceInstanceJVMCPU, new ServiceInstanceJVMCPUDispatcher()); this.dispatcherMap.put(Scope.ServiceInstanceJVMGC, new ServiceInstanceJVMGCDispatcher()); this.dispatcherMap.put(Scope.ServiceInstanceJVMMemory, new ServiceInstanceJVMMemoryDispatcher()); 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 2826b0588295e7bfd08072a898bc576d379e6876..9ec7a6d8524eef13f6a8f2513fc5e85849782b3c 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 @@ -69,6 +69,7 @@ public class EndpointAvgIndicator extends LongAvgIndicator implements AlarmSuppo EndpointAvgIndicator indicator = (EndpointAvgIndicator)obj; if (id != indicator.id) return false; + if (getTimeBucket() != indicator.getTimeBucket()) return false; 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 43bbf9f3b9401de034f41431668e67679708ad3e..afd5dbfceffac2faf2fb9ace3da5ab31a5a5123c 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 @@ -69,6 +69,7 @@ public class EndpointPercentIndicator extends PercentIndicator implements AlarmS EndpointPercentIndicator indicator = (EndpointPercentIndicator)obj; if (id != indicator.id) return false; + if (getTimeBucket() != indicator.getTimeBucket()) return false; 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 new file mode 100644 index 0000000000000000000000000000000000000000..5b1f424db93f3dd115e907613dd0737e340bd2d2 --- /dev/null +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationAvgIndicator.java @@ -0,0 +1,157 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.oap.server.core.analysis.generated.endpointrelation; + +import java.util.*; +import lombok.*; +import org.apache.skywalking.oap.server.core.Const; +import org.apache.skywalking.oap.server.core.alarm.AlarmMeta; +import org.apache.skywalking.oap.server.core.alarm.AlarmSupported; +import org.apache.skywalking.oap.server.core.analysis.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.annotation.*; +import org.apache.skywalking.oap.server.core.storage.StorageBuilder; +import org.apache.skywalking.oap.server.core.source.Scope; + +/** + * This class is auto generated. Please don't change this class manually. + * + * @author Observability Analysis Language code generator + */ +@IndicatorType +@StreamData +@StorageEntity(name = "endpointrelation_avg", builder = EndpointRelationAvgIndicator.Builder.class) +public class EndpointRelationAvgIndicator extends LongAvgIndicator implements AlarmSupported { + + @Setter @Getter @Column(columnName = "endpoint_id") private int endpointId; + @Setter @Getter @Column(columnName = "child_endpoint_id") private int childEndpointId; + @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; + @Setter @Getter @Column(columnName = "child_service_instance_id") private int childServiceInstanceId; + + @Override public String id() { + String splitJointId = String.valueOf(getTimeBucket()); + splitJointId += Const.ID_SPLIT + String.valueOf(endpointId); + splitJointId += Const.ID_SPLIT + String.valueOf(childEndpointId); + return splitJointId; + } + + @Override public int hashCode() { + int result = 17; + result = 31 * result + endpointId; + result = 31 * result + childEndpointId; + 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; + + EndpointRelationAvgIndicator indicator = (EndpointRelationAvgIndicator)obj; + if (endpointId != indicator.endpointId) + return false; + if (childEndpointId != indicator.childEndpointId) + return false; + + if (getTimeBucket() != indicator.getTimeBucket()) + return false; + + return true; + } + + @Override public RemoteData.Builder serialize() { + RemoteData.Builder remoteBuilder = RemoteData.newBuilder(); + + 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()); + + return remoteBuilder; + } + + @Override public void deserialize(RemoteData remoteData) { + + 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)); + } + + @Override public AlarmMeta getAlarmMeta() { + return new AlarmMeta("EndpointRelation_Avg", Scope.EndpointRelation, endpointId, childEndpointId, serviceId, childServiceId, serviceInstanceId, childServiceInstanceId); + } + + public static class Builder implements StorageBuilder { + + @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("service_id", storageData.getServiceId()); + map.put("child_service_id", storageData.getChildServiceId()); + map.put("service_instance_id", storageData.getServiceInstanceId()); + map.put("child_service_instance_id", storageData.getChildServiceInstanceId()); + map.put("summation", storageData.getSummation()); + map.put("count", storageData.getCount()); + map.put("value", storageData.getValue()); + map.put("time_bucket", storageData.getTimeBucket()); + return map; + } + + @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.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()); + indicator.setChildServiceInstanceId(((Number)dbMap.get("child_service_instance_id")).intValue()); + indicator.setSummation(((Number)dbMap.get("summation")).longValue()); + indicator.setCount(((Number)dbMap.get("count")).intValue()); + 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/endpointrelation/EndpointRelationDispatcher.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationDispatcher.java new file mode 100644 index 0000000000000000000000000000000000000000..4d3d1cac0a4fff6a000f02a1bb7fd95ce1c9690a --- /dev/null +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpointrelation/EndpointRelationDispatcher.java @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.oap.server.core.analysis.generated.endpointrelation; + +import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher; +import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess; +import org.apache.skywalking.oap.server.core.source.*; + +/** + * This class is auto generated. Please don't change this class manually. + * + * @author Observability Analysis Language code generator + */ +public class EndpointRelationDispatcher implements SourceDispatcher { + + @Override public void dispatch(EndpointRelation source) { + doEndpointRelationAvg(source); + } + + private void doEndpointRelationAvg(EndpointRelation source) { + EndpointRelationAvgIndicator indicator = new EndpointRelationAvgIndicator(); + + + indicator.setTimeBucket(source.getTimeBucket()); + indicator.setEndpointId(source.getEndpointId()); + indicator.setChildEndpointId(source.getChildEndpointId()); + indicator.setServiceId(source.getServiceId()); + indicator.setChildServiceId(source.getChildServiceId()); + indicator.setServiceInstanceId(source.getServiceInstanceId()); + indicator.setChildServiceInstanceId(source.getChildServiceInstanceId()); + indicator.combine(source.getRpcLatency(), 1); + IndicatorProcess.INSTANCE.in(indicator); + } +} diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceAvgIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceAvgIndicator.java index aef5f605df530764e516e0fe299fa252d92d2bd6..e84c439b38ac0167b7d193b8be2aefa7ea7e8a08 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceAvgIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/service/ServiceAvgIndicator.java @@ -67,6 +67,7 @@ public class ServiceAvgIndicator extends LongAvgIndicator implements AlarmSuppor ServiceAvgIndicator indicator = (ServiceAvgIndicator)obj; if (id != indicator.id) return false; + if (getTimeBucket() != indicator.getTimeBucket()) return false; 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 new file mode 100644 index 0000000000000000000000000000000000000000..471351ee2d4e07eb21ae5b884d35729cccd19941 --- /dev/null +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstance/ServiceInstanceDispatcher.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.oap.server.core.analysis.generated.serviceinstance; + +import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher; +import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess; +import org.apache.skywalking.oap.server.core.source.*; + +/** + * This class is auto generated. Please don't change this class manually. + * + * @author Observability Analysis Language code generator + */ +public class ServiceInstanceDispatcher implements SourceDispatcher { + + @Override public void dispatch(ServiceInstance source) { + doServiceInstanceRespTime(source); + } + + private void doServiceInstanceRespTime(ServiceInstance source) { + ServiceInstanceRespTimeIndicator indicator = new ServiceInstanceRespTimeIndicator(); + + + indicator.setTimeBucket(source.getTimeBucket()); + indicator.setId(source.getId()); + indicator.setServiceId(source.getServiceId()); + indicator.combine(source.getLatency(), 1); + IndicatorProcess.INSTANCE.in(indicator); + } +} diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstance/ServiceInstanceRespTimeIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstance/ServiceInstanceRespTimeIndicator.java new file mode 100644 index 0000000000000000000000000000000000000000..ac68e5bc37a07afd226f5200077ba790d077f036 --- /dev/null +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstance/ServiceInstanceRespTimeIndicator.java @@ -0,0 +1,133 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.oap.server.core.analysis.generated.serviceinstance; + +import java.util.*; +import lombok.*; +import org.apache.skywalking.oap.server.core.Const; +import org.apache.skywalking.oap.server.core.alarm.AlarmMeta; +import org.apache.skywalking.oap.server.core.alarm.AlarmSupported; +import org.apache.skywalking.oap.server.core.analysis.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.annotation.*; +import org.apache.skywalking.oap.server.core.storage.StorageBuilder; +import org.apache.skywalking.oap.server.core.source.Scope; + +/** + * This class is auto generated. Please don't change this class manually. + * + * @author Observability Analysis Language code generator + */ +@IndicatorType +@StreamData +@StorageEntity(name = "serviceinstance_resptime", builder = ServiceInstanceRespTimeIndicator.Builder.class) +public class ServiceInstanceRespTimeIndicator extends LongAvgIndicator implements AlarmSupported { + + @Setter @Getter @Column(columnName = "id") private int id; + @Setter @Getter @Column(columnName = "service_id") private int serviceId; + + @Override public String id() { + String splitJointId = String.valueOf(getTimeBucket()); + splitJointId += Const.ID_SPLIT + String.valueOf(id); + return splitJointId; + } + + @Override public int hashCode() { + int result = 17; + result = 31 * result + id; + 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; + + ServiceInstanceRespTimeIndicator indicator = (ServiceInstanceRespTimeIndicator)obj; + if (id != indicator.id) + return false; + + if (getTimeBucket() != indicator.getTimeBucket()) + return false; + + return true; + } + + @Override public RemoteData.Builder serialize() { + RemoteData.Builder remoteBuilder = RemoteData.newBuilder(); + + remoteBuilder.setDataLongs(0, getSummation()); + remoteBuilder.setDataLongs(1, getValue()); + remoteBuilder.setDataLongs(2, getTimeBucket()); + + + remoteBuilder.setDataIntegers(0, getId()); + remoteBuilder.setDataIntegers(1, getServiceId()); + remoteBuilder.setDataIntegers(2, getCount()); + + return remoteBuilder; + } + + @Override public void deserialize(RemoteData remoteData) { + + setSummation(remoteData.getDataLongs(0)); + setValue(remoteData.getDataLongs(1)); + setTimeBucket(remoteData.getDataLongs(2)); + + + setId(remoteData.getDataIntegers(0)); + setServiceId(remoteData.getDataIntegers(1)); + setCount(remoteData.getDataIntegers(2)); + } + + @Override public AlarmMeta getAlarmMeta() { + return new AlarmMeta("ServiceInstance_RespTime", Scope.ServiceInstance, id, serviceId); + } + + public static class Builder implements StorageBuilder { + + @Override public Map data2Map(ServiceInstanceRespTimeIndicator storageData) { + Map map = new HashMap<>(); + map.put("id", storageData.getId()); + map.put("service_id", storageData.getServiceId()); + map.put("summation", storageData.getSummation()); + map.put("count", storageData.getCount()); + map.put("value", storageData.getValue()); + map.put("time_bucket", storageData.getTimeBucket()); + return map; + } + + @Override public ServiceInstanceRespTimeIndicator map2Data(Map dbMap) { + ServiceInstanceRespTimeIndicator indicator = new ServiceInstanceRespTimeIndicator(); + indicator.setId(((Number)dbMap.get("id")).intValue()); + indicator.setServiceId(((Number)dbMap.get("service_id")).intValue()); + indicator.setSummation(((Number)dbMap.get("summation")).longValue()); + indicator.setCount(((Number)dbMap.get("count")).intValue()); + 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/serviceinstancejvmcpu/InstanceJvmCpuIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmcpu/InstanceJvmCpuIndicator.java index a2e3f9ad413a1dfa694ccff0a7eedf1891f785d1..409051be51c161e311b0f411d1d40dbc5402215c 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 @@ -68,6 +68,7 @@ public class InstanceJvmCpuIndicator extends DoubleAvgIndicator implements Alarm InstanceJvmCpuIndicator indicator = (InstanceJvmCpuIndicator)obj; if (id != indicator.id) return false; + if (getTimeBucket() != indicator.getTimeBucket()) return false; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmgc/InstanceJvmYoungGcTimeIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmgc/InstanceJvmYoungGcTimeIndicator.java index 1c20889d2908e3733147256cdba3f2e66fab1a70..ce27456da8682437b337c319a1e7e6ec76b259b6 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmgc/InstanceJvmYoungGcTimeIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmgc/InstanceJvmYoungGcTimeIndicator.java @@ -68,6 +68,7 @@ public class InstanceJvmYoungGcTimeIndicator extends LongAvgIndicator implements InstanceJvmYoungGcTimeIndicator indicator = (InstanceJvmYoungGcTimeIndicator)obj; if (id != indicator.id) return false; + if (getTimeBucket() != indicator.getTimeBucket()) return false; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemory/InstanceJvmMemoryMaxIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemory/InstanceJvmMemoryMaxIndicator.java index 643fee2464f7a35150a1094f84826b1bb09a1f30..979b9726c6dba7c6a77f5674058894e8eb08ac67 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemory/InstanceJvmMemoryMaxIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemory/InstanceJvmMemoryMaxIndicator.java @@ -68,6 +68,7 @@ public class InstanceJvmMemoryMaxIndicator extends LongAvgIndicator implements A InstanceJvmMemoryMaxIndicator indicator = (InstanceJvmMemoryMaxIndicator)obj; if (id != indicator.id) return false; + if (getTimeBucket() != indicator.getTimeBucket()) return false; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemorypool/InstanceJvmMemoryPoolMaxIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemorypool/InstanceJvmMemoryPoolMaxIndicator.java index a92611c08a87ebf835b9c8692a801c0b206291ae..294c707e3133ef838a568b41af18fdf620c15e92 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemorypool/InstanceJvmMemoryPoolMaxIndicator.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancejvmmemorypool/InstanceJvmMemoryPoolMaxIndicator.java @@ -68,6 +68,7 @@ public class InstanceJvmMemoryPoolMaxIndicator extends LongAvgIndicator implemen InstanceJvmMemoryPoolMaxIndicator indicator = (InstanceJvmMemoryPoolMaxIndicator)obj; if (id != indicator.id) return false; + if (getTimeBucket() != indicator.getTimeBucket()) return false; 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 new file mode 100644 index 0000000000000000000000000000000000000000..aea745a9c9f79e43de4932bdae11ede2299eeb3c --- /dev/null +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationAvgIndicator.java @@ -0,0 +1,147 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.oap.server.core.analysis.generated.serviceinstancerelation; + +import java.util.*; +import lombok.*; +import org.apache.skywalking.oap.server.core.Const; +import org.apache.skywalking.oap.server.core.alarm.AlarmMeta; +import org.apache.skywalking.oap.server.core.alarm.AlarmSupported; +import org.apache.skywalking.oap.server.core.analysis.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.annotation.*; +import org.apache.skywalking.oap.server.core.storage.StorageBuilder; +import org.apache.skywalking.oap.server.core.source.Scope; + +/** + * This class is auto generated. Please don't change this class manually. + * + * @author Observability Analysis Language code generator + */ +@IndicatorType +@StreamData +@StorageEntity(name = "serviceinstancerelation_avg", builder = ServiceInstanceRelationAvgIndicator.Builder.class) +public class ServiceInstanceRelationAvgIndicator extends LongAvgIndicator implements AlarmSupported { + + @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") private int sourceServiceInstanceId; + @Setter @Getter @Column(columnName = "dest_service_instance_id") private int destServiceInstanceId; + + @Override public String id() { + String splitJointId = String.valueOf(getTimeBucket()); + splitJointId += Const.ID_SPLIT + String.valueOf(sourceServiceInstanceId); + splitJointId += Const.ID_SPLIT + String.valueOf(destServiceInstanceId); + return splitJointId; + } + + @Override public int hashCode() { + int result = 17; + result = 31 * result + sourceServiceInstanceId; + result = 31 * result + destServiceInstanceId; + 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; + + ServiceInstanceRelationAvgIndicator indicator = (ServiceInstanceRelationAvgIndicator)obj; + if (sourceServiceInstanceId != indicator.sourceServiceInstanceId) + return false; + if (destServiceInstanceId != indicator.destServiceInstanceId) + return false; + + if (getTimeBucket() != indicator.getTimeBucket()) + return false; + + return true; + } + + @Override public RemoteData.Builder serialize() { + RemoteData.Builder remoteBuilder = RemoteData.newBuilder(); + + remoteBuilder.setDataLongs(0, getSummation()); + remoteBuilder.setDataLongs(1, getValue()); + remoteBuilder.setDataLongs(2, getTimeBucket()); + + + remoteBuilder.setDataIntegers(0, getSourceServiceId()); + remoteBuilder.setDataIntegers(1, getDestServiceId()); + remoteBuilder.setDataIntegers(2, getSourceServiceInstanceId()); + remoteBuilder.setDataIntegers(3, getDestServiceInstanceId()); + remoteBuilder.setDataIntegers(4, getCount()); + + return remoteBuilder; + } + + @Override public void deserialize(RemoteData remoteData) { + + setSummation(remoteData.getDataLongs(0)); + setValue(remoteData.getDataLongs(1)); + setTimeBucket(remoteData.getDataLongs(2)); + + + setSourceServiceId(remoteData.getDataIntegers(0)); + setDestServiceId(remoteData.getDataIntegers(1)); + setSourceServiceInstanceId(remoteData.getDataIntegers(2)); + setDestServiceInstanceId(remoteData.getDataIntegers(3)); + setCount(remoteData.getDataIntegers(4)); + } + + @Override public AlarmMeta getAlarmMeta() { + return new AlarmMeta("ServiceInstanceRelation_Avg", Scope.ServiceInstanceRelation, sourceServiceId, destServiceId, sourceServiceInstanceId, destServiceInstanceId); + } + + public static class Builder implements StorageBuilder { + + @Override public Map data2Map(ServiceInstanceRelationAvgIndicator storageData) { + Map map = new HashMap<>(); + 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("summation", storageData.getSummation()); + map.put("count", storageData.getCount()); + map.put("value", storageData.getValue()); + map.put("time_bucket", storageData.getTimeBucket()); + return map; + } + + @Override public ServiceInstanceRelationAvgIndicator map2Data(Map dbMap) { + ServiceInstanceRelationAvgIndicator indicator = new ServiceInstanceRelationAvgIndicator(); + 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.setSummation(((Number)dbMap.get("summation")).longValue()); + indicator.setCount(((Number)dbMap.get("count")).intValue()); + 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/serviceinstancerelation/ServiceInstanceRelationDispatcher.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationDispatcher.java new file mode 100644 index 0000000000000000000000000000000000000000..adc69442e1d31b5ab58280eede7390bd8a5946bc --- /dev/null +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/serviceinstancerelation/ServiceInstanceRelationDispatcher.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.oap.server.core.analysis.generated.serviceinstancerelation; + +import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher; +import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess; +import org.apache.skywalking.oap.server.core.source.*; + +/** + * This class is auto generated. Please don't change this class manually. + * + * @author Observability Analysis Language code generator + */ +public class ServiceInstanceRelationDispatcher implements SourceDispatcher { + + @Override public void dispatch(ServiceInstanceRelation source) { + doServiceInstanceRelationAvg(source); + } + + private void doServiceInstanceRelationAvg(ServiceInstanceRelation source) { + ServiceInstanceRelationAvgIndicator indicator = new ServiceInstanceRelationAvgIndicator(); + + + indicator.setTimeBucket(source.getTimeBucket()); + indicator.setSourceServiceId(source.getSourceServiceId()); + indicator.setDestServiceId(source.getDestServiceId()); + indicator.setSourceServiceInstanceId(source.getSourceServiceInstanceId()); + indicator.setDestServiceInstanceId(source.getDestServiceInstanceId()); + indicator.combine(source.getLatency(), 1); + IndicatorProcess.INSTANCE.in(indicator); + } +} diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationAvgIndicator.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationAvgIndicator.java new file mode 100644 index 0000000000000000000000000000000000000000..a5e1c366fb25327f677b7638502679ff62aff9f5 --- /dev/null +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationAvgIndicator.java @@ -0,0 +1,137 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.oap.server.core.analysis.generated.servicerelation; + +import java.util.*; +import lombok.*; +import org.apache.skywalking.oap.server.core.Const; +import org.apache.skywalking.oap.server.core.alarm.AlarmMeta; +import org.apache.skywalking.oap.server.core.alarm.AlarmSupported; +import org.apache.skywalking.oap.server.core.analysis.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.annotation.*; +import org.apache.skywalking.oap.server.core.storage.StorageBuilder; +import org.apache.skywalking.oap.server.core.source.Scope; + +/** + * This class is auto generated. Please don't change this class manually. + * + * @author Observability Analysis Language code generator + */ +@IndicatorType +@StreamData +@StorageEntity(name = "servicerelation_avg", builder = ServiceRelationAvgIndicator.Builder.class) +public class ServiceRelationAvgIndicator extends LongAvgIndicator implements AlarmSupported { + + @Setter @Getter @Column(columnName = "source_service_id") private int sourceServiceId; + @Setter @Getter @Column(columnName = "dest_service_id") 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 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; + + ServiceRelationAvgIndicator indicator = (ServiceRelationAvgIndicator)obj; + if (sourceServiceId != indicator.sourceServiceId) + return false; + if (destServiceId != indicator.destServiceId) + return false; + + if (getTimeBucket() != indicator.getTimeBucket()) + return false; + + return true; + } + + @Override public RemoteData.Builder serialize() { + RemoteData.Builder remoteBuilder = RemoteData.newBuilder(); + + remoteBuilder.setDataLongs(0, getSummation()); + remoteBuilder.setDataLongs(1, getValue()); + remoteBuilder.setDataLongs(2, getTimeBucket()); + + + remoteBuilder.setDataIntegers(0, getSourceServiceId()); + remoteBuilder.setDataIntegers(1, getDestServiceId()); + remoteBuilder.setDataIntegers(2, getCount()); + + return remoteBuilder; + } + + @Override public void deserialize(RemoteData remoteData) { + + setSummation(remoteData.getDataLongs(0)); + setValue(remoteData.getDataLongs(1)); + setTimeBucket(remoteData.getDataLongs(2)); + + + setSourceServiceId(remoteData.getDataIntegers(0)); + setDestServiceId(remoteData.getDataIntegers(1)); + setCount(remoteData.getDataIntegers(2)); + } + + @Override public AlarmMeta getAlarmMeta() { + return new AlarmMeta("ServiceRelation_Avg", Scope.ServiceRelation, sourceServiceId, destServiceId); + } + + public static class Builder implements StorageBuilder { + + @Override public Map data2Map(ServiceRelationAvgIndicator storageData) { + Map map = new HashMap<>(); + map.put("source_service_id", storageData.getSourceServiceId()); + map.put("dest_service_id", storageData.getDestServiceId()); + map.put("summation", storageData.getSummation()); + map.put("count", storageData.getCount()); + map.put("value", storageData.getValue()); + map.put("time_bucket", storageData.getTimeBucket()); + return map; + } + + @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.setSummation(((Number)dbMap.get("summation")).longValue()); + indicator.setCount(((Number)dbMap.get("count")).intValue()); + 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 new file mode 100644 index 0000000000000000000000000000000000000000..1c7a52c80d5b19a1bba3577483dff0eed606c719 --- /dev/null +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/servicerelation/ServiceRelationDispatcher.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.oap.server.core.analysis.generated.servicerelation; + +import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher; +import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess; +import org.apache.skywalking.oap.server.core.source.*; + +/** + * This class is auto generated. Please don't change this class manually. + * + * @author Observability Analysis Language code generator + */ +public class ServiceRelationDispatcher implements SourceDispatcher { + + @Override public void dispatch(ServiceRelation source) { + doServiceRelationAvg(source); + } + + private void doServiceRelationAvg(ServiceRelation source) { + ServiceRelationAvgIndicator indicator = new ServiceRelationAvgIndicator(); + + + indicator.setTimeBucket(source.getTimeBucket()); + indicator.setSourceServiceId(source.getSourceServiceId()); + indicator.setDestServiceId(source.getDestServiceId()); + indicator.combine(source.getLatency(), 1); + IndicatorProcess.INSTANCE.in(indicator); + } +} 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 8c0ed3bd6d0161de754791e15cfab1537601b21d..c33277c413d373b2c8e10baf6555e497bd37b4cc 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 @@ -31,8 +31,18 @@ public class EndpointRelation extends Source { @Getter @Setter private int endpointId; @Getter @Setter private String endpoint; + @Getter @Setter private int serviceId; + @Getter @Setter private String serviceName; + @Getter @Setter private int serviceInstanceId; + @Getter @Setter private String serviceInstanceName; + @Getter @Setter private int childEndpointId; @Getter @Setter private String childEndpoint; + @Getter @Setter private int childServiceId; + @Getter @Setter private String childServiceName; + @Getter @Setter private int childServiceInstanceId; + @Getter @Setter private String childServiceInstanceName; + @Getter @Setter private int rpcLatency; @Getter @Setter private boolean status; @Getter @Setter private int responseCode; 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 c1705a5d5acef302904b61a0888ff82d169e7811..2d111d751498220d371c65b4f89411948e1157c8 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 @@ -31,6 +31,7 @@ public class ServiceInstance extends Source { } @Getter @Setter private int id; + @Getter @Setter private int serviceId; @Getter @Setter private String name; @Getter @Setter private String serviceName; @Getter @Setter private String endpointName; 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 7c51b8e83263015452e3a0bb00f97273f759a3f2..bd227b37ade715586d84e84fdbae8abf551fd344 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 @@ -30,9 +30,11 @@ public class ServiceInstanceRelation extends Source { } @Getter @Setter private int sourceServiceInstanceId; + @Getter @Setter private int sourceServiceId; @Getter @Setter private String sourceServiceName; @Getter @Setter private String sourceServiceInstanceName; @Getter @Setter private int destServiceInstanceId; + @Getter @Setter private int destServiceId; @Getter @Setter private String destServiceName; @Getter @Setter private String destServiceInstanceName; @Getter @Setter private String endpoint; diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/endpoint/MultiScopesSpanListener.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/endpoint/MultiScopesSpanListener.java index 290390f84eb1a2efbd76b8d02d5b4a72357d9937..cbbf576ec9f02f622818ce0034f792915beef804 100644 --- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/endpoint/MultiScopesSpanListener.java +++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/endpoint/MultiScopesSpanListener.java @@ -31,7 +31,16 @@ import org.slf4j.*; import static java.util.Objects.nonNull; /** - * @author peng-yongsheng + * + * Notice, in here, there are following concepts match + * + * v5 | v6 + * + * 1. Application == Service + * 2. Server == Service Instance + * 3. Service == Endpoint + * + * @author peng-yongsheng, wusheng */ public class MultiScopesSpanListener implements EntrySpanListener, ExitSpanListener { diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/endpoint/SourceBuilder.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/endpoint/SourceBuilder.java index c138c5e16b2f34aca7903a0427b5491b0f2773df..e5485fee24d6e957f9789261411c1770d3b086f3 100644 --- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/endpoint/SourceBuilder.java +++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/endpoint/SourceBuilder.java @@ -80,6 +80,7 @@ class SourceBuilder { ServiceInstance toServiceInstance() { ServiceInstance serviceInstance = new ServiceInstance(); serviceInstance.setId(destServiceInstanceId); + serviceInstance.setServiceId(destServiceId); serviceInstance.setName(destServiceInstanceName); serviceInstance.setServiceName(destServiceName); serviceInstance.setEndpointName(destEndpointName); @@ -94,8 +95,10 @@ class SourceBuilder { ServiceInstanceRelation toServiceInstanceRelation() { ServiceInstanceRelation serviceInstanceRelation = new ServiceInstanceRelation(); serviceInstanceRelation.setSourceServiceInstanceId(sourceServiceInstanceId); + serviceInstanceRelation.setSourceServiceId(sourceServiceId); serviceInstanceRelation.setSourceServiceName(sourceServiceName); serviceInstanceRelation.setSourceServiceInstanceName(sourceServiceInstanceName); + serviceInstanceRelation.setSourceServiceId(destServiceId); serviceInstanceRelation.setDestServiceInstanceId(destServiceInstanceId); serviceInstanceRelation.setDestServiceName(destServiceName); serviceInstanceRelation.setDestServiceInstanceName(destServiceInstanceName); @@ -129,8 +132,16 @@ class SourceBuilder { EndpointRelation endpointRelation = new EndpointRelation(); endpointRelation.setEndpointId(sourceEndpointId); endpointRelation.setEndpoint(sourceEndpointName); + endpointRelation.setServiceId(sourceServiceId); + endpointRelation.setServiceName(sourceServiceName); + endpointRelation.setServiceInstanceId(sourceServiceInstanceId); + endpointRelation.setServiceInstanceName(sourceServiceInstanceName); endpointRelation.setChildEndpointId(destEndpointId); endpointRelation.setChildEndpoint(destEndpointName); + endpointRelation.setChildServiceId(destServiceId); + endpointRelation.setChildServiceName(destServiceName); + endpointRelation.setChildServiceInstanceId(destServiceInstanceId); + endpointRelation.setChildServiceInstanceName(destServiceInstanceName); endpointRelation.setRpcLatency(latency); endpointRelation.setStatus(status); endpointRelation.setResponseCode(responseCode);