This is an automated email from the ASF dual-hosted git repository. wusheng pushed a commit to branch remove-endpoint-register in repository https://gitbox.apache.org/repos/asf/skywalking.git
The following commit(s) were added to refs/heads/remove-endpoint-register by this push: new e3cd1b5 Step 3. Change all source codes of backend, and make project compiling successfully. e3cd1b5 is described below commit e3cd1b59875ba20e2c344fa3ec377917178b0267 Author: Wu Sheng <wu.sh...@foxmail.com> AuthorDate: Wed Mar 25 21:33:54 2020 +0800 Step 3. Change all source codes of backend, and make project compiling successfully. --- docs/en/setup/backend/backend-alarm.md | 12 ++--- .../server/exporter/provider/MetricFormatter.java | 6 +-- .../provider/grpc/GRPCExporterProvider.java | 2 - .../provider/grpc/GRPCExporterProviderTest.java | 2 - .../server/core/alarm/provider/NotifyHandler.java | 19 +++---- .../src/main/proto/alarm-hook.proto | 4 +- .../alarm/provider/AlarmMessageFormatterTest.java | 16 +++--- .../core/alarm/provider/NotifyHandlerTest.java | 20 +++----- .../core/alarm/provider/RunningRuleTest.java | 16 +++--- .../alarm/provider/grpc/GRPChookCallbackTest.java | 4 +- .../oap/server/core/alarm/AlarmMessage.java | 4 +- .../oap/server/core/alarm/AlarmRecord.java | 8 +-- .../oap/server/core/alarm/EndpointMetaInAlarm.java | 9 ++-- .../oap/server/core/alarm/MetaInAlarm.java | 4 +- .../core/alarm/ServiceInstanceMetaInAlarm.java | 9 ++-- .../oap/server/core/alarm/ServiceMetaInAlarm.java | 9 ++-- .../analysis/manual/endpoint/EndpointTraffic.java | 11 +++- .../oap/server/core/source/Endpoint.java | 10 ++-- .../oap/query/graphql/resolver/MetadataQuery.java | 2 - .../server/receiver/jaeger/JaegerGRPCHandler.java | 12 ++--- .../mesh/ServiceMeshMetricDataDecorator.java | 24 ++++----- .../receiver/mesh/TelemetryDataDispatcher.java | 50 +++++++++++-------- .../handler/v6/grpc/RegisterServiceHandler.java | 35 ++----------- .../receiver/zipkin/handler/SpanProcessor.java | 8 +-- .../zipkin/handler/SpanV1JettyHandler.java | 5 +- .../zipkin/handler/SpanV2JettyHandler.java | 5 +- .../server/receiver/zipkin/trace/SpanForward.java | 14 ++---- .../cache/EndpointInventoryCacheEs7DAO.java | 58 ---------------------- .../plugin/influxdb/InfluxStorageProvider.java | 3 -- .../storage/plugin/influxdb/query/LogQuery.java | 6 +-- .../server/storage/plugin/jaeger/JaegerSpan.java | 2 +- .../storage/plugin/jaeger/JaegerSpanRecord.java | 4 +- .../storage/plugin/jdbc/h2/H2StorageProvider.java | 18 ++++--- .../plugin/jdbc/mysql/MySQLStorageProvider.java | 21 ++++---- .../server/storage/plugin/zipkin/ZipkinSpan.java | 2 +- .../storage/plugin/zipkin/ZipkinSpanRecord.java | 4 +- .../profile/exporter/test/ProfileTraceDAO.java | 2 +- .../tool/profile/core/MockCoreModuleProvider.java | 34 ++++++------- 38 files changed, 187 insertions(+), 287 deletions(-) diff --git a/docs/en/setup/backend/backend-alarm.md b/docs/en/setup/backend/backend-alarm.md index c1080d8..b812036 100644 --- a/docs/en/setup/backend/backend-alarm.md +++ b/docs/en/setup/backend/backend-alarm.md @@ -97,8 +97,8 @@ Example as following "scopeId": 1, "scope": "SERVICE", "name": "serviceA", - "id0": 12, - "id1": 0, + "id0": "12", + "id1": "", "ruleName": "service_resp_time_rule", "alarmMessage": "alarmMessage xxxx", "startTime": 1560524171000 @@ -106,8 +106,8 @@ Example as following "scopeId": 1, "scope": "SERVICE", "name": "serviceB", - "id0": 23, - "id1": 0, + "id0": "23", + "id1": "", "ruleName": "service_resp_time_rule", "alarmMessage": "alarmMessage yyy", "startTime": 1560524171000 @@ -124,8 +124,8 @@ message AlarmMessage { int64 scopeId = 1; string scope = 2; string name = 3; - int64 id0 = 4; - int64 id1 = 5; + string id0 = 4; + string id1 = 5; string ruleName = 6; string alarmMessage = 7; int64 startTime = 8; diff --git a/oap-server/exporter/src/main/java/org/apache/skywalking/oap/server/exporter/provider/MetricFormatter.java b/oap-server/exporter/src/main/java/org/apache/skywalking/oap/server/exporter/provider/MetricFormatter.java index 1060a7a..1382401 100644 --- a/oap-server/exporter/src/main/java/org/apache/skywalking/oap/server/exporter/provider/MetricFormatter.java +++ b/oap-server/exporter/src/main/java/org/apache/skywalking/oap/server/exporter/provider/MetricFormatter.java @@ -19,8 +19,8 @@ package org.apache.skywalking.oap.server.exporter.provider; import lombok.Setter; +import org.apache.skywalking.oap.server.core.analysis.manual.endpoint.EndpointTraffic; import org.apache.skywalking.oap.server.core.analysis.metrics.MetricsMetaInfo; -import org.apache.skywalking.oap.server.core.cache.EndpointInventoryCache; import org.apache.skywalking.oap.server.core.cache.ServiceInstanceInventoryCache; import org.apache.skywalking.oap.server.core.cache.ServiceInventoryCache; import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine; @@ -29,7 +29,6 @@ import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine; public class MetricFormatter { private ServiceInventoryCache serviceInventoryCache; private ServiceInstanceInventoryCache serviceInstanceInventoryCache; - private EndpointInventoryCache endpointInventoryCache; protected String getEntityName(MetricsMetaInfo meta) { int scope = meta.getScope(); @@ -40,8 +39,7 @@ public class MetricFormatter { int entityId = Integer.valueOf(meta.getId()); return serviceInstanceInventoryCache.get(entityId).getName(); } else if (DefaultScopeDefine.inEndpointCatalog(scope)) { - int entityId = Integer.valueOf(meta.getId()); - return endpointInventoryCache.get(entityId).getName(); + return EndpointTraffic.splitID(meta.getId()).getEndpointName(); } else if (scope == DefaultScopeDefine.ALL) { return ""; } else { diff --git a/oap-server/exporter/src/main/java/org/apache/skywalking/oap/server/exporter/provider/grpc/GRPCExporterProvider.java b/oap-server/exporter/src/main/java/org/apache/skywalking/oap/server/exporter/provider/grpc/GRPCExporterProvider.java index b7875ee..bb74d1f 100644 --- a/oap-server/exporter/src/main/java/org/apache/skywalking/oap/server/exporter/provider/grpc/GRPCExporterProvider.java +++ b/oap-server/exporter/src/main/java/org/apache/skywalking/oap/server/exporter/provider/grpc/GRPCExporterProvider.java @@ -19,7 +19,6 @@ package org.apache.skywalking.oap.server.exporter.provider.grpc; import org.apache.skywalking.oap.server.core.CoreModule; -import org.apache.skywalking.oap.server.core.cache.EndpointInventoryCache; import org.apache.skywalking.oap.server.core.cache.ServiceInstanceInventoryCache; import org.apache.skywalking.oap.server.core.cache.ServiceInventoryCache; import org.apache.skywalking.oap.server.core.exporter.ExporterModule; @@ -67,7 +66,6 @@ public class GRPCExporterProvider extends ModuleProvider { ModuleServiceHolder serviceHolder = getManager().find(CoreModule.NAME).provider(); exporter.setServiceInventoryCache(serviceHolder.getService(ServiceInventoryCache.class)); exporter.setServiceInstanceInventoryCache(serviceHolder.getService(ServiceInstanceInventoryCache.class)); - exporter.setEndpointInventoryCache(serviceHolder.getService(EndpointInventoryCache.class)); exporter.initSubscriptionList(); } diff --git a/oap-server/exporter/src/test/java/org/apache/skywalking/oap/server/exporter/provider/grpc/GRPCExporterProviderTest.java b/oap-server/exporter/src/test/java/org/apache/skywalking/oap/server/exporter/provider/grpc/GRPCExporterProviderTest.java index 6590728..d809c24 100644 --- a/oap-server/exporter/src/test/java/org/apache/skywalking/oap/server/exporter/provider/grpc/GRPCExporterProviderTest.java +++ b/oap-server/exporter/src/test/java/org/apache/skywalking/oap/server/exporter/provider/grpc/GRPCExporterProviderTest.java @@ -21,7 +21,6 @@ package org.apache.skywalking.oap.server.exporter.provider.grpc; import java.util.Iterator; import java.util.ServiceLoader; import org.apache.skywalking.oap.server.core.CoreModule; -import org.apache.skywalking.oap.server.core.cache.EndpointInventoryCache; import org.apache.skywalking.oap.server.core.cache.ServiceInstanceInventoryCache; import org.apache.skywalking.oap.server.core.cache.ServiceInventoryCache; import org.apache.skywalking.oap.server.core.exporter.ExporterModule; @@ -97,7 +96,6 @@ public class GRPCExporterProviderTest { when(serviceHolder.getService(ServiceInventoryCache.class)).thenReturn(null); when(serviceHolder.getService(ServiceInstanceInventoryCache.class)).thenReturn(null); - when(serviceHolder.getService(EndpointInventoryCache.class)).thenReturn(null); doNothing().when(exporter).initSubscriptionList(); diff --git a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandler.java b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandler.java index ba7a594..54f3e41 100644 --- a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandler.java +++ b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandler.java @@ -22,7 +22,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import lombok.extern.slf4j.Slf4j; -import org.apache.skywalking.oap.server.core.Const; import org.apache.skywalking.oap.server.core.CoreModule; import org.apache.skywalking.oap.server.core.alarm.AlarmCallback; import org.apache.skywalking.oap.server.core.alarm.EndpointMetaInAlarm; @@ -31,6 +30,7 @@ import org.apache.skywalking.oap.server.core.alarm.MetricsNotify; import org.apache.skywalking.oap.server.core.alarm.ServiceInstanceMetaInAlarm; import org.apache.skywalking.oap.server.core.alarm.ServiceMetaInAlarm; import org.apache.skywalking.oap.server.core.alarm.provider.grpc.GRPCCallback; +import org.apache.skywalking.oap.server.core.analysis.manual.endpoint.EndpointTraffic; import org.apache.skywalking.oap.server.core.analysis.metrics.Metrics; import org.apache.skywalking.oap.server.core.analysis.metrics.MetricsMetaInfo; import org.apache.skywalking.oap.server.core.analysis.metrics.WithMetadata; @@ -72,7 +72,7 @@ public class NotifyHandler implements MetricsNotify { ServiceInventory serviceInventory = serviceInventoryCache.get(serviceId); ServiceMetaInAlarm serviceMetaInAlarm = new ServiceMetaInAlarm(); serviceMetaInAlarm.setMetricsName(meta.getMetricsName()); - serviceMetaInAlarm.setId(serviceId); + serviceMetaInAlarm.setId(String.valueOf(serviceId)); serviceMetaInAlarm.setName(serviceInventory.getName()); metaInAlarm = serviceMetaInAlarm; } else if (DefaultScopeDefine.inServiceInstanceCatalog(scope)) { @@ -80,23 +80,18 @@ public class NotifyHandler implements MetricsNotify { ServiceInstanceInventory serviceInstanceInventory = serviceInstanceInventoryCache.get(serviceInstanceId); ServiceInstanceMetaInAlarm instanceMetaInAlarm = new ServiceInstanceMetaInAlarm(); instanceMetaInAlarm.setMetricsName(meta.getMetricsName()); - instanceMetaInAlarm.setId(serviceInstanceId); + instanceMetaInAlarm.setId(String.valueOf(serviceInstanceId)); instanceMetaInAlarm.setName(serviceInstanceInventory.getName()); metaInAlarm = instanceMetaInAlarm; } else if (DefaultScopeDefine.inEndpointCatalog(scope)) { EndpointMetaInAlarm endpointMetaInAlarm = new EndpointMetaInAlarm(); endpointMetaInAlarm.setMetricsName(meta.getMetricsName()); - final String[] serviceIdAndEndpointName = meta.getId().split(Const.ID_PARSER_SPLIT); - if (serviceIdAndEndpointName.length != 2) { - log.warn("Can't endpoint ID {} into two parts.", meta); - } - - int serviceId = Integer.parseInt(serviceIdAndEndpointName[0]); - ServiceInventory serviceInventory = serviceInventoryCache.get(serviceId); - - String textName = serviceIdAndEndpointName[1] + " in " + serviceInventory.getName(); + final EndpointTraffic.EndpointID endpointID = EndpointTraffic.splitID(meta.getId()); + ServiceInventory serviceInventory = serviceInventoryCache.get(endpointID.getServiceId()); + String textName = endpointID.getEndpointName() + " in " + serviceInventory.getName(); + endpointMetaInAlarm.setId(meta.getId()); endpointMetaInAlarm.setName(textName); metaInAlarm = endpointMetaInAlarm; } else { diff --git a/oap-server/server-alarm-plugin/src/main/proto/alarm-hook.proto b/oap-server/server-alarm-plugin/src/main/proto/alarm-hook.proto index 1e2e638..1f3a34f 100644 --- a/oap-server/server-alarm-plugin/src/main/proto/alarm-hook.proto +++ b/oap-server/server-alarm-plugin/src/main/proto/alarm-hook.proto @@ -30,8 +30,8 @@ message AlarmMessage { int64 scopeId = 1; string scope = 2; string name = 3; - int64 id0 = 4; - int64 id1 = 5; + string id0 = 4; + string id1 = 5; string ruleName = 6; string alarmMessage = 7; int64 startTime = 8; diff --git a/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/AlarmMessageFormatterTest.java b/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/AlarmMessageFormatterTest.java index 659147d..9f61d2b 100644 --- a/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/AlarmMessageFormatterTest.java +++ b/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/AlarmMessageFormatterTest.java @@ -49,13 +49,13 @@ public class AlarmMessageFormatterTest { } @Override - public int getId0() { - return 0; + public String getId0() { + return ""; } @Override - public int getId1() { - return 0; + public String getId1() { + return ""; } }); @@ -88,13 +88,13 @@ public class AlarmMessageFormatterTest { } @Override - public int getId0() { - return 1290; + public String getId0() { + return "1290"; } @Override - public int getId1() { - return 0; + public String getId1() { + return ""; } }); Assert.assertEquals("abc} words service - 1290 .. {", message); diff --git a/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandlerTest.java b/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandlerTest.java index 0150e7a..6110683 100644 --- a/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandlerTest.java +++ b/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandlerTest.java @@ -25,16 +25,16 @@ import org.apache.skywalking.oap.server.core.alarm.EndpointMetaInAlarm; import org.apache.skywalking.oap.server.core.alarm.MetaInAlarm; import org.apache.skywalking.oap.server.core.alarm.ServiceInstanceMetaInAlarm; import org.apache.skywalking.oap.server.core.alarm.ServiceMetaInAlarm; +import org.apache.skywalking.oap.server.core.analysis.manual.endpoint.EndpointTraffic; import org.apache.skywalking.oap.server.core.analysis.metrics.Metrics; import org.apache.skywalking.oap.server.core.analysis.metrics.MetricsMetaInfo; import org.apache.skywalking.oap.server.core.analysis.metrics.WithMetadata; -import org.apache.skywalking.oap.server.core.cache.EndpointInventoryCache; import org.apache.skywalking.oap.server.core.cache.ServiceInstanceInventoryCache; import org.apache.skywalking.oap.server.core.cache.ServiceInventoryCache; -import org.apache.skywalking.oap.server.core.analysis.manual.endpoint.EndpointTraffic; import org.apache.skywalking.oap.server.core.register.ServiceInstanceInventory; import org.apache.skywalking.oap.server.core.register.ServiceInventory; import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine; +import org.apache.skywalking.oap.server.core.source.DetectPoint; import org.apache.skywalking.oap.server.library.module.ModuleManager; import org.apache.skywalking.oap.server.library.module.ModuleProviderHolder; import org.apache.skywalking.oap.server.library.module.ModuleServiceHolder; @@ -76,8 +76,6 @@ public class NotifyHandlerTest { private ServiceInstanceInventoryCache serviceInstanceInventoryCache; - private EndpointInventoryCache endpointInventoryCache; - private MockMetrics metrics; private MetricsMetaInfo metadata; @@ -104,8 +102,7 @@ public class NotifyHandlerTest { when(serviceInventory.getName()).thenReturn(serviceInventoryName); when(serviceInventoryCache.get(anyInt())).thenReturn(serviceInventory); - - when(endpointInventoryCache.get(anyInt())).thenReturn(endpointTraffic); + when(metadata.getId()).thenReturn(EndpointTraffic.buildId(1, endpointInventoryName, DetectPoint.SERVER)); ArgumentCaptor<MetaInAlarm> metaCaptor = ArgumentCaptor.forClass(MetaInAlarm.class); @@ -115,7 +112,7 @@ public class NotifyHandlerTest { MetaInAlarm metaInAlarm = metaCaptor.getValue(); assertTrue(metaInAlarm instanceof EndpointMetaInAlarm); - assertEquals(mockId, metaInAlarm.getId0()); + assertEquals("1_ZW5kcG9pbnQtaW52ZW50b3J5LW5hbWU=_0", metaInAlarm.getId0()); assertEquals(DefaultScopeDefine.ENDPOINT_CATALOG_NAME, metaInAlarm.getScope()); assertEquals(metricsName, metaInAlarm.getMetricsName()); assertEquals(endpointInventoryName + " in " + serviceInventoryName, metaInAlarm.getName()); @@ -148,7 +145,7 @@ public class NotifyHandlerTest { assertTrue(metaInAlarm instanceof ServiceInstanceMetaInAlarm); assertEquals(metricsName, metaInAlarm.getMetricsName()); - assertEquals(mockId, metaInAlarm.getId0()); + assertEquals(mockId + "", metaInAlarm.getId0()); assertEquals(DefaultScopeDefine.SERVICE_INSTANCE_CATALOG_NAME, metaInAlarm.getScope()); assertEquals(instanceInventoryName, metaInAlarm.getName()); assertEquals(DefaultScopeDefine.SERVICE_INSTANCE, metaInAlarm.getScopeId()); @@ -177,7 +174,7 @@ public class NotifyHandlerTest { assertTrue(metaInAlarm instanceof ServiceMetaInAlarm); assertEquals(metricsName, metaInAlarm.getMetricsName()); - assertEquals(mockId, metaInAlarm.getId0()); + assertEquals(mockId + "", metaInAlarm.getId0()); assertEquals(DefaultScopeDefine.SERVICE_CATALOG_NAME, metaInAlarm.getScope()); assertEquals(serviceInventoryName, metaInAlarm.getName()); assertEquals(DefaultScopeDefine.SERVICE, metaInAlarm.getScopeId()); @@ -238,11 +235,10 @@ public class NotifyHandlerTest { serviceInventoryCache = mock(ServiceInventoryCache.class); serviceInstanceInventoryCache = mock(ServiceInstanceInventoryCache.class); - endpointInventoryCache = mock(EndpointInventoryCache.class); when(moduleServiceHolder.getService(ServiceInventoryCache.class)).thenReturn(serviceInventoryCache); - when(moduleServiceHolder.getService(ServiceInstanceInventoryCache.class)).thenReturn(serviceInstanceInventoryCache); - when(moduleServiceHolder.getService(EndpointInventoryCache.class)).thenReturn(endpointInventoryCache); + when(moduleServiceHolder.getService(ServiceInstanceInventoryCache.class)).thenReturn( + serviceInstanceInventoryCache); AlarmCore core = mock(AlarmCore.class); 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 ef57dff..d2187c5 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 @@ -23,6 +23,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Objects; +import org.apache.skywalking.oap.server.core.Const; import org.apache.skywalking.oap.server.core.alarm.AlarmCallback; import org.apache.skywalking.oap.server.core.alarm.AlarmMessage; import org.apache.skywalking.oap.server.core.alarm.MetaInAlarm; @@ -143,8 +144,9 @@ public class RunningRuleTest { // check at 201808301442 alarmMessages = runningRule.check(); Assert.assertEquals(1, alarmMessages.size()); - Assert.assertEquals("response percentile of endpoint Service_123 is lower than expected values", alarmMessages.get(0) - .getAlarmMessage()); + Assert.assertEquals( + "response percentile of endpoint Service_123 is lower than expected values", alarmMessages.get(0) + .getAlarmMessage()); } @Test @@ -283,19 +285,19 @@ public class RunningRuleTest { } @Override - public int getId0() { - return id; + public String getId0() { + return "" + id; } @Override - public int getId1() { - return 0; + public String getId1() { + return Const.EMPTY_STRING; } @Override public boolean equals(Object o) { MetaInAlarm target = (MetaInAlarm) o; - return id == target.getId0(); + return (id + "").equals(target.getId0()); } @Override diff --git a/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/grpc/GRPChookCallbackTest.java b/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/grpc/GRPChookCallbackTest.java index 5af3e2a..e5cc052 100644 --- a/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/grpc/GRPChookCallbackTest.java +++ b/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/grpc/GRPChookCallbackTest.java @@ -66,8 +66,8 @@ public class GRPChookCallbackTest { private void mockAlarmMessage() { AlarmMessage alarmMessage = new AlarmMessage(); - alarmMessage.setId0(1); - alarmMessage.setId1(2); + alarmMessage.setId0("1"); + alarmMessage.setId1("2"); alarmMessage.setScope(Scope.Service.name()); alarmMessage.setName("mock alarm message"); alarmMessage.setAlarmMessage("message"); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmMessage.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmMessage.java index 0ee654f..e47503a 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmMessage.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmMessage.java @@ -34,8 +34,8 @@ public class AlarmMessage { private int scopeId; private String scope; private String name; - private int id0; - private int id1; + private String id0; + private String id1; private String ruleName; private String alarmMessage; private long startTime; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmRecord.java index 1809394..2632234 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmRecord.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmRecord.java @@ -57,9 +57,9 @@ public class AlarmRecord extends Record { @Column(columnName = NAME) private String name; @Column(columnName = ID0) - private int id0; + private String id0; @Column(columnName = ID1) - private int id1; + private String id1; @Column(columnName = START_TIME) private long startTime; @Column(columnName = ALARM_MESSAGE, matchQuery = true) @@ -85,8 +85,8 @@ public class AlarmRecord extends Record { AlarmRecord record = new AlarmRecord(); record.setScope(((Number) dbMap.get(SCOPE)).intValue()); record.setName((String) dbMap.get(NAME)); - record.setId0(((Number) dbMap.get(ID0)).intValue()); - record.setId1(((Number) dbMap.get(ID1)).intValue()); + record.setId0((String) dbMap.get(ID0)); + record.setId1((String) dbMap.get(ID1)); record.setAlarmMessage((String) dbMap.get(ALARM_MESSAGE)); record.setStartTime(((Number) dbMap.get(START_TIME)).longValue()); record.setTimeBucket(((Number) dbMap.get(TIME_BUCKET)).longValue()); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/EndpointMetaInAlarm.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/EndpointMetaInAlarm.java index 1b0d769..cccd674 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/EndpointMetaInAlarm.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/EndpointMetaInAlarm.java @@ -21,6 +21,7 @@ package org.apache.skywalking.oap.server.core.alarm; import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; +import org.apache.skywalking.oap.server.core.Const; import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine; @Getter(AccessLevel.PUBLIC) @@ -28,7 +29,7 @@ import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine; public class EndpointMetaInAlarm extends MetaInAlarm { private String metricsName; - private int id; + private String id; private String name; private String[] tags; private String[] properties; @@ -44,12 +45,12 @@ public class EndpointMetaInAlarm extends MetaInAlarm { } @Override - public int getId0() { + public String getId0() { return id; } @Override - public int getId1() { - return 0; + public String getId1() { + return Const.EMPTY_STRING; } } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/MetaInAlarm.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/MetaInAlarm.java index c94dcae..a864f99 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/MetaInAlarm.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/MetaInAlarm.java @@ -36,12 +36,12 @@ public abstract class MetaInAlarm { * * @return the primary id. */ - public abstract int getId0(); + public abstract String getId0(); /** * Only exist in multiple IDs case, Such as ServiceRelation, id1 represents the dest service id */ - public abstract int getId1(); + public abstract String getId1(); @Override public boolean equals(Object o) { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ServiceInstanceMetaInAlarm.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ServiceInstanceMetaInAlarm.java index 76518fb..e78d441 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ServiceInstanceMetaInAlarm.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ServiceInstanceMetaInAlarm.java @@ -21,6 +21,7 @@ package org.apache.skywalking.oap.server.core.alarm; import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; +import org.apache.skywalking.oap.server.core.Const; import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine; @Getter(AccessLevel.PUBLIC) @@ -28,7 +29,7 @@ import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine; public class ServiceInstanceMetaInAlarm extends MetaInAlarm { private String metricsName; - private int id; + private String id; private String name; private String[] tags; private String[] properties; @@ -44,12 +45,12 @@ public class ServiceInstanceMetaInAlarm extends MetaInAlarm { } @Override - public int getId0() { + public String getId0() { return id; } @Override - public int getId1() { - return 0; + public String getId1() { + return Const.EMPTY_STRING; } } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ServiceMetaInAlarm.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ServiceMetaInAlarm.java index d030225..c5698a0 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ServiceMetaInAlarm.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ServiceMetaInAlarm.java @@ -21,6 +21,7 @@ package org.apache.skywalking.oap.server.core.alarm; import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; +import org.apache.skywalking.oap.server.core.Const; import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine; @Getter(AccessLevel.PUBLIC) @@ -28,7 +29,7 @@ import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine; public class ServiceMetaInAlarm extends MetaInAlarm { private String metricsName; - private int id; + private String id; private String name; private String[] tags; private String[] properties; @@ -44,12 +45,12 @@ public class ServiceMetaInAlarm extends MetaInAlarm { } @Override - public int getId0() { + public String getId0() { return id; } @Override - public int getId1() { - return 0; + public String getId1() { + return Const.EMPTY_STRING; } } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/endpoint/EndpointTraffic.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/endpoint/EndpointTraffic.java index 3007f4c..c46993b 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/endpoint/EndpointTraffic.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/endpoint/EndpointTraffic.java @@ -19,6 +19,8 @@ package org.apache.skywalking.oap.server.core.analysis.manual.endpoint; import com.google.common.base.Strings; +import java.nio.charset.StandardCharsets; +import java.util.Base64; import java.util.HashMap; import java.util.Map; import lombok.Getter; @@ -76,7 +78,10 @@ public class EndpointTraffic extends Metrics { } private static String buildId(int serviceId, String endpointName, int detectPoint) { - return serviceId + Const.ID_SPLIT + endpointName + Const.ID_SPLIT + detectPoint; + return serviceId + Const.ID_SPLIT + + new String( + Base64.getEncoder().encode(endpointName.getBytes(StandardCharsets.UTF_8)), StandardCharsets.UTF_8) + + Const.ID_SPLIT + detectPoint; } /** @@ -89,7 +94,9 @@ public class EndpointTraffic extends Metrics { throw new UnexpectedException("Can't split endpoint id into 3 parts, " + id); } return new EndpointID( - Integer.parseInt(strings[0]), strings[1], DetectPoint.valueOf(Integer.parseInt(strings[2]))); + Integer.parseInt(strings[0]), new String(Base64.getDecoder().decode(strings[1]), StandardCharsets.UTF_8), + DetectPoint.valueOf(Integer.parseInt(strings[2])) + ); } @RequiredArgsConstructor 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 a3b56ba..821f768 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 @@ -18,11 +18,9 @@ package org.apache.skywalking.oap.server.core.source; -import java.nio.charset.StandardCharsets; -import java.util.Base64; import lombok.Getter; import lombok.Setter; -import org.apache.skywalking.oap.server.core.Const; +import org.apache.skywalking.oap.server.core.analysis.manual.endpoint.EndpointTraffic; import static org.apache.skywalking.oap.server.core.source.DefaultScopeDefine.ENDPOINT; import static org.apache.skywalking.oap.server.core.source.DefaultScopeDefine.ENDPOINT_CATALOG_NAME; @@ -40,12 +38,12 @@ public class Endpoint extends Source { */ @Override public String getEntityId() { - return serviceId + Const.ID_SPLIT + Base64.getEncoder().encode(name.getBytes(StandardCharsets.UTF_8)); + return EndpointTraffic.buildId(serviceId, name, DetectPoint.SERVER); } @Getter @Setter - @ScopeDefaultColumn.DefinedByField(columnName = "name") + @ScopeDefaultColumn.DefinedByField(columnName = "name", requireDynamicActive = true) private String name; @Getter @Setter @@ -53,7 +51,7 @@ public class Endpoint extends Source { private int serviceId; @Getter @Setter - @ScopeDefaultColumn.DefinedByField(columnName = "service_name") + @ScopeDefaultColumn.DefinedByField(columnName = "service_name", requireDynamicActive = true) private String serviceName; @Getter @Setter diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/MetadataQuery.java b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/MetadataQuery.java index 8a143b7..2c90423 100644 --- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/MetadataQuery.java +++ b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/MetadataQuery.java @@ -27,7 +27,6 @@ import java.util.List; import org.apache.skywalking.oap.query.graphql.type.Duration; import org.apache.skywalking.oap.query.graphql.type.TimeInfo; import org.apache.skywalking.oap.server.core.CoreModule; -import org.apache.skywalking.oap.server.core.analysis.manual.endpoint.EndpointTraffic; import org.apache.skywalking.oap.server.core.query.DurationUtils; import org.apache.skywalking.oap.server.core.query.MetadataQueryService; import org.apache.skywalking.oap.server.core.query.entity.ClusterBrief; @@ -102,7 +101,6 @@ public class MetadataQuery implements GraphQLQueryResolver { return getMetadataQueryService().searchEndpoint(keyword, serviceId, limit); } - public EndpointInfo getEndpointInfo(final String endpointId) throws IOException { return getMetadataQueryService().getEndpointInfo(endpointId); } diff --git a/oap-server/server-receiver-plugin/jaeger-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/jaeger/JaegerGRPCHandler.java b/oap-server/server-receiver-plugin/jaeger-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/jaeger/JaegerGRPCHandler.java index f12b549..4f38fb7 100644 --- a/oap-server/server-receiver-plugin/jaeger-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/jaeger/JaegerGRPCHandler.java +++ b/oap-server/server-receiver-plugin/jaeger-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/jaeger/JaegerGRPCHandler.java @@ -29,6 +29,7 @@ import java.util.Base64; import org.apache.skywalking.apm.util.StringUtil; import org.apache.skywalking.oap.server.core.Const; import org.apache.skywalking.oap.server.core.analysis.TimeBucket; +import org.apache.skywalking.oap.server.core.analysis.manual.endpoint.EndpointTraffic; import org.apache.skywalking.oap.server.core.source.DetectPoint; import org.apache.skywalking.oap.server.core.source.SourceReceiver; import org.apache.skywalking.oap.server.library.util.BooleanUtils; @@ -49,7 +50,7 @@ public class JaegerGRPCHandler extends CollectorServiceGrpc.CollectorServiceImpl } public void postSpans(Collector.PostSpansRequest request, - StreamObserver<Collector.PostSpansResponse> responseObserver) { + StreamObserver<Collector.PostSpansResponse> responseObserver) { request.getBatch().getSpansList().forEach(span -> { try { @@ -119,13 +120,8 @@ public class JaegerGRPCHandler extends CollectorServiceGrpc.CollectorServiceImpl if ("server".equals(kind) || "consumer".equals(kind)) { String endpointName = span.getOperationName(); jaegerSpan.setEndpointName(endpointName); - int endpointId = CoreRegisterLinker.getEndpointInventoryCache() - .getEndpointId(finalServiceId, endpointName, DetectPoint.SERVER - .ordinal()); - if (endpointId != Const.NONE) { - CoreRegisterLinker.getEndpointInventoryRegister() - .generate(finalServiceId, endpointName, DetectPoint.SERVER); - } + jaegerSpan.setEndpointId( + EndpointTraffic.buildId(finalServiceId, endpointName, DetectPoint.SERVER)); } } }); diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/ServiceMeshMetricDataDecorator.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/ServiceMeshMetricDataDecorator.java index f3e3e19..0d04075 100644 --- a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/ServiceMeshMetricDataDecorator.java +++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/ServiceMeshMetricDataDecorator.java @@ -19,7 +19,6 @@ package org.apache.skywalking.aop.server.receiver.mesh; import com.google.gson.JsonObject; -import org.apache.skywalking.apm.network.common.DetectPoint; import org.apache.skywalking.apm.network.servicemesh.ServiceMeshMetric; import org.apache.skywalking.apm.util.StringUtil; import org.apache.skywalking.oap.server.core.Const; @@ -30,7 +29,6 @@ public class ServiceMeshMetricDataDecorator { private ServiceMeshMetric origin; private ServiceMeshMetric rebuiltData; private ServiceMeshMetric.Builder newDataBuilder; - private int endpointId; public ServiceMeshMetricDataDecorator(ServiceMeshMetric origin) { this.origin = origin; @@ -60,9 +58,12 @@ public class ServiceMeshMetricDataDecorator { sourceServiceInstanceId = origin.getSourceServiceInstanceId(); if (sourceServiceId != Const.NONE && sourceServiceInstanceId == Const.NONE) { sourceServiceInstanceId = CoreRegisterLinker.getServiceInstanceInventoryRegister() - .getOrCreate(sourceServiceId, origin.getSourceServiceInstance(), origin - .getSourceServiceInstance(), origin.getEndTime(), getOSInfoForMesh(origin - .getSourceServiceInstance())); + .getOrCreate( + sourceServiceId, origin.getSourceServiceInstance(), origin + .getSourceServiceInstance(), origin.getEndTime(), + getOSInfoForMesh(origin + .getSourceServiceInstance()) + ); if (sourceServiceInstanceId != Const.NONE) { getNewDataBuilder().setSourceServiceInstanceId(sourceServiceInstanceId); } else { @@ -82,9 +83,12 @@ public class ServiceMeshMetricDataDecorator { destServiceInstanceId = origin.getDestServiceInstanceId(); if (destServiceId != Const.NONE && destServiceInstanceId == Const.NONE) { destServiceInstanceId = CoreRegisterLinker.getServiceInstanceInventoryRegister() - .getOrCreate(destServiceId, origin.getDestServiceInstance(), origin - .getDestServiceInstance(), origin.getEndTime(), getOSInfoForMesh(origin - .getDestServiceInstance())); + .getOrCreate( + destServiceId, origin.getDestServiceInstance(), origin + .getDestServiceInstance(), origin.getEndTime(), + getOSInfoForMesh(origin + .getDestServiceInstance()) + ); if (destServiceInstanceId != Const.NONE) { getNewDataBuilder().setDestServiceInstanceId(destServiceInstanceId); } else { @@ -106,10 +110,6 @@ public class ServiceMeshMetricDataDecorator { } } - public int getEndpointId() { - return endpointId; - } - private ServiceMeshMetric.Builder getNewDataBuilder() { if (newDataBuilder == null) { newDataBuilder = origin.toBuilder(); diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java index d61c6e6..8a550fc 100644 --- a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java +++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java @@ -78,7 +78,8 @@ public class TelemetryDataDispatcher { } public static void preProcess(ServiceMeshMetric data) { - String service = data.getDestServiceId() == Const.NONE ? data.getDestServiceName() : SERVICE_CACHE.get(data.getDestServiceId()) + String service = data.getDestServiceId() == Const.NONE ? data.getDestServiceName() : SERVICE_CACHE.get( + data.getDestServiceId()) .getName(); String endpointName = data.getEndpoint(); StringFormatGroup.FormatResult formatResult = EndpointNameFormater.format(service, endpointName); @@ -134,11 +135,13 @@ public class TelemetryDataDispatcher { if (Objects.nonNull(serviceInstanceInventory)) { if (metrics.getEndTime() - serviceInstanceInventory.getHeartbeatTime() > heartbeatCycle) { // trigger heartbeat every 10s. - SERVICE_INSTANCE_INVENTORY_REGISTER.heartbeat(metrics.getSourceServiceInstanceId(), metrics.getEndTime()); + SERVICE_INSTANCE_INVENTORY_REGISTER.heartbeat( + metrics.getSourceServiceInstanceId(), metrics.getEndTime()); SERVICE_INVENTORY_REGISTER.heartbeat(serviceInstanceInventory.getServiceId(), metrics.getEndTime()); } } else { - logger.warn("Can't found service by service instance id from cache, service instance id is: {}", instanceId); + logger.warn( + "Can't found service by service instance id from cache, service instance id is: {}", instanceId); } } @@ -152,7 +155,8 @@ public class TelemetryDataDispatcher { SERVICE_INVENTORY_REGISTER.heartbeat(serviceInstanceInventory.getServiceId(), metrics.getEndTime()); } } else { - logger.warn("Can't found service by service instance id from cache, service instance id is: {}", instanceId); + logger.warn( + "Can't found service by service instance id from cache, service instance id is: {}", instanceId); } } @@ -161,7 +165,8 @@ public class TelemetryDataDispatcher { All all = new All(); all.setTimeBucket(minuteTimeBucket); all.setName(getServiceName(metrics.getDestServiceId(), metrics.getDestServiceName())); - all.setServiceInstanceName(getServiceInstanceName(metrics.getDestServiceInstanceId(), metrics.getDestServiceInstance())); + all.setServiceInstanceName( + getServiceInstanceName(metrics.getDestServiceInstanceId(), metrics.getDestServiceInstance())); all.setEndpointName(metrics.getEndpoint()); all.setLatency(metrics.getLatency()); all.setStatus(metrics.getStatus()); @@ -177,7 +182,8 @@ public class TelemetryDataDispatcher { service.setTimeBucket(minuteTimeBucket); service.setId(metrics.getDestServiceId()); service.setName(getServiceName(metrics.getDestServiceId(), metrics.getDestServiceName())); - service.setServiceInstanceName(getServiceInstanceName(metrics.getDestServiceInstanceId(), metrics.getDestServiceInstance())); + service.setServiceInstanceName( + getServiceInstanceName(metrics.getDestServiceInstanceId(), metrics.getDestServiceInstance())); service.setEndpointName(metrics.getEndpoint()); service.setLatency(metrics.getLatency()); service.setStatus(metrics.getStatus()); @@ -192,13 +198,16 @@ public class TelemetryDataDispatcher { ServiceRelation serviceRelation = new ServiceRelation(); serviceRelation.setTimeBucket(minuteTimeBucket); serviceRelation.setSourceServiceId(metrics.getSourceServiceId()); - serviceRelation.setSourceServiceName(getServiceName(metrics.getSourceServiceId(), metrics.getSourceServiceName())); - serviceRelation.setSourceServiceInstanceName(getServiceInstanceName(metrics.getSourceServiceInstanceId(), metrics - .getSourceServiceInstance())); + serviceRelation.setSourceServiceName( + getServiceName(metrics.getSourceServiceId(), metrics.getSourceServiceName())); + serviceRelation.setSourceServiceInstanceName( + getServiceInstanceName(metrics.getSourceServiceInstanceId(), metrics + .getSourceServiceInstance())); serviceRelation.setDestServiceId(metrics.getDestServiceId()); serviceRelation.setDestServiceName(getServiceName(metrics.getDestServiceId(), metrics.getDestServiceName())); - serviceRelation.setDestServiceInstanceName(getServiceInstanceName(metrics.getDestServiceInstanceId(), metrics.getDestServiceInstance())); + serviceRelation.setDestServiceInstanceName( + getServiceInstanceName(metrics.getDestServiceInstanceId(), metrics.getDestServiceInstance())); serviceRelation.setEndpoint(metrics.getEndpoint()); serviceRelation.setLatency(metrics.getLatency()); @@ -216,7 +225,8 @@ public class TelemetryDataDispatcher { ServiceInstance serviceInstance = new ServiceInstance(); serviceInstance.setTimeBucket(minuteTimeBucket); serviceInstance.setId(metrics.getDestServiceInstanceId()); - serviceInstance.setName(getServiceInstanceName(metrics.getDestServiceInstanceId(), metrics.getDestServiceInstance())); + serviceInstance.setName( + getServiceInstanceName(metrics.getDestServiceInstanceId(), metrics.getDestServiceInstance())); serviceInstance.setServiceId(metrics.getDestServiceId()); serviceInstance.setServiceName(getServiceName(metrics.getDestServiceId(), metrics.getDestServiceName())); serviceInstance.setEndpointName(metrics.getEndpoint()); @@ -233,13 +243,16 @@ public class TelemetryDataDispatcher { ServiceInstanceRelation serviceRelation = new ServiceInstanceRelation(); serviceRelation.setTimeBucket(minuteTimeBucket); serviceRelation.setSourceServiceInstanceId(metrics.getSourceServiceInstanceId()); - serviceRelation.setSourceServiceInstanceName(getServiceInstanceName(metrics.getSourceServiceInstanceId(), metrics - .getSourceServiceInstance())); + serviceRelation.setSourceServiceInstanceName( + getServiceInstanceName(metrics.getSourceServiceInstanceId(), metrics + .getSourceServiceInstance())); serviceRelation.setSourceServiceId(metrics.getSourceServiceId()); - serviceRelation.setSourceServiceName(getServiceName(metrics.getSourceServiceId(), metrics.getSourceServiceName())); + serviceRelation.setSourceServiceName( + getServiceName(metrics.getSourceServiceId(), metrics.getSourceServiceName())); serviceRelation.setDestServiceInstanceId(metrics.getDestServiceInstanceId()); - serviceRelation.setDestServiceInstanceName(getServiceInstanceName(metrics.getDestServiceInstanceId(), metrics.getDestServiceInstance())); + serviceRelation.setDestServiceInstanceName( + getServiceInstanceName(metrics.getDestServiceInstanceId(), metrics.getDestServiceInstance())); serviceRelation.setDestServiceId(metrics.getDestServiceId()); serviceRelation.setDestServiceName(getServiceName(metrics.getDestServiceId(), metrics.getDestServiceName())); @@ -255,10 +268,6 @@ public class TelemetryDataDispatcher { } private static void toEndpoint(ServiceMeshMetricDataDecorator decorator, long minuteTimeBucket) { - if (decorator.getEndpointId() == Const.NONE) { - logger.warn("Received service mesh data {} with an id == 0", decorator); - return; - } ServiceMeshMetric metrics = decorator.getMetric(); Endpoint endpoint = new Endpoint(); endpoint.setTimeBucket(minuteTimeBucket); @@ -266,7 +275,8 @@ public class TelemetryDataDispatcher { endpoint.setServiceId(metrics.getDestServiceId()); endpoint.setServiceName(getServiceName(metrics.getDestServiceId(), metrics.getDestServiceName())); endpoint.setServiceInstanceId(metrics.getDestServiceInstanceId()); - endpoint.setServiceInstanceName(getServiceInstanceName(metrics.getDestServiceInstanceId(), metrics.getDestServiceInstance())); + endpoint.setServiceInstanceName( + getServiceInstanceName(metrics.getDestServiceInstanceId(), metrics.getDestServiceInstance())); endpoint.setLatency(metrics.getLatency()); endpoint.setStatus(metrics.getStatus()); diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v6/grpc/RegisterServiceHandler.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v6/grpc/RegisterServiceHandler.java index 90f798e..a7385be 100644 --- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v6/grpc/RegisterServiceHandler.java +++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v6/grpc/RegisterServiceHandler.java @@ -27,7 +27,6 @@ import org.apache.skywalking.apm.network.common.KeyIntValuePair; import org.apache.skywalking.apm.network.common.KeyStringValuePair; import org.apache.skywalking.apm.network.common.ServiceType; import org.apache.skywalking.apm.network.register.v2.EndpointMapping; -import org.apache.skywalking.apm.network.register.v2.EndpointMappingElement; import org.apache.skywalking.apm.network.register.v2.Endpoints; import org.apache.skywalking.apm.network.register.v2.NetAddressMapping; import org.apache.skywalking.apm.network.register.v2.NetAddresses; @@ -45,11 +44,9 @@ import org.apache.skywalking.oap.server.core.cache.ServiceInventoryCache; import org.apache.skywalking.oap.server.core.register.NodeType; import org.apache.skywalking.oap.server.core.register.ServiceInstanceInventory; import org.apache.skywalking.oap.server.core.register.ServiceInventory; -import org.apache.skywalking.oap.server.core.register.service.IEndpointTrafficGenerator; import org.apache.skywalking.oap.server.core.register.service.INetworkAddressInventoryRegister; import org.apache.skywalking.oap.server.core.register.service.IServiceInstanceInventoryRegister; import org.apache.skywalking.oap.server.core.register.service.IServiceInventoryRegister; -import org.apache.skywalking.oap.server.core.source.DetectPoint; import org.apache.skywalking.oap.server.library.module.ModuleManager; import org.apache.skywalking.oap.server.library.server.grpc.GRPCHandler; import org.slf4j.Logger; @@ -76,7 +73,6 @@ public class RegisterServiceHandler extends RegisterGrpc.RegisterImplBase implem private final ServiceInstanceInventoryCache serviceInstanceInventoryCache; private final IServiceInventoryRegister serviceInventoryRegister; private final IServiceInstanceInventoryRegister serviceInstanceInventoryRegister; - private final IEndpointTrafficGenerator inventoryService; private final INetworkAddressInventoryRegister networkAddressInventoryRegister; public RegisterServiceHandler(ModuleManager moduleManager) { @@ -92,9 +88,6 @@ public class RegisterServiceHandler extends RegisterGrpc.RegisterImplBase implem this.serviceInstanceInventoryRegister = moduleManager.find(CoreModule.NAME) .provider() .getService(IServiceInstanceInventoryRegister.class); - this.inventoryService = moduleManager.find(CoreModule.NAME) - .provider() - .getService(IEndpointTrafficGenerator.class); this.networkAddressInventoryRegister = moduleManager.find(CoreModule.NAME) .provider() .getService(INetworkAddressInventoryRegister.class); @@ -199,31 +192,13 @@ public class RegisterServiceHandler extends RegisterGrpc.RegisterImplBase implem responseObserver.onCompleted(); } + /** + * @since 7.1.0 There is no endpoint / operation name register anymore. + */ + @Deprecated @Override public void doEndpointRegister(Endpoints request, StreamObserver<EndpointMapping> responseObserver) { - EndpointMapping.Builder builder = EndpointMapping.newBuilder(); - - request.getEndpointsList().forEach(endpoint -> { - int serviceId = endpoint.getServiceId(); - String endpointName = endpoint.getEndpointName(); - - DetectPoint detectPoint = DetectPoint.fromNetworkProtocolDetectPoint(endpoint.getFrom()); - if (DetectPoint.SERVER.equals(detectPoint)) { - int endpointId = inventoryService.generate(serviceId, endpointName, detectPoint); - - if (endpointId != Const.NONE) { - builder.addElements(EndpointMappingElement.newBuilder() - .setServiceId(serviceId) - .setEndpointName(endpointName) - .setEndpointId(endpointId) - .setFrom(endpoint.getFrom())); - } - } else { - logger.warn("Unexpected endpoint register, endpoint isn't detected from server side. {}", request); - } - }); - - responseObserver.onNext(builder.build()); + responseObserver.onNext(EndpointMapping.newBuilder().build()); responseObserver.onCompleted(); } diff --git a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/handler/SpanProcessor.java b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/handler/SpanProcessor.java index f27c2a4..a99c609 100644 --- a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/handler/SpanProcessor.java +++ b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/handler/SpanProcessor.java @@ -24,7 +24,6 @@ import java.io.InputStream; import java.util.List; import java.util.zip.GZIPInputStream; import javax.servlet.http.HttpServletRequest; -import org.apache.skywalking.oap.server.core.cache.EndpointInventoryCache; import org.apache.skywalking.oap.server.core.cache.ServiceInventoryCache; import org.apache.skywalking.oap.server.core.source.SourceReceiver; import org.apache.skywalking.oap.server.receiver.zipkin.ZipkinReceiverConfig; @@ -36,14 +35,11 @@ import zipkin2.codec.SpanBytesDecoder; public class SpanProcessor { private SourceReceiver receiver; private ServiceInventoryCache serviceInventoryCache; - private EndpointInventoryCache endpointInventoryCache; private int encode; - public SpanProcessor(SourceReceiver receiver, ServiceInventoryCache serviceInventoryCache, - EndpointInventoryCache endpointInventoryCache, int encode) { + public SpanProcessor(SourceReceiver receiver, ServiceInventoryCache serviceInventoryCache, int encode) { this.receiver = receiver; this.serviceInventoryCache = serviceInventoryCache; - this.endpointInventoryCache = endpointInventoryCache; this.encode = encode; } @@ -63,7 +59,7 @@ public class SpanProcessor { ZipkinSkyWalkingTransfer transfer = new ZipkinSkyWalkingTransfer(); transfer.doTransfer(config, spanList); } else { - SpanForward forward = new SpanForward(config, receiver, serviceInventoryCache, endpointInventoryCache, encode); + SpanForward forward = new SpanForward(config, receiver, serviceInventoryCache, encode); forward.send(spanList); } } diff --git a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/handler/SpanV1JettyHandler.java b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/handler/SpanV1JettyHandler.java index 2301102..4561d96 100644 --- a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/handler/SpanV1JettyHandler.java +++ b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/handler/SpanV1JettyHandler.java @@ -21,7 +21,6 @@ package org.apache.skywalking.oap.server.receiver.zipkin.handler; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.skywalking.oap.server.core.CoreModule; -import org.apache.skywalking.oap.server.core.cache.EndpointInventoryCache; import org.apache.skywalking.oap.server.core.cache.ServiceInventoryCache; import org.apache.skywalking.oap.server.core.source.SourceReceiver; import org.apache.skywalking.oap.server.library.module.ModuleManager; @@ -37,12 +36,10 @@ public class SpanV1JettyHandler extends JettyHandler { private ZipkinReceiverConfig config; private SourceReceiver sourceReceiver; private ServiceInventoryCache serviceInventoryCache; - private EndpointInventoryCache endpointInventoryCache; public SpanV1JettyHandler(ZipkinReceiverConfig config, ModuleManager manager) { sourceReceiver = manager.find(CoreModule.NAME).provider().getService(SourceReceiver.class); serviceInventoryCache = manager.find(CoreModule.NAME).provider().getService(ServiceInventoryCache.class); - endpointInventoryCache = manager.find(CoreModule.NAME).provider().getService(EndpointInventoryCache.class); this.config = config; } @@ -63,7 +60,7 @@ public class SpanV1JettyHandler extends JettyHandler { SpanBytesDecoder decoder = SpanEncode.isThrift(encode) ? SpanBytesDecoder.THRIFT : SpanBytesDecoder.JSON_V1; - SpanProcessor processor = new SpanProcessor(sourceReceiver, serviceInventoryCache, endpointInventoryCache, encode); + SpanProcessor processor = new SpanProcessor(sourceReceiver, serviceInventoryCache, encode); processor.convert(config, decoder, request); response.setStatus(202); diff --git a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/handler/SpanV2JettyHandler.java b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/handler/SpanV2JettyHandler.java index 09cf07a..2a10b39 100644 --- a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/handler/SpanV2JettyHandler.java +++ b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/handler/SpanV2JettyHandler.java @@ -21,7 +21,6 @@ package org.apache.skywalking.oap.server.receiver.zipkin.handler; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.skywalking.oap.server.core.CoreModule; -import org.apache.skywalking.oap.server.core.cache.EndpointInventoryCache; import org.apache.skywalking.oap.server.core.cache.ServiceInventoryCache; import org.apache.skywalking.oap.server.core.source.SourceReceiver; import org.apache.skywalking.oap.server.library.module.ModuleManager; @@ -37,12 +36,10 @@ public class SpanV2JettyHandler extends JettyHandler { private ZipkinReceiverConfig config; private SourceReceiver sourceReceiver; private ServiceInventoryCache serviceInventoryCache; - private EndpointInventoryCache endpointInventoryCache; public SpanV2JettyHandler(ZipkinReceiverConfig config, ModuleManager manager) { sourceReceiver = manager.find(CoreModule.NAME).provider().getService(SourceReceiver.class); serviceInventoryCache = manager.find(CoreModule.NAME).provider().getService(ServiceInventoryCache.class); - endpointInventoryCache = manager.find(CoreModule.NAME).provider().getService(EndpointInventoryCache.class); this.config = config; } @@ -63,7 +60,7 @@ public class SpanV2JettyHandler extends JettyHandler { SpanBytesDecoder decoder = SpanEncode.isProto3(encode) ? SpanBytesDecoder.PROTO3 : SpanBytesDecoder.JSON_V2; - SpanProcessor processor = new SpanProcessor(sourceReceiver, serviceInventoryCache, endpointInventoryCache, encode); + SpanProcessor processor = new SpanProcessor(sourceReceiver, serviceInventoryCache, encode); processor.convert(config, decoder, request); response.setStatus(202); diff --git a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/trace/SpanForward.java b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/trace/SpanForward.java index f1e36e7..1b1edbc 100644 --- a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/trace/SpanForward.java +++ b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/trace/SpanForward.java @@ -22,7 +22,7 @@ import java.util.List; import org.apache.skywalking.apm.util.StringUtil; import org.apache.skywalking.oap.server.core.Const; import org.apache.skywalking.oap.server.core.analysis.TimeBucket; -import org.apache.skywalking.oap.server.core.cache.EndpointInventoryCache; +import org.apache.skywalking.oap.server.core.analysis.manual.endpoint.EndpointTraffic; import org.apache.skywalking.oap.server.core.cache.ServiceInventoryCache; import org.apache.skywalking.oap.server.core.source.DetectPoint; import org.apache.skywalking.oap.server.core.source.SourceReceiver; @@ -38,15 +38,13 @@ public class SpanForward { private ZipkinReceiverConfig config; private SourceReceiver receiver; private ServiceInventoryCache serviceInventoryCache; - private EndpointInventoryCache endpointInventoryCache; private int encode; public SpanForward(ZipkinReceiverConfig config, SourceReceiver receiver, - ServiceInventoryCache serviceInventoryCache, EndpointInventoryCache endpointInventoryCache, int encode) { + ServiceInventoryCache serviceInventoryCache, int encode) { this.config = config; this.receiver = receiver; this.serviceInventoryCache = serviceInventoryCache; - this.endpointInventoryCache = endpointInventoryCache; this.encode = encode; } @@ -76,13 +74,7 @@ public class SpanForward { case SERVER: case CONSUMER: if (!StringUtil.isEmpty(spanName) && serviceId != Const.NONE) { - int endpointId = endpointInventoryCache.getEndpointId(serviceId, spanName, DetectPoint.SERVER.value()); - if (endpointId != Const.NONE) { - zipkinSpan.setEndpointId(endpointId); - } else if (config.isRegisterZipkinEndpoint()) { - CoreRegisterLinker.getEndpointInventoryRegister() - .generate(serviceId, spanName, DetectPoint.SERVER); - } + zipkinSpan.setEndpointId(EndpointTraffic.buildId(serviceId, spanName, DetectPoint.SERVER)); } } if (!StringUtil.isEmpty(spanName)) { diff --git a/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/cache/EndpointInventoryCacheEs7DAO.java b/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/cache/EndpointInventoryCacheEs7DAO.java deleted file mode 100644 index 064bb6c..0000000 --- a/oap-server/server-storage-plugin/storage-elasticsearch7-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch7/cache/EndpointInventoryCacheEs7DAO.java +++ /dev/null @@ -1,58 +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.storage.plugin.elasticsearch7.cache; - -import org.apache.skywalking.oap.server.core.analysis.manual.endpoint.EndpointTraffic; -import org.apache.skywalking.oap.server.library.client.elasticsearch.ElasticSearchClient; -import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.cache.EndpointInventoryCacheEsDAO; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.builder.SearchSourceBuilder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class EndpointInventoryCacheEs7DAO extends EndpointInventoryCacheEsDAO { - - private static final Logger logger = LoggerFactory.getLogger(EndpointInventoryCacheEs7DAO.class); - - public EndpointInventoryCacheEs7DAO(ElasticSearchClient client) { - super(client); - } - - @Override - public EndpointTraffic get(int endpointId) { - try { - SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); - searchSourceBuilder.query(QueryBuilders.termQuery(EndpointTraffic.SEQUENCE, endpointId)); - searchSourceBuilder.size(1); - - SearchResponse response = getClient().search(EndpointTraffic.INDEX_NAME, searchSourceBuilder); - if (response.getHits().getTotalHits().value == 1) { - SearchHit searchHit = response.getHits().getAt(0); - return builder.map2Data(searchHit.getSourceAsMap()); - } else { - return null; - } - } catch (Throwable e) { - logger.error(e.getMessage(), e); - return null; - } - } -} diff --git a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/InfluxStorageProvider.java b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/InfluxStorageProvider.java index e294ccb..a0ed4b1 100644 --- a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/InfluxStorageProvider.java +++ b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/InfluxStorageProvider.java @@ -27,7 +27,6 @@ import org.apache.skywalking.oap.server.core.storage.IRegisterLockDAO; import org.apache.skywalking.oap.server.core.storage.StorageDAO; import org.apache.skywalking.oap.server.core.storage.StorageException; import org.apache.skywalking.oap.server.core.storage.StorageModule; -import org.apache.skywalking.oap.server.core.storage.cache.IEndpointInventoryCacheDAO; import org.apache.skywalking.oap.server.core.storage.cache.INetworkAddressInventoryCacheDAO; import org.apache.skywalking.oap.server.core.storage.cache.IServiceInstanceInventoryCacheDAO; import org.apache.skywalking.oap.server.core.storage.cache.IServiceInventoryCacheDAO; @@ -65,7 +64,6 @@ import org.apache.skywalking.oap.server.storage.plugin.influxdb.query.ProfileThr import org.apache.skywalking.oap.server.storage.plugin.influxdb.query.TopNRecordsQuery; import org.apache.skywalking.oap.server.storage.plugin.influxdb.query.TopologyQuery; import org.apache.skywalking.oap.server.storage.plugin.influxdb.query.TraceQuery; -import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2EndpointInventoryCacheDAO; import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2MetadataQueryDAO; import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2NetworkAddressInventoryCacheDAO; import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2RegisterLockDAO; @@ -119,7 +117,6 @@ public class InfluxStorageProvider extends ModuleProvider { this.registerServiceImplementation(IServiceInventoryCacheDAO.class, new H2ServiceInventoryCacheDAO(client)); this.registerServiceImplementation( IServiceInstanceInventoryCacheDAO.class, new H2ServiceInstanceInventoryCacheDAO(client)); - this.registerServiceImplementation(IEndpointInventoryCacheDAO.class, new H2EndpointInventoryCacheDAO(client)); this.registerServiceImplementation( INetworkAddressInventoryCacheDAO.class, new H2NetworkAddressInventoryCacheDAO(client)); this.registerServiceImplementation( diff --git a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/LogQuery.java b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/LogQuery.java index c70a802..a43384c 100644 --- a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/LogQuery.java +++ b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/LogQuery.java @@ -67,8 +67,8 @@ public class LogQuery implements ILogQueryDAO { LogState state, String stateCode, Pagination paging, int from, int limit, long startTB, long endTB) throws IOException { WhereQueryImpl<SelectQueryImpl> recallQuery = select().regex("*::field") - .from(client.getDatabase(), metricName) - .where(); + .from(client.getDatabase(), metricName) + .where(); if (serviceId != Const.NONE) { recallQuery.and(eq(RecordDAO.TAG_SERVICE_ID, String.valueOf(serviceId))); } @@ -135,7 +135,7 @@ public class LogQuery implements ILogQueryDAO { log.setContent((String) data.get(CONTENT)); log.setContentType(ContentType.instanceOf((int) data.get(CONTENT_TYPE))); - log.setEndpointName(data.get(ENDPOINT_NAME)); + log.setEndpointName((String) data.get(ENDPOINT_NAME)); log.setTraceId((String) data.get(TRACE_ID)); log.setTimestamp((String) data.get(TIMESTAMP)); diff --git a/oap-server/server-storage-plugin/storage-jaeger-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jaeger/JaegerSpan.java b/oap-server/server-storage-plugin/storage-jaeger-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jaeger/JaegerSpan.java index 9fbae24..ae1cf4a 100644 --- a/oap-server/server-storage-plugin/storage-jaeger-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jaeger/JaegerSpan.java +++ b/oap-server/server-storage-plugin/storage-jaeger-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jaeger/JaegerSpan.java @@ -56,7 +56,7 @@ public class JaegerSpan extends Source { private String endpointName; @Setter @Getter - private int endpointId; + private String endpointId; @Setter @Getter private long startTime; diff --git a/oap-server/server-storage-plugin/storage-jaeger-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jaeger/JaegerSpanRecord.java b/oap-server/server-storage-plugin/storage-jaeger-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jaeger/JaegerSpanRecord.java index 28def8e..8b1a0dd 100644 --- a/oap-server/server-storage-plugin/storage-jaeger-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jaeger/JaegerSpanRecord.java +++ b/oap-server/server-storage-plugin/storage-jaeger-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jaeger/JaegerSpanRecord.java @@ -79,7 +79,7 @@ public class JaegerSpanRecord extends Record { @Getter @Column(columnName = ENDPOINT_ID) @IDColumn - private int endpointId; + private String endpointId; @Setter @Getter @Column(columnName = START_TIME) @@ -149,7 +149,7 @@ public class JaegerSpanRecord extends Record { record.setServiceId(((Number) dbMap.get(SERVICE_ID)).intValue()); record.setServiceInstanceId(((Number) dbMap.get(SERVICE_INSTANCE_ID)).intValue()); record.setEndpointName((String) dbMap.get(ENDPOINT_NAME)); - record.setEndpointId(((Number) dbMap.get(ENDPOINT_ID)).intValue()); + record.setEndpointId((String) dbMap.get(ENDPOINT_ID)); record.setStartTime(((Number) dbMap.get(START_TIME)).longValue()); record.setEndTime(((Number) dbMap.get(END_TIME)).longValue()); record.setLatency(((Number) dbMap.get(LATENCY)).intValue()); diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2StorageProvider.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2StorageProvider.java index 5b468ce..597748f 100644 --- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2StorageProvider.java +++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2StorageProvider.java @@ -26,7 +26,6 @@ import org.apache.skywalking.oap.server.core.storage.IRegisterLockDAO; import org.apache.skywalking.oap.server.core.storage.StorageDAO; import org.apache.skywalking.oap.server.core.storage.StorageException; import org.apache.skywalking.oap.server.core.storage.StorageModule; -import org.apache.skywalking.oap.server.core.storage.cache.IEndpointInventoryCacheDAO; import org.apache.skywalking.oap.server.core.storage.cache.INetworkAddressInventoryCacheDAO; import org.apache.skywalking.oap.server.core.storage.cache.IServiceInstanceInventoryCacheDAO; import org.apache.skywalking.oap.server.core.storage.cache.IServiceInventoryCacheDAO; @@ -51,7 +50,6 @@ import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedExcepti import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2AggregationQueryDAO; import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2AlarmQueryDAO; import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2BatchDAO; -import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2EndpointInventoryCacheDAO; import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2HistoryDeleteDAO; import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2LogQueryDAO; import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2MetadataQueryDAO; @@ -121,23 +119,27 @@ public class H2StorageProvider extends ModuleProvider { this.registerServiceImplementation(IRegisterLockDAO.class, lockDAO); this.registerServiceImplementation(IServiceInventoryCacheDAO.class, new H2ServiceInventoryCacheDAO(h2Client)); - this.registerServiceImplementation(IServiceInstanceInventoryCacheDAO.class, new H2ServiceInstanceInventoryCacheDAO(h2Client)); - this.registerServiceImplementation(IEndpointInventoryCacheDAO.class, new H2EndpointInventoryCacheDAO(h2Client)); - this.registerServiceImplementation(INetworkAddressInventoryCacheDAO.class, new H2NetworkAddressInventoryCacheDAO(h2Client)); + this.registerServiceImplementation( + IServiceInstanceInventoryCacheDAO.class, new H2ServiceInstanceInventoryCacheDAO(h2Client)); + this.registerServiceImplementation( + INetworkAddressInventoryCacheDAO.class, new H2NetworkAddressInventoryCacheDAO(h2Client)); this.registerServiceImplementation(ITopologyQueryDAO.class, new H2TopologyQueryDAO(h2Client)); this.registerServiceImplementation(IMetricsQueryDAO.class, new H2MetricsQueryDAO(h2Client)); this.registerServiceImplementation(ITraceQueryDAO.class, new H2TraceQueryDAO(h2Client)); - this.registerServiceImplementation(IMetadataQueryDAO.class, new H2MetadataQueryDAO(h2Client, config.getMetadataQueryMaxSize())); + this.registerServiceImplementation( + IMetadataQueryDAO.class, new H2MetadataQueryDAO(h2Client, config.getMetadataQueryMaxSize())); this.registerServiceImplementation(IAggregationQueryDAO.class, new H2AggregationQueryDAO(h2Client)); this.registerServiceImplementation(IAlarmQueryDAO.class, new H2AlarmQueryDAO(h2Client)); - this.registerServiceImplementation(IHistoryDeleteDAO.class, new H2HistoryDeleteDAO(getManager(), h2Client, new GeneralStorageTTL())); + this.registerServiceImplementation( + IHistoryDeleteDAO.class, new H2HistoryDeleteDAO(getManager(), h2Client, new GeneralStorageTTL())); this.registerServiceImplementation(ITopNRecordsQueryDAO.class, new H2TopNRecordsQueryDAO(h2Client)); this.registerServiceImplementation(ILogQueryDAO.class, new H2LogQueryDAO(h2Client)); this.registerServiceImplementation(IProfileTaskQueryDAO.class, new H2ProfileTaskQueryDAO(h2Client)); this.registerServiceImplementation(IProfileTaskLogQueryDAO.class, new H2ProfileTaskLogQueryDAO(h2Client)); - this.registerServiceImplementation(IProfileThreadSnapshotQueryDAO.class, new H2ProfileThreadSnapshotQueryDAO(h2Client)); + this.registerServiceImplementation( + IProfileThreadSnapshotQueryDAO.class, new H2ProfileThreadSnapshotQueryDAO(h2Client)); } @Override diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/mysql/MySQLStorageProvider.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/mysql/MySQLStorageProvider.java index 09d302e..5fc2072 100644 --- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/mysql/MySQLStorageProvider.java +++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/mysql/MySQLStorageProvider.java @@ -25,7 +25,6 @@ import org.apache.skywalking.oap.server.core.storage.IRegisterLockDAO; import org.apache.skywalking.oap.server.core.storage.StorageDAO; import org.apache.skywalking.oap.server.core.storage.StorageException; import org.apache.skywalking.oap.server.core.storage.StorageModule; -import org.apache.skywalking.oap.server.core.storage.cache.IEndpointInventoryCacheDAO; import org.apache.skywalking.oap.server.core.storage.cache.INetworkAddressInventoryCacheDAO; import org.apache.skywalking.oap.server.core.storage.cache.IServiceInstanceInventoryCacheDAO; import org.apache.skywalking.oap.server.core.storage.cache.IServiceInventoryCacheDAO; @@ -48,7 +47,6 @@ import org.apache.skywalking.oap.server.library.module.ModuleProvider; import org.apache.skywalking.oap.server.library.module.ModuleStartException; import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException; import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2BatchDAO; -import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2EndpointInventoryCacheDAO; import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2HistoryDeleteDAO; import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2MetadataQueryDAO; import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2MetricsQueryDAO; @@ -110,24 +108,29 @@ public class MySQLStorageProvider extends ModuleProvider { lockDAO = new H2RegisterLockDAO(mysqlClient); this.registerServiceImplementation(IRegisterLockDAO.class, lockDAO); - this.registerServiceImplementation(IServiceInventoryCacheDAO.class, new H2ServiceInventoryCacheDAO(mysqlClient)); - this.registerServiceImplementation(IServiceInstanceInventoryCacheDAO.class, new H2ServiceInstanceInventoryCacheDAO(mysqlClient)); - this.registerServiceImplementation(IEndpointInventoryCacheDAO.class, new H2EndpointInventoryCacheDAO(mysqlClient)); - this.registerServiceImplementation(INetworkAddressInventoryCacheDAO.class, new H2NetworkAddressInventoryCacheDAO(mysqlClient)); + this.registerServiceImplementation( + IServiceInventoryCacheDAO.class, new H2ServiceInventoryCacheDAO(mysqlClient)); + this.registerServiceImplementation( + IServiceInstanceInventoryCacheDAO.class, new H2ServiceInstanceInventoryCacheDAO(mysqlClient)); + this.registerServiceImplementation( + INetworkAddressInventoryCacheDAO.class, new H2NetworkAddressInventoryCacheDAO(mysqlClient)); this.registerServiceImplementation(ITopologyQueryDAO.class, new H2TopologyQueryDAO(mysqlClient)); this.registerServiceImplementation(IMetricsQueryDAO.class, new H2MetricsQueryDAO(mysqlClient)); this.registerServiceImplementation(ITraceQueryDAO.class, new MySQLTraceQueryDAO(mysqlClient)); - this.registerServiceImplementation(IMetadataQueryDAO.class, new H2MetadataQueryDAO(mysqlClient, config.getMetadataQueryMaxSize())); + this.registerServiceImplementation( + IMetadataQueryDAO.class, new H2MetadataQueryDAO(mysqlClient, config.getMetadataQueryMaxSize())); this.registerServiceImplementation(IAggregationQueryDAO.class, new MySQLAggregationQueryDAO(mysqlClient)); this.registerServiceImplementation(IAlarmQueryDAO.class, new MySQLAlarmQueryDAO(mysqlClient)); - this.registerServiceImplementation(IHistoryDeleteDAO.class, new H2HistoryDeleteDAO(getManager(), mysqlClient, new GeneralStorageTTL())); + this.registerServiceImplementation( + IHistoryDeleteDAO.class, new H2HistoryDeleteDAO(getManager(), mysqlClient, new GeneralStorageTTL())); this.registerServiceImplementation(ITopNRecordsQueryDAO.class, new H2TopNRecordsQueryDAO(mysqlClient)); this.registerServiceImplementation(ILogQueryDAO.class, new MySQLLogQueryDAO(mysqlClient)); this.registerServiceImplementation(IProfileTaskQueryDAO.class, new H2ProfileTaskQueryDAO(mysqlClient)); this.registerServiceImplementation(IProfileTaskLogQueryDAO.class, new H2ProfileTaskLogQueryDAO(mysqlClient)); - this.registerServiceImplementation(IProfileThreadSnapshotQueryDAO.class, new H2ProfileThreadSnapshotQueryDAO(mysqlClient)); + this.registerServiceImplementation( + IProfileThreadSnapshotQueryDAO.class, new H2ProfileThreadSnapshotQueryDAO(mysqlClient)); } @Override diff --git a/oap-server/server-storage-plugin/storage-zipkin-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/zipkin/ZipkinSpan.java b/oap-server/server-storage-plugin/storage-zipkin-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/zipkin/ZipkinSpan.java index ca65787..539c7a2 100644 --- a/oap-server/server-storage-plugin/storage-zipkin-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/zipkin/ZipkinSpan.java +++ b/oap-server/server-storage-plugin/storage-zipkin-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/zipkin/ZipkinSpan.java @@ -56,7 +56,7 @@ public class ZipkinSpan extends Source { private String endpointName; @Setter @Getter - private int endpointId; + private String endpointId; @Setter @Getter private long startTime; diff --git a/oap-server/server-storage-plugin/storage-zipkin-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/zipkin/ZipkinSpanRecord.java b/oap-server/server-storage-plugin/storage-zipkin-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/zipkin/ZipkinSpanRecord.java index 8b06722..37b8921 100644 --- a/oap-server/server-storage-plugin/storage-zipkin-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/zipkin/ZipkinSpanRecord.java +++ b/oap-server/server-storage-plugin/storage-zipkin-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/zipkin/ZipkinSpanRecord.java @@ -79,7 +79,7 @@ public class ZipkinSpanRecord extends Record { @Getter @Column(columnName = ENDPOINT_ID) @IDColumn - private int endpointId; + private String endpointId; @Setter @Getter @Column(columnName = START_TIME) @@ -149,7 +149,7 @@ public class ZipkinSpanRecord extends Record { record.setServiceId(((Number) dbMap.get(SERVICE_ID)).intValue()); record.setServiceInstanceId(((Number) dbMap.get(SERVICE_INSTANCE_ID)).intValue()); record.setEndpointName((String) dbMap.get(ENDPOINT_NAME)); - record.setEndpointId(((Number) dbMap.get(ENDPOINT_ID)).intValue()); + record.setEndpointId((String) dbMap.get(ENDPOINT_ID)); record.setStartTime(((Number) dbMap.get(START_TIME)).longValue()); record.setEndTime(((Number) dbMap.get(END_TIME)).longValue()); record.setLatency(((Number) dbMap.get(LATENCY)).intValue()); diff --git a/oap-server/server-tools/profile-exporter/tool-profile-snapshot-bootstrap/src/test/java/org/apache/skywalking/oap/server/tool/profile/exporter/test/ProfileTraceDAO.java b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-bootstrap/src/test/java/org/apache/skywalking/oap/server/tool/profile/exporter/test/ProfileTraceDAO.java index 4d26691..3711282 100644 --- a/oap-server/server-tools/profile-exporter/tool-profile-snapshot-bootstrap/src/test/java/org/apache/skywalking/oap/server/tool/profile/exporter/test/ProfileTraceDAO.java +++ b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-bootstrap/src/test/java/org/apache/skywalking/oap/server/tool/profile/exporter/test/ProfileTraceDAO.java @@ -39,7 +39,7 @@ public class ProfileTraceDAO implements ITraceQueryDAO { } @Override - public TraceBrief queryBasicTraces(long startSecondTB, long endSecondTB, long minDuration, long maxDuration, String endpointName, int serviceId, int serviceInstanceId, int endpointId, String traceId, int limit, int from, TraceState traceState, QueryOrder queryOrder) throws IOException { + public TraceBrief queryBasicTraces(long startSecondTB, long endSecondTB, long minDuration, long maxDuration, String endpointName, int serviceId, int serviceInstanceId, String endpointId, String traceId, int limit, int from, TraceState traceState, QueryOrder queryOrder) throws IOException { return null; } diff --git a/oap-server/server-tools/profile-exporter/tool-profile-snapshot-server-mock/src/main/java/org/apache/skywalking/oap/server/tool/profile/core/MockCoreModuleProvider.java b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-server-mock/src/main/java/org/apache/skywalking/oap/server/tool/profile/core/MockCoreModuleProvider.java index c55af8c..54dda09 100755 --- a/oap-server/server-tools/profile-exporter/tool-profile-snapshot-server-mock/src/main/java/org/apache/skywalking/oap/server/tool/profile/core/MockCoreModuleProvider.java +++ b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-server-mock/src/main/java/org/apache/skywalking/oap/server/tool/profile/core/MockCoreModuleProvider.java @@ -18,11 +18,12 @@ package org.apache.skywalking.oap.server.tool.profile.core; +import java.io.IOException; +import java.util.Collections; import org.apache.skywalking.oap.server.core.CoreModule; import org.apache.skywalking.oap.server.core.CoreModuleConfig; import org.apache.skywalking.oap.server.core.CoreModuleProvider; import org.apache.skywalking.oap.server.core.annotation.AnnotationScan; -import org.apache.skywalking.oap.server.core.cache.EndpointInventoryCache; import org.apache.skywalking.oap.server.core.cache.NetworkAddressInventoryCache; import org.apache.skywalking.oap.server.core.cache.ProfileTaskCache; import org.apache.skywalking.oap.server.core.cache.ServiceInstanceInventoryCache; @@ -41,8 +42,6 @@ import org.apache.skywalking.oap.server.core.query.ProfileTaskQueryService; import org.apache.skywalking.oap.server.core.query.TopNRecordsQueryService; import org.apache.skywalking.oap.server.core.query.TopologyQueryService; import org.apache.skywalking.oap.server.core.query.TraceQueryService; -import org.apache.skywalking.oap.server.core.register.service.EndpointTrafficGeneratorGenerator; -import org.apache.skywalking.oap.server.core.register.service.IEndpointTrafficGenerator; import org.apache.skywalking.oap.server.core.register.service.INetworkAddressInventoryRegister; import org.apache.skywalking.oap.server.core.register.service.IServiceInstanceInventoryRegister; import org.apache.skywalking.oap.server.core.register.service.IServiceInventoryRegister; @@ -74,9 +73,6 @@ import org.apache.skywalking.oap.server.tool.profile.core.mock.MockSourceReceive import org.apache.skywalking.oap.server.tool.profile.core.mock.MockStreamAnnotationListener; import org.apache.skywalking.oap.server.tool.profile.core.mock.MockWorkerInstancesService; -import java.io.IOException; -import java.util.Collections; - public class MockCoreModuleProvider extends CoreModuleProvider { private final StorageModels storageModels; @@ -117,12 +113,14 @@ public class MockCoreModuleProvider extends CoreModuleProvider { CoreModuleConfig moduleConfig = new CoreModuleConfig(); this.registerServiceImplementation(ConfigService.class, new ConfigService(moduleConfig)); - this.registerServiceImplementation(DownsamplingConfigService.class, new DownsamplingConfigService(Collections.emptyList())); + this.registerServiceImplementation( + DownsamplingConfigService.class, new DownsamplingConfigService(Collections.emptyList())); this.registerServiceImplementation(GRPCHandlerRegister.class, new MockGRPCHandlerRegister()); this.registerServiceImplementation(JettyHandlerRegister.class, new MockJettyHandlerRegister()); - this.registerServiceImplementation(IComponentLibraryCatalogService.class, new MockComponentLibraryCatalogService()); + this.registerServiceImplementation( + IComponentLibraryCatalogService.class, new MockComponentLibraryCatalogService()); this.registerServiceImplementation(SourceReceiver.class, new MockSourceReceiver()); @@ -135,17 +133,19 @@ public class MockCoreModuleProvider extends CoreModuleProvider { this.registerServiceImplementation(IModelGetter.class, storageModels); this.registerServiceImplementation(IModelOverride.class, storageModels); - this.registerServiceImplementation(ServiceInventoryCache.class, new ServiceInventoryCache(getManager(), moduleConfig)); + this.registerServiceImplementation( + ServiceInventoryCache.class, new ServiceInventoryCache(getManager(), moduleConfig)); this.registerServiceImplementation(IServiceInventoryRegister.class, new ServiceInventoryRegister(getManager())); - this.registerServiceImplementation(ServiceInstanceInventoryCache.class, new ServiceInstanceInventoryCache(getManager(), moduleConfig)); - this.registerServiceImplementation(IServiceInstanceInventoryRegister.class, new ServiceInstanceInventoryRegister(getManager())); - - this.registerServiceImplementation(EndpointInventoryCache.class, new EndpointInventoryCache(getManager(), moduleConfig)); - this.registerServiceImplementation(IEndpointTrafficGenerator.class, new EndpointTrafficGeneratorGenerator(getManager())); + this.registerServiceImplementation( + ServiceInstanceInventoryCache.class, new ServiceInstanceInventoryCache(getManager(), moduleConfig)); + this.registerServiceImplementation( + IServiceInstanceInventoryRegister.class, new ServiceInstanceInventoryRegister(getManager())); - this.registerServiceImplementation(NetworkAddressInventoryCache.class, new NetworkAddressInventoryCache(getManager(), moduleConfig)); - this.registerServiceImplementation(INetworkAddressInventoryRegister.class, new NetworkAddressInventoryRegister(getManager())); + this.registerServiceImplementation( + NetworkAddressInventoryCache.class, new NetworkAddressInventoryCache(getManager(), moduleConfig)); + this.registerServiceImplementation( + INetworkAddressInventoryRegister.class, new NetworkAddressInventoryRegister(getManager())); this.registerServiceImplementation(TopologyQueryService.class, new TopologyQueryService(getManager())); this.registerServiceImplementation(MetricQueryService.class, new MetricQueryService(getManager())); @@ -184,7 +184,7 @@ public class MockCoreModuleProvider extends CoreModuleProvider { @Override public String[] requiredModules() { return new String[] { - TelemetryModule.NAME + TelemetryModule.NAME }; } }