nikitap492 closed pull request #1069: Replaced ObjectUtils for java.utils.Objects methods URL: https://github.com/apache/incubator-skywalking/pull/1069
This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/CpuMetricService.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/CpuMetricService.java index 49b68e926..ad7f1e23d 100644 --- a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/CpuMetricService.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/CpuMetricService.java @@ -23,11 +23,12 @@ import org.apache.skywalking.apm.collector.core.graph.Graph; import org.apache.skywalking.apm.collector.core.graph.GraphManager; import org.apache.skywalking.apm.collector.core.util.Const; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.table.jvm.CpuMetric; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Objects; + /** * @author peng-yongsheng */ @@ -38,7 +39,7 @@ private Graph<CpuMetric> cpuMetricGraph; private Graph<CpuMetric> getCpuMetricGraph() { - if (ObjectUtils.isEmpty(cpuMetricGraph)) { + if (Objects.isNull(cpuMetricGraph)) { cpuMetricGraph = GraphManager.INSTANCE.findGraph(GraphIdDefine.CPU_METRIC_PERSISTENCE_GRAPH_ID, CpuMetric.class); } return cpuMetricGraph; diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/GCMetricService.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/GCMetricService.java index 0729bca9b..79266e4a1 100644 --- a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/GCMetricService.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/GCMetricService.java @@ -23,11 +23,12 @@ import org.apache.skywalking.apm.collector.core.graph.Graph; import org.apache.skywalking.apm.collector.core.graph.GraphManager; import org.apache.skywalking.apm.collector.core.util.Const; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.table.jvm.GCMetric; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Objects; + /** * @author peng-yongsheng */ @@ -38,7 +39,7 @@ private Graph<GCMetric> gcMetricGraph; private Graph<GCMetric> getGcMetricGraph() { - if (ObjectUtils.isEmpty(gcMetricGraph)) { + if (Objects.isNull(gcMetricGraph)) { gcMetricGraph = GraphManager.INSTANCE.findGraph(GraphIdDefine.GC_METRIC_PERSISTENCE_GRAPH_ID, GCMetric.class); } return gcMetricGraph; diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/MemoryMetricService.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/MemoryMetricService.java index f1fedb22e..1d568931d 100644 --- a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/MemoryMetricService.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/MemoryMetricService.java @@ -24,11 +24,12 @@ import org.apache.skywalking.apm.collector.core.graph.GraphManager; import org.apache.skywalking.apm.collector.core.util.BooleanUtils; import org.apache.skywalking.apm.collector.core.util.Const; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.table.jvm.MemoryMetric; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Objects; + /** * @author peng-yongsheng */ @@ -39,7 +40,7 @@ private Graph<MemoryMetric> memoryMetricGraph; private Graph<MemoryMetric> getMemoryMetricGraph() { - if (ObjectUtils.isEmpty(memoryMetricGraph)) { + if (Objects.isNull(memoryMetricGraph)) { this.memoryMetricGraph = GraphManager.INSTANCE.findGraph(GraphIdDefine.MEMORY_METRIC_PERSISTENCE_GRAPH_ID, MemoryMetric.class); } return memoryMetricGraph; diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/MemoryPoolMetricService.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/MemoryPoolMetricService.java index e99a02759..00a94fb03 100644 --- a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/MemoryPoolMetricService.java +++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/service/MemoryPoolMetricService.java @@ -23,11 +23,12 @@ import org.apache.skywalking.apm.collector.core.graph.Graph; import org.apache.skywalking.apm.collector.core.graph.GraphManager; import org.apache.skywalking.apm.collector.core.util.Const; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.table.jvm.MemoryPoolMetric; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Objects; + /** * @author peng-yongsheng */ @@ -38,7 +39,7 @@ private Graph<MemoryPoolMetric> memoryPoolMetricGraph; private Graph<MemoryPoolMetric> getMemoryPoolMetricGraph() { - if (ObjectUtils.isEmpty(memoryPoolMetricGraph)) { + if (Objects.isNull(memoryPoolMetricGraph)) { this.memoryPoolMetricGraph = GraphManager.INSTANCE.findGraph(GraphIdDefine.MEMORY_POOL_METRIC_PERSISTENCE_GRAPH_ID, MemoryPoolMetric.class); } return memoryPoolMetricGraph; diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/service/InstanceHeartBeatService.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/service/InstanceHeartBeatService.java index 9235de56e..3e87f3a7c 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/service/InstanceHeartBeatService.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/service/InstanceHeartBeatService.java @@ -22,12 +22,13 @@ import org.apache.skywalking.apm.collector.analysis.metric.define.service.IInstanceHeartBeatService; import org.apache.skywalking.apm.collector.core.graph.Graph; import org.apache.skywalking.apm.collector.core.graph.GraphManager; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.core.util.TimeBucketUtils; import org.apache.skywalking.apm.collector.storage.table.register.Instance; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Objects; + /** * @author peng-yongsheng */ @@ -38,7 +39,7 @@ private Graph<Instance> heartBeatGraph; private Graph<Instance> getHeartBeatGraph() { - if (ObjectUtils.isEmpty(heartBeatGraph)) { + if (Objects.isNull(heartBeatGraph)) { this.heartBeatGraph = GraphManager.INSTANCE.findGraph(MetricGraphIdDefine.INSTANCE_HEART_BEAT_PERSISTENCE_GRAPH_ID, Instance.class); } return heartBeatGraph; diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMetricSpanListener.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMetricSpanListener.java index e274ef5e3..f86195c7c 100644 --- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMetricSpanListener.java +++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/worker/service/refmetric/ServiceReferenceMetricSpanListener.java @@ -18,16 +18,10 @@ package org.apache.skywalking.apm.collector.analysis.metric.provider.worker.service.refmetric; -import java.util.LinkedList; -import java.util.List; import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricGraphIdDefine; import org.apache.skywalking.apm.collector.analysis.segment.parser.define.decorator.ReferenceDecorator; import org.apache.skywalking.apm.collector.analysis.segment.parser.define.decorator.SpanDecorator; -import org.apache.skywalking.apm.collector.analysis.segment.parser.define.listener.EntrySpanListener; -import org.apache.skywalking.apm.collector.analysis.segment.parser.define.listener.ExitSpanListener; -import org.apache.skywalking.apm.collector.analysis.segment.parser.define.listener.FirstSpanListener; -import org.apache.skywalking.apm.collector.analysis.segment.parser.define.listener.SpanListener; -import org.apache.skywalking.apm.collector.analysis.segment.parser.define.listener.SpanListenerFactory; +import org.apache.skywalking.apm.collector.analysis.segment.parser.define.listener.*; import org.apache.skywalking.apm.collector.cache.CacheModule; import org.apache.skywalking.apm.collector.cache.service.ApplicationCacheService; import org.apache.skywalking.apm.collector.cache.service.InstanceCacheService; @@ -36,7 +30,6 @@ import org.apache.skywalking.apm.collector.core.graph.GraphManager; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.core.util.Const; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.core.util.TimeBucketUtils; import org.apache.skywalking.apm.collector.storage.table.MetricSource; import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenceMetric; @@ -44,6 +37,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.LinkedList; +import java.util.List; +import java.util.Objects; + /** * @author peng-yongsheng */ @@ -181,7 +178,7 @@ private void calculateDuration(ServiceReferenceMetric serviceReferenceMetric, Sp }); exitReferenceMetric.forEach(serviceReferenceMetric -> { - if (ObjectUtils.isNotEmpty(entrySpanDecorator)) { + if (Objects.nonNull(entrySpanDecorator)) { serviceReferenceMetric.setFrontServiceId(entrySpanDecorator.getOperationNameId()); } else { serviceReferenceMetric.setFrontServiceId(Const.NONE_SERVICE_ID); diff --git a/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/ApplicationIDService.java b/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/ApplicationIDService.java index 72971d075..0e8e71d72 100644 --- a/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/ApplicationIDService.java +++ b/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/ApplicationIDService.java @@ -28,9 +28,10 @@ import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.core.util.BooleanUtils; import org.apache.skywalking.apm.collector.core.util.Const; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.table.register.Application; +import java.util.Objects; + /** * @author peng-yongsheng */ @@ -46,21 +47,21 @@ public ApplicationIDService(ModuleManager moduleManager) { } private Graph<Application> getApplicationRegisterGraph() { - if (ObjectUtils.isEmpty(applicationRegisterGraph)) { + if (Objects.isNull(applicationRegisterGraph)) { this.applicationRegisterGraph = GraphManager.INSTANCE.findGraph(GraphIdDefine.APPLICATION_REGISTER_GRAPH_ID, Application.class); } return this.applicationRegisterGraph; } private ApplicationCacheService getApplicationCacheService() { - if (ObjectUtils.isEmpty(applicationCacheService)) { + if (Objects.isNull(applicationCacheService)) { this.applicationCacheService = moduleManager.find(CacheModule.NAME).getService(ApplicationCacheService.class); } return applicationCacheService; } private NetworkAddressCacheService getNetworkAddressCacheService() { - if (ObjectUtils.isEmpty(networkAddressCacheService)) { + if (Objects.isNull(networkAddressCacheService)) { this.networkAddressCacheService = moduleManager.find(CacheModule.NAME).getService(NetworkAddressCacheService.class); } return networkAddressCacheService; diff --git a/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/InstanceIDService.java b/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/InstanceIDService.java index 04f21042c..293bad2ce 100644 --- a/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/InstanceIDService.java +++ b/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/InstanceIDService.java @@ -28,11 +28,12 @@ import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.core.util.BooleanUtils; import org.apache.skywalking.apm.collector.core.util.Const; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.table.register.Instance; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static java.util.Objects.isNull; + /** * @author peng-yongsheng */ @@ -50,21 +51,21 @@ public InstanceIDService(ModuleManager moduleManager) { } private InstanceCacheService getInstanceCacheService() { - if (ObjectUtils.isEmpty(instanceCacheService)) { + if (isNull(instanceCacheService)) { instanceCacheService = moduleManager.find(CacheModule.NAME).getService(InstanceCacheService.class); } return instanceCacheService; } private Graph<Instance> getInstanceRegisterGraph() { - if (ObjectUtils.isEmpty(instanceRegisterGraph)) { + if (isNull(instanceRegisterGraph)) { this.instanceRegisterGraph = GraphManager.INSTANCE.createIfAbsent(GraphIdDefine.INSTANCE_REGISTER_GRAPH_ID, Instance.class); } return instanceRegisterGraph; } private ApplicationCacheService getApplicationCacheService() { - if (ObjectUtils.isEmpty(applicationCacheService)) { + if (isNull(applicationCacheService)) { this.applicationCacheService = moduleManager.find(CacheModule.NAME).getService(ApplicationCacheService.class); } return applicationCacheService; diff --git a/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/NetworkAddressIDService.java b/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/NetworkAddressIDService.java index f429a4887..ee4760587 100644 --- a/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/NetworkAddressIDService.java +++ b/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/NetworkAddressIDService.java @@ -29,9 +29,10 @@ import org.apache.skywalking.apm.collector.core.graph.GraphManager; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.core.util.Const; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.table.register.NetworkAddress; +import static java.util.Objects.isNull; + /** * @author peng-yongsheng */ @@ -48,28 +49,28 @@ public NetworkAddressIDService(ModuleManager moduleManager) { } private NetworkAddressCacheService getNetworkAddressCacheService() { - if (ObjectUtils.isEmpty(networkAddressCacheService)) { + if (isNull(networkAddressCacheService)) { this.networkAddressCacheService = moduleManager.find(CacheModule.NAME).getService(NetworkAddressCacheService.class); } return this.networkAddressCacheService; } private IApplicationIDService getApplicationIDService() { - if (ObjectUtils.isEmpty(applicationIDService)) { + if (isNull(applicationIDService)) { this.applicationIDService = moduleManager.find(AnalysisRegisterModule.NAME).getService(IApplicationIDService.class); } return this.applicationIDService; } private IInstanceIDService getInstanceIDService() { - if (ObjectUtils.isEmpty(instanceIDService)) { + if (isNull(instanceIDService)) { this.instanceIDService = moduleManager.find(AnalysisRegisterModule.NAME).getService(IInstanceIDService.class); } return this.instanceIDService; } private Graph<NetworkAddress> getNetworkAddressGraph() { - if (ObjectUtils.isEmpty(networkAddressGraph)) { + if (isNull(networkAddressGraph)) { this.networkAddressGraph = GraphManager.INSTANCE.findGraph(GraphIdDefine.NETWORK_ADDRESS_NAME_REGISTER_GRAPH_ID, NetworkAddress.class); } return this.networkAddressGraph; @@ -121,10 +122,7 @@ private IInstanceIDService getInstanceIDService() { private boolean compare(int addressId, int spanLayer, int serverType) { NetworkAddress networkAddress = networkAddressCacheService.getAddress(addressId); - if (ObjectUtils.isNotEmpty(networkAddress)) { - return spanLayer == networkAddress.getSpanLayer() && serverType == networkAddress.getServerType(); - } + return isNull(networkAddress) || (spanLayer == networkAddress.getSpanLayer() && serverType == networkAddress.getServerType()); - return true; } } diff --git a/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/ServiceNameService.java b/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/ServiceNameService.java index ac751bfc4..67cbdc859 100644 --- a/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/ServiceNameService.java +++ b/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/service/ServiceNameService.java @@ -25,11 +25,12 @@ import org.apache.skywalking.apm.collector.core.graph.Graph; import org.apache.skywalking.apm.collector.core.graph.GraphManager; import org.apache.skywalking.apm.collector.core.module.ModuleManager; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.table.register.ServiceName; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static java.util.Objects.isNull; + /** * @author peng-yongsheng */ @@ -46,14 +47,14 @@ public ServiceNameService(ModuleManager moduleManager) { } private ServiceIdCacheService getServiceIdCacheService() { - if (ObjectUtils.isEmpty(serviceIdCacheService)) { + if (isNull(serviceIdCacheService)) { serviceIdCacheService = moduleManager.find(CacheModule.NAME).getService(ServiceIdCacheService.class); } return serviceIdCacheService; } private Graph<ServiceName> getServiceNameRegisterGraph() { - if (ObjectUtils.isEmpty(serviceNameRegisterGraph)) { + if (isNull(serviceNameRegisterGraph)) { this.serviceNameRegisterGraph = GraphManager.INSTANCE.createIfAbsent(GraphIdDefine.SERVICE_NAME_REGISTER_GRAPH_ID, ServiceName.class); } return serviceNameRegisterGraph; diff --git a/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-define/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/define/decorator/SegmentDecorator.java b/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-define/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/define/decorator/SegmentDecorator.java index 531aef8f1..590d000cf 100644 --- a/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-define/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/define/decorator/SegmentDecorator.java +++ b/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-define/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/define/decorator/SegmentDecorator.java @@ -18,10 +18,11 @@ package org.apache.skywalking.apm.collector.analysis.segment.parser.define.decorator; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.network.proto.TraceSegmentObject; import org.apache.skywalking.apm.network.proto.UniqueId; +import java.util.Objects; + /** * @author peng-yongsheng */ @@ -53,7 +54,7 @@ public int getSpansCount() { } public SpanDecorator getSpans(int index) { - if (ObjectUtils.isEmpty(spanDecorators[index])) { + if (Objects.isNull(spanDecorators[index])) { if (isOrigin) { spanDecorators[index] = new SpanDecorator(segmentObject.getSpans(index), this); } else { diff --git a/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-define/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/define/decorator/SpanDecorator.java b/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-define/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/define/decorator/SpanDecorator.java index a504add10..6308ec6f7 100644 --- a/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-define/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/define/decorator/SpanDecorator.java +++ b/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-define/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/define/decorator/SpanDecorator.java @@ -18,11 +18,12 @@ package org.apache.skywalking.apm.collector.analysis.segment.parser.define.decorator; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.network.proto.SpanLayer; import org.apache.skywalking.apm.network.proto.SpanObject; import org.apache.skywalking.apm.network.proto.SpanType; +import static java.util.Objects.isNull; + /** * @author peng-yongsheng */ @@ -212,7 +213,7 @@ public int getRefsCount() { } public ReferenceDecorator getRefs(int index) { - if (ObjectUtils.isEmpty(referenceDecorators[index])) { + if (isNull(referenceDecorators[index])) { if (isOrigin) { referenceDecorators[index] = new ReferenceDecorator(spanObject.getRefs(index), this); } else { diff --git a/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/model/impl/PersistenceWorker.java b/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/model/impl/PersistenceWorker.java index ecb757a0c..bd2271ad4 100644 --- a/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/model/impl/PersistenceWorker.java +++ b/apm-collector/apm-collector-analysis/analysis-worker-model/src/main/java/org/apache/skywalking/apm/collector/analysis/worker/model/impl/PersistenceWorker.java @@ -18,21 +18,22 @@ package org.apache.skywalking.apm.collector.analysis.worker.model.impl; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorker; import org.apache.skywalking.apm.collector.analysis.worker.model.impl.data.DataCache; import org.apache.skywalking.apm.collector.core.annotations.trace.GraphComputingMetric; import org.apache.skywalking.apm.collector.core.data.StreamData; import org.apache.skywalking.apm.collector.core.module.ModuleManager; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.base.dao.IBatchDAO; import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + /** * @author peng-yongsheng */ @@ -102,7 +103,7 @@ public void flushAndSwitch() { dataMap.forEach((id, data) -> { if (needMergeDBData()) { INPUT_AND_OUTPUT dbData = persistenceDAO().get(id); - if (ObjectUtils.isNotEmpty(dbData)) { + if (Objects.nonNull(dbData)) { dbData.mergeAndFormulaCalculateData(data); try { updateBatchCollection.add(persistenceDAO().prepareBatchUpdate(dbData)); diff --git a/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/ApplicationCacheCaffeineService.java b/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/ApplicationCacheCaffeineService.java index b41b00284..07d49cdb1 100644 --- a/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/ApplicationCacheCaffeineService.java +++ b/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/ApplicationCacheCaffeineService.java @@ -20,16 +20,17 @@ import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Caffeine; -import java.util.concurrent.TimeUnit; import org.apache.skywalking.apm.collector.cache.service.ApplicationCacheService; import org.apache.skywalking.apm.collector.core.module.ModuleManager; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.dao.cache.IApplicationCacheDAO; import org.apache.skywalking.apm.collector.storage.table.register.Application; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Objects; +import java.util.concurrent.TimeUnit; + /** * @author peng-yongsheng */ @@ -47,7 +48,7 @@ public ApplicationCacheCaffeineService(ModuleManager moduleManager) { } private IApplicationCacheDAO getApplicationCacheDAO() { - if (ObjectUtils.isEmpty(applicationCacheDAO)) { + if (Objects.nonNull(applicationCacheDAO)) { this.applicationCacheDAO = moduleManager.find(StorageModule.NAME).getService(IApplicationCacheDAO.class); } return this.applicationCacheDAO; @@ -81,9 +82,9 @@ private IApplicationCacheDAO getApplicationCacheDAO() { logger.error(e.getMessage(), e); } - if (ObjectUtils.isEmpty(application)) { + if (Objects.isNull(application)) { application = getApplicationCacheDAO().getApplication(applicationId); - if (ObjectUtils.isNotEmpty(application)) { + if (Objects.nonNull(application)) { applicationCache.put(applicationId, application); } } diff --git a/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/InstanceCacheCaffeineService.java b/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/InstanceCacheCaffeineService.java index fdf081dc1..5a3822640 100644 --- a/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/InstanceCacheCaffeineService.java +++ b/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/InstanceCacheCaffeineService.java @@ -20,16 +20,22 @@ import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Caffeine; -import java.util.concurrent.TimeUnit; import org.apache.skywalking.apm.collector.cache.service.InstanceCacheService; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.core.util.Const; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.dao.cache.IInstanceCacheDAO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Objects; +import java.util.concurrent.TimeUnit; +import java.util.function.Supplier; + +import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; +import static java.util.Optional.ofNullable; + /** * @author peng-yongsheng */ @@ -51,67 +57,49 @@ public InstanceCacheCaffeineService(ModuleManager moduleManager) { } private IInstanceCacheDAO getInstanceCacheDAO() { - if (ObjectUtils.isEmpty(instanceCacheDAO)) { + if (Objects.isNull(instanceCacheDAO)) { this.instanceCacheDAO = moduleManager.find(StorageModule.NAME).getService(IInstanceCacheDAO.class); } return this.instanceCacheDAO; } @Override public int getApplicationId(int instanceId) { - int applicationId = 0; - try { - Integer value = applicationIdCache.get(instanceId, key -> getInstanceCacheDAO().getApplicationId(key)); - applicationId = value == null ? 0 : value; - } catch (Throwable e) { - logger.error(e.getMessage(), e); - } - - if (applicationId == 0) { - applicationId = getInstanceCacheDAO().getApplicationId(instanceId); - if (applicationId != 0) { - applicationIdCache.put(instanceId, applicationId); - } - } - return applicationId; + return ofNullable(retrieveFromCache(applicationIdCache, instanceId, + () -> getInstanceCacheDAO().getApplicationId(instanceId))).orElse(0); } @Override public int getInstanceIdByAgentUUID(int applicationId, String agentUUID) { String cacheKey = applicationId + Const.ID_SPLIT + agentUUID; - int instanceId = 0; - try { - Integer value = agentUUIDCache.get(cacheKey, key -> getInstanceCacheDAO().getInstanceIdByAgentUUID(applicationId, agentUUID)); - instanceId = value == null ? 0 : value; - } catch (Throwable e) { - logger.error(e.getMessage(), e); - } - - if (instanceId == 0) { - instanceId = getInstanceCacheDAO().getInstanceIdByAgentUUID(applicationId, agentUUID); - if (applicationId != 0) { - agentUUIDCache.put(cacheKey, instanceId); - } - } - return instanceId; + return ofNullable(retrieveFromCache(agentUUIDCache, cacheKey, + () -> getInstanceCacheDAO().getInstanceIdByAgentUUID(applicationId, agentUUID))).orElse(0); } @Override public int getInstanceIdByAddressId(int applicationId, int addressId) { String cacheKey = applicationId + Const.ID_SPLIT + addressId; - int instanceId = 0; + return ofNullable(retrieveFromCache(addressIdCache, cacheKey, + () -> getInstanceCacheDAO().getInstanceIdByAddressId(applicationId, addressId))).orElse(0); + } + + + + private <K, V> V retrieveFromCache(Cache<K, V> cache, K key, Supplier<V> supplier) { + V value = null; try { - Integer value = addressIdCache.get(cacheKey, key -> getInstanceCacheDAO().getInstanceIdByAddressId(applicationId, addressId)); - instanceId = value == null ? 0 : value; + value = cache.get(key, (any) -> supplier.get()); } catch (Throwable e) { logger.error(e.getMessage(), e); } - if (instanceId == 0) { - instanceId = getInstanceCacheDAO().getInstanceIdByAddressId(applicationId, addressId); - if (applicationId != 0) { - addressIdCache.put(cacheKey, instanceId); + if (isNull(value)) { + value = supplier.get(); + if (nonNull(value)) { + cache.put(key, value); } } - return instanceId; + + return value; } + } diff --git a/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/NetworkAddressCacheCaffeineService.java b/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/NetworkAddressCacheCaffeineService.java index 851acd5ed..9c78c1f91 100644 --- a/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/NetworkAddressCacheCaffeineService.java +++ b/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/NetworkAddressCacheCaffeineService.java @@ -20,17 +20,21 @@ import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Caffeine; -import java.util.concurrent.TimeUnit; import org.apache.skywalking.apm.collector.cache.service.NetworkAddressCacheService; import org.apache.skywalking.apm.collector.core.module.ModuleManager; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; -import org.apache.skywalking.apm.collector.core.util.StringUtils; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.dao.cache.INetworkAddressCacheDAO; import org.apache.skywalking.apm.collector.storage.table.register.NetworkAddress; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Optional; +import java.util.concurrent.TimeUnit; +import java.util.function.Supplier; + +import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; + /** * @author peng-yongsheng */ @@ -39,6 +43,7 @@ private final Logger logger = LoggerFactory.getLogger(NetworkAddressCacheCaffeineService.class); private final Cache<String, Integer> addressCache = Caffeine.newBuilder().expireAfterWrite(10, TimeUnit.SECONDS).initialCapacity(1000).maximumSize(5000).build(); + private final Cache<Integer, NetworkAddress> idCache = Caffeine.newBuilder().expireAfterWrite(10, TimeUnit.SECONDS).initialCapacity(1000).maximumSize(5000).build(); private final ModuleManager moduleManager; private INetworkAddressCacheDAO networkAddressCacheDAO; @@ -48,47 +53,37 @@ public NetworkAddressCacheCaffeineService(ModuleManager moduleManager) { } private INetworkAddressCacheDAO getNetworkAddressCacheDAO() { - if (ObjectUtils.isEmpty(networkAddressCacheDAO)) { + if (isNull(networkAddressCacheDAO)) { this.networkAddressCacheDAO = moduleManager.find(StorageModule.NAME).getService(INetworkAddressCacheDAO.class); } return this.networkAddressCacheDAO; } public int getAddressId(String networkAddress) { - int addressId = 0; - try { - Integer value = addressCache.get(networkAddress, key -> getNetworkAddressCacheDAO().getAddressId(key)); - addressId = value == null ? 0 : value; - - if (addressId == 0) { - addressId = getNetworkAddressCacheDAO().getAddressId(networkAddress); - if (addressId != 0) { - addressCache.put(networkAddress, addressId); - } - } - } catch (Throwable e) { - logger.error(e.getMessage(), e); - } + return Optional.ofNullable(retrieveFromCache(addressCache, networkAddress, + () -> getNetworkAddressCacheDAO().getAddressId(networkAddress))).orElse(0); + } - return addressId; + public NetworkAddress getAddress(int addressId) { + return retrieveFromCache(idCache, addressId, () -> getNetworkAddressCacheDAO().getAddressById(addressId)); } - private final Cache<Integer, NetworkAddress> idCache = Caffeine.newBuilder().expireAfterWrite(10, TimeUnit.SECONDS).initialCapacity(1000).maximumSize(5000).build(); - public NetworkAddress getAddress(int addressId) { - NetworkAddress networkAddress = null; + private <K, V> V retrieveFromCache(Cache<K, V> cache, K key, Supplier<V> supplier) { + V value = null; try { - networkAddress = idCache.get(addressId, key -> getNetworkAddressCacheDAO().getAddressById(key)); + value = cache.get(key, (k) -> supplier.get()); } catch (Throwable e) { logger.error(e.getMessage(), e); } - if (ObjectUtils.isEmpty(networkAddress)) { - networkAddress = getNetworkAddressCacheDAO().getAddressById(addressId); - if (StringUtils.isNotEmpty(networkAddress)) { - idCache.put(addressId, networkAddress); + if (isNull(value)) { + value = supplier.get(); + if (nonNull(value)) { + cache.put(key, value); } } - return networkAddress; + + return value; } } diff --git a/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/ServiceIdCacheCaffeineService.java b/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/ServiceIdCacheCaffeineService.java index 48b52eb06..fe2214dc9 100644 --- a/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/ServiceIdCacheCaffeineService.java +++ b/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/ServiceIdCacheCaffeineService.java @@ -20,16 +20,17 @@ import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Caffeine; -import java.util.concurrent.TimeUnit; import org.apache.skywalking.apm.collector.cache.service.ServiceIdCacheService; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.core.util.Const; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.dao.cache.IServiceNameCacheDAO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Objects; +import java.util.concurrent.TimeUnit; + /** * @author peng-yongsheng */ @@ -47,7 +48,7 @@ public ServiceIdCacheCaffeineService(ModuleManager moduleManager) { } private IServiceNameCacheDAO getServiceNameCacheDAO() { - if (ObjectUtils.isEmpty(serviceNameCacheDAO)) { + if (Objects.isNull(serviceNameCacheDAO)) { this.serviceNameCacheDAO = moduleManager.find(StorageModule.NAME).getService(IServiceNameCacheDAO.class); } return this.serviceNameCacheDAO; diff --git a/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/ServiceNameCacheCaffeineService.java b/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/ServiceNameCacheCaffeineService.java index 525907ed4..ff2341f9a 100644 --- a/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/ServiceNameCacheCaffeineService.java +++ b/apm-collector/apm-collector-cache/collector-cache-caffeine-provider/src/main/java/org/apache/skywalking/apm/collector/cache/caffeine/service/ServiceNameCacheCaffeineService.java @@ -20,16 +20,19 @@ import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Caffeine; -import java.util.concurrent.TimeUnit; import org.apache.skywalking.apm.collector.cache.service.ServiceNameCacheService; import org.apache.skywalking.apm.collector.core.module.ModuleManager; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.dao.cache.IServiceNameCacheDAO; import org.apache.skywalking.apm.collector.storage.table.register.ServiceName; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.concurrent.TimeUnit; + +import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; + /** * @author peng-yongsheng */ @@ -47,7 +50,7 @@ public ServiceNameCacheCaffeineService(ModuleManager moduleManager) { } private IServiceNameCacheDAO getServiceNameCacheDAO() { - if (ObjectUtils.isEmpty(serviceNameCacheDAO)) { + if (isNull(serviceNameCacheDAO)) { this.serviceNameCacheDAO = moduleManager.find(StorageModule.NAME).getService(IServiceNameCacheDAO.class); } return this.serviceNameCacheDAO; @@ -61,9 +64,9 @@ public ServiceName get(int serviceId) { logger.error(e.getMessage(), e); } - if (ObjectUtils.isEmpty(serviceName)) { + if (isNull(serviceName)) { serviceName = getServiceNameCacheDAO().get(serviceId); - if (ObjectUtils.isNotEmpty(serviceName)) { + if (nonNull(serviceName)) { serviceCache.put(serviceId, serviceName); } } diff --git a/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/ApplicationCacheGuavaService.java b/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/ApplicationCacheGuavaService.java index 64480c765..5c262a4f3 100644 --- a/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/ApplicationCacheGuavaService.java +++ b/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/ApplicationCacheGuavaService.java @@ -22,13 +22,18 @@ import com.google.common.cache.CacheBuilder; import org.apache.skywalking.apm.collector.cache.service.ApplicationCacheService; import org.apache.skywalking.apm.collector.core.module.ModuleManager; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.dao.cache.IApplicationCacheDAO; import org.apache.skywalking.apm.collector.storage.table.register.Application; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.function.Supplier; + +import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; +import static java.util.Optional.ofNullable; + /** * @author peng-yongsheng */ @@ -37,6 +42,8 @@ private final Logger logger = LoggerFactory.getLogger(ApplicationCacheGuavaService.class); private final Cache<String, Integer> codeCache = CacheBuilder.newBuilder().initialCapacity(100).maximumSize(1000).build(); + private final Cache<Integer, Application> applicationCache = CacheBuilder.newBuilder().maximumSize(1000).build(); + private final Cache<Integer, Integer> addressIdCache = CacheBuilder.newBuilder().maximumSize(1000).build(); private final ModuleManager moduleManager; private IApplicationCacheDAO applicationCacheDAO; @@ -46,64 +53,43 @@ public ApplicationCacheGuavaService(ModuleManager moduleManager) { } private IApplicationCacheDAO getApplicationCacheDAO() { - if (ObjectUtils.isEmpty(applicationCacheDAO)) { + if (isNull(applicationCacheDAO)) { this.applicationCacheDAO = moduleManager.find(StorageModule.NAME).getService(IApplicationCacheDAO.class); } return this.applicationCacheDAO; } @Override public int getApplicationIdByCode(String applicationCode) { - int applicationId = 0; - try { - applicationId = codeCache.get(applicationCode, () -> getApplicationCacheDAO().getApplicationIdByCode(applicationCode)); - } catch (Throwable e) { - logger.error(e.getMessage(), e); - } - - if (applicationId == 0) { - applicationId = getApplicationCacheDAO().getApplicationIdByCode(applicationCode); - if (applicationId != 0) { - codeCache.put(applicationCode, applicationId); - } - } - return applicationId; + return ofNullable(retrieveFromCache(codeCache, applicationCode, + () -> getApplicationCacheDAO().getApplicationIdByCode(applicationCode))).orElse(0); } - private final Cache<Integer, Application> applicationCache = CacheBuilder.newBuilder().maximumSize(1000).build(); @Override public Application getApplicationById(int applicationId) { - Application application = null; - try { - application = applicationCache.get(applicationId, () -> getApplicationCacheDAO().getApplication(applicationId)); - } catch (Throwable e) { - logger.error(e.getMessage(), e); - } - - if (ObjectUtils.isEmpty(application)) { - application = getApplicationCacheDAO().getApplication(applicationId); - if (ObjectUtils.isNotEmpty(application)) { - applicationCache.put(applicationId, application); - } - } - return application; + return retrieveFromCache(applicationCache, applicationId, () -> getApplicationCacheDAO().getApplication(applicationId)); } - private final Cache<Integer, Integer> addressIdCache = CacheBuilder.newBuilder().maximumSize(1000).build(); @Override public int getApplicationIdByAddressId(int addressId) { - int applicationId = 0; + return ofNullable(retrieveFromCache(addressIdCache, addressId, + () -> getApplicationCacheDAO().getApplicationIdByAddressId(addressId))).orElse(0); + } + + + private <K, V> V retrieveFromCache(Cache<K, V> cache, K key, Supplier<V> supplier) { + V value = null; try { - applicationId = addressIdCache.get(addressId, () -> getApplicationCacheDAO().getApplicationIdByAddressId(addressId)); + value = cache.get(key, supplier::get); } catch (Throwable e) { logger.error(e.getMessage(), e); } - if (applicationId == 0) { - applicationId = getApplicationCacheDAO().getApplicationIdByAddressId(addressId); - if (applicationId != 0) { - addressIdCache.put(addressId, applicationId); + if (isNull(value)) { + value = supplier.get(); + if (nonNull(value)) { + cache.put(key, value); } } - return applicationId; + return value; } } diff --git a/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/InstanceCacheGuavaService.java b/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/InstanceCacheGuavaService.java index 7f5f265b6..629dea369 100644 --- a/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/InstanceCacheGuavaService.java +++ b/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/InstanceCacheGuavaService.java @@ -23,12 +23,18 @@ import org.apache.skywalking.apm.collector.cache.service.InstanceCacheService; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.core.util.Const; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.dao.cache.IInstanceCacheDAO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Objects; +import java.util.function.Supplier; + +import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; +import static java.util.Optional.ofNullable; + /** * @author peng-yongsheng */ @@ -50,64 +56,47 @@ public InstanceCacheGuavaService(ModuleManager moduleManager) { } private IInstanceCacheDAO getInstanceCacheDAO() { - if (ObjectUtils.isEmpty(instanceCacheDAO)) { + if (Objects.isNull(instanceCacheDAO)) { this.instanceCacheDAO = moduleManager.find(StorageModule.NAME).getService(IInstanceCacheDAO.class); } return this.instanceCacheDAO; } @Override public int getApplicationId(int instanceId) { - int applicationId = 0; - try { - applicationId = applicationIdCache.get(instanceId, () -> getInstanceCacheDAO().getApplicationId(instanceId)); - } catch (Throwable e) { - logger.error(e.getMessage(), e); - } - - if (applicationId == 0) { - applicationId = getInstanceCacheDAO().getApplicationId(instanceId); - if (applicationId != 0) { - applicationIdCache.put(instanceId, applicationId); - } - } - return applicationId; + return ofNullable(retrieveFromCache(applicationIdCache, instanceId, + () -> getInstanceCacheDAO().getApplicationId(instanceId))).orElse(0); } @Override public int getInstanceIdByAgentUUID(int applicationId, String agentUUID) { String key = applicationId + Const.ID_SPLIT + agentUUID; - int instanceId = 0; - try { - instanceId = agentUUIDCache.get(key, () -> getInstanceCacheDAO().getInstanceIdByAgentUUID(applicationId, agentUUID)); - } catch (Throwable e) { - logger.error(e.getMessage(), e); - } - - if (instanceId == 0) { - instanceId = getInstanceCacheDAO().getInstanceIdByAgentUUID(applicationId, agentUUID); - if (applicationId != 0) { - agentUUIDCache.put(key, instanceId); - } - } - return instanceId; + return ofNullable(retrieveFromCache(agentUUIDCache, key, + () -> getInstanceCacheDAO().getInstanceIdByAgentUUID(applicationId, agentUUID))).orElse(0); } @Override public int getInstanceIdByAddressId(int applicationId, int addressId) { String key = applicationId + Const.ID_SPLIT + addressId; - int instanceId = 0; + return ofNullable(retrieveFromCache(addressIdCache, key, + () -> getInstanceCacheDAO().getInstanceIdByAddressId(applicationId, addressId))).orElse(0); + } + + + private <K, V> V retrieveFromCache(Cache<K, V> cache, K key, Supplier<V> supplier) { + V value = null; try { - instanceId = addressIdCache.get(key, () -> getInstanceCacheDAO().getInstanceIdByAddressId(applicationId, addressId)); + value = cache.get(key, supplier::get); } catch (Throwable e) { logger.error(e.getMessage(), e); } - if (instanceId == 0) { - instanceId = getInstanceCacheDAO().getInstanceIdByAddressId(applicationId, addressId); - if (applicationId != 0) { - addressIdCache.put(key, instanceId); + if (isNull(value)) { + value = supplier.get(); + if (nonNull(value)) { + cache.put(key, value); } } - return instanceId; + + return value; } } diff --git a/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/NetworkAddressCacheGuavaService.java b/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/NetworkAddressCacheGuavaService.java index 8e2a8ab2f..fd9aef371 100644 --- a/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/NetworkAddressCacheGuavaService.java +++ b/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/NetworkAddressCacheGuavaService.java @@ -22,14 +22,19 @@ import com.google.common.cache.CacheBuilder; import org.apache.skywalking.apm.collector.cache.service.NetworkAddressCacheService; import org.apache.skywalking.apm.collector.core.module.ModuleManager; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; -import org.apache.skywalking.apm.collector.core.util.StringUtils; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.dao.cache.INetworkAddressCacheDAO; import org.apache.skywalking.apm.collector.storage.table.register.NetworkAddress; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Objects; +import java.util.Optional; +import java.util.function.Supplier; + +import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; + /** * @author peng-yongsheng */ @@ -38,6 +43,7 @@ private final Logger logger = LoggerFactory.getLogger(NetworkAddressCacheGuavaService.class); private final Cache<String, Integer> addressCache = CacheBuilder.newBuilder().initialCapacity(1000).maximumSize(5000).build(); + private final Cache<Integer, NetworkAddress> idCache = CacheBuilder.newBuilder().initialCapacity(1000).maximumSize(5000).build(); private final ModuleManager moduleManager; private INetworkAddressCacheDAO networkAddressCacheDAO; @@ -47,46 +53,39 @@ public NetworkAddressCacheGuavaService(ModuleManager moduleManager) { } private INetworkAddressCacheDAO getNetworkAddressCacheDAO() { - if (ObjectUtils.isEmpty(networkAddressCacheDAO)) { + if (Objects.isNull(networkAddressCacheDAO)) { this.networkAddressCacheDAO = moduleManager.find(StorageModule.NAME).getService(INetworkAddressCacheDAO.class); } return this.networkAddressCacheDAO; } public int getAddressId(String networkAddress) { - int addressId = 0; - try { - addressId = addressCache.get(networkAddress, () -> getNetworkAddressCacheDAO().getAddressId(networkAddress)); - - if (addressId == 0) { - addressId = getNetworkAddressCacheDAO().getAddressId(networkAddress); - if (addressId != 0) { - addressCache.put(networkAddress, addressId); - } - } - } catch (Throwable e) { - logger.error(e.getMessage(), e); - } + return Optional.ofNullable(retrieveFromCache(addressCache, networkAddress, + () -> getNetworkAddressCacheDAO().getAddressId(networkAddress))).orElse(0); + } - return addressId; + public NetworkAddress getAddress(int addressId) { + return retrieveFromCache(idCache, addressId, () -> getNetworkAddressCacheDAO().getAddressById(addressId)); } - private final Cache<Integer, NetworkAddress> idCache = CacheBuilder.newBuilder().initialCapacity(1000).maximumSize(5000).build(); - public NetworkAddress getAddress(int addressId) { - NetworkAddress networkAddress = null; + private <K, V> V retrieveFromCache(Cache<K, V> cache, K key, Supplier<V> supplier) { + V value = null; try { - networkAddress = idCache.get(addressId, () -> getNetworkAddressCacheDAO().getAddressById(addressId)); + value = cache.get(key, supplier::get); } catch (Throwable e) { logger.error(e.getMessage(), e); } - if (ObjectUtils.isEmpty(networkAddress)) { - networkAddress = getNetworkAddressCacheDAO().getAddressById(addressId); - if (StringUtils.isNotEmpty(networkAddress)) { - idCache.put(addressId, networkAddress); + if (isNull(value)) { + value = supplier.get(); + if (nonNull(value)) { + cache.put(key, value); } } - return networkAddress; + + return value; } + + } diff --git a/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/ServiceIdCacheGuavaService.java b/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/ServiceIdCacheGuavaService.java index 992bd032b..5532b1564 100644 --- a/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/ServiceIdCacheGuavaService.java +++ b/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/ServiceIdCacheGuavaService.java @@ -23,12 +23,13 @@ import org.apache.skywalking.apm.collector.cache.service.ServiceIdCacheService; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.core.util.Const; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.dao.cache.IServiceNameCacheDAO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Objects; + /** * @author peng-yongsheng */ @@ -46,7 +47,7 @@ public ServiceIdCacheGuavaService(ModuleManager moduleManager) { } private IServiceNameCacheDAO getServiceNameCacheDAO() { - if (ObjectUtils.isEmpty(serviceNameCacheDAO)) { + if (Objects.isNull(serviceNameCacheDAO)) { this.serviceNameCacheDAO = moduleManager.find(StorageModule.NAME).getService(IServiceNameCacheDAO.class); } return this.serviceNameCacheDAO; diff --git a/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/ServiceNameCacheGuavaService.java b/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/ServiceNameCacheGuavaService.java index 528dbd6f0..c58781558 100644 --- a/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/ServiceNameCacheGuavaService.java +++ b/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/apache/skywalking/apm/collector/cache/guava/service/ServiceNameCacheGuavaService.java @@ -22,13 +22,15 @@ import com.google.common.cache.CacheBuilder; import org.apache.skywalking.apm.collector.cache.service.ServiceNameCacheService; import org.apache.skywalking.apm.collector.core.module.ModuleManager; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.dao.cache.IServiceNameCacheDAO; import org.apache.skywalking.apm.collector.storage.table.register.ServiceName; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; + /** * @author peng-yongsheng */ @@ -46,7 +48,7 @@ public ServiceNameCacheGuavaService(ModuleManager moduleManager) { } private IServiceNameCacheDAO getServiceNameCacheDAO() { - if (ObjectUtils.isEmpty(serviceNameCacheDAO)) { + if (isNull(serviceNameCacheDAO)) { this.serviceNameCacheDAO = moduleManager.find(StorageModule.NAME).getService(IServiceNameCacheDAO.class); } return this.serviceNameCacheDAO; @@ -60,9 +62,9 @@ public ServiceName get(int serviceId) { logger.error(e.getMessage(), e); } - if (ObjectUtils.isEmpty(serviceName)) { + if (isNull(serviceName)) { serviceName = getServiceNameCacheDAO().get(serviceId); - if (ObjectUtils.isNotEmpty(serviceName)) { + if (nonNull(serviceName)) { serviceCache.put(serviceId, serviceName); } } diff --git a/apm-collector/apm-collector-component/server-component/src/main/java/org/apache/skywalking/apm/collector/server/jetty/JettyHandler.java b/apm-collector/apm-collector-component/server-component/src/main/java/org/apache/skywalking/apm/collector/server/jetty/JettyHandler.java index cfef0105d..5bd8ac22a 100644 --- a/apm-collector/apm-collector-component/server-component/src/main/java/org/apache/skywalking/apm/collector/server/jetty/JettyHandler.java +++ b/apm-collector/apm-collector-component/server-component/src/main/java/org/apache/skywalking/apm/collector/server/jetty/JettyHandler.java @@ -19,22 +19,19 @@ package org.apache.skywalking.apm.collector.server.jetty; import com.google.gson.JsonElement; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Enumeration; -import javax.servlet.ServletConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.server.ServerHandler; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.servlet.*; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.Enumeration; +import java.util.Objects; + /** * @author peng-yongsheng */ @@ -166,7 +163,7 @@ private void reply(HttpServletResponse response, JsonElement resJson) throws IOE response.setStatus(HttpServletResponse.SC_OK); PrintWriter out = response.getWriter(); - if (ObjectUtils.isNotEmpty(resJson)) { + if (Objects.nonNull(resJson)) { out.print(resJson); } out.flush(); diff --git a/apm-collector/apm-collector-core/src/main/java/org/apache/skywalking/apm/collector/core/data/AbstractData.java b/apm-collector/apm-collector-core/src/main/java/org/apache/skywalking/apm/collector/core/data/AbstractData.java index 466d166e9..427049c08 100644 --- a/apm-collector/apm-collector-core/src/main/java/org/apache/skywalking/apm/collector/core/data/AbstractData.java +++ b/apm-collector/apm-collector-core/src/main/java/org/apache/skywalking/apm/collector/core/data/AbstractData.java @@ -18,7 +18,11 @@ package org.apache.skywalking.apm.collector.core.data; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; +import java.util.Arrays; +import java.util.Objects; +import java.util.function.IntFunction; + +import static java.util.Optional.ofNullable; /** * @author peng-yongsheng @@ -94,33 +98,15 @@ public final String getDataString(int position) { } public final Long getDataLong(int position) { - if (position + 1 > dataLongs.length) { - throw new IndexOutOfBoundsException(); - } else if (dataLongs[position] == null) { - return 0L; - } else { - return dataLongs[position]; - } + return ofNullable(dataLongs[position]).orElse(0L); } public final Double getDataDouble(int position) { - if (position + 1 > dataDoubles.length) { - throw new IndexOutOfBoundsException(); - } else if (dataDoubles[position] == null) { - return 0D; - } else { - return dataDoubles[position]; - } + return ofNullable(dataDoubles[position]).orElse(0D); } public final Integer getDataInteger(int position) { - if (position + 1 > dataIntegers.length) { - throw new IndexOutOfBoundsException(); - } else if (dataIntegers[position] == null) { - return 0; - } else { - return dataIntegers[position]; - } + return ofNullable(dataIntegers[position]).orElse(0); } public final byte[] getDataBytes(int position) { @@ -157,32 +143,22 @@ private void mergeData(AbstractData newData) { @SuppressWarnings("unchecked") private void calculateFormula() { - for (int i = 0; i < stringColumns.length; i++) { - if (ObjectUtils.isNotEmpty(stringColumns[i].getFormulaOperation())) { - String stringData = (String)stringColumns[i].getFormulaOperation().operate(this); - this.dataStrings[i] = stringData; - } - } - for (int i = 0; i < longColumns.length; i++) { - if (ObjectUtils.isNotEmpty(longColumns[i].getFormulaOperation())) { - Long longData = (Long)longColumns[i].getFormulaOperation().operate(this); - this.dataLongs[i] = longData; - } - } - for (int i = 0; i < doubleColumns.length; i++) { - if (ObjectUtils.isNotEmpty(doubleColumns[i].getFormulaOperation())) { - Double doubleData = (Double)doubleColumns[i].getFormulaOperation().operate(this); - this.dataDoubles[i] = doubleData; - } - } - for (int i = 0; i < integerColumns.length; i++) { - if (ObjectUtils.isNotEmpty(integerColumns[i].getFormulaOperation())) { - Integer integerData = (Integer)integerColumns[i].getFormulaOperation().operate(this); - this.dataIntegers[i] = integerData; - } - } + this.dataStrings = calculate(stringColumns, String[]::new); + this.dataLongs = calculate(stringColumns, Long[]::new); + this.dataDoubles = calculate(stringColumns, Double[]::new); + this.dataIntegers = calculate(stringColumns, Integer[]::new); + } + + @SuppressWarnings("unchecked") + private <T> T[] calculate(Column[] columns, IntFunction<T[]> arrayInitializer) { + return Arrays.stream(columns) + .filter(Objects::nonNull) + .map(t -> (T) t.getFormulaOperation().operate(this)) + .toArray(arrayInitializer); + } + @Override public final String toString() { StringBuilder dataStr = new StringBuilder(); dataStr.append("string: ["); diff --git a/apm-collector/apm-collector-core/src/main/java/org/apache/skywalking/apm/collector/core/util/ObjectUtils.java b/apm-collector/apm-collector-core/src/main/java/org/apache/skywalking/apm/collector/core/util/ObjectUtils.java deleted file mode 100644 index 496ebc4fc..000000000 --- a/apm-collector/apm-collector-core/src/main/java/org/apache/skywalking/apm/collector/core/util/ObjectUtils.java +++ /dev/null @@ -1,33 +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.apm.collector.core.util; - -/** - * @author peng-yongsheng - */ -public class ObjectUtils { - public static boolean isEmpty(Object obj) { - return obj == null; - } - - public static boolean isNotEmpty(Object obj) { - return !isEmpty(obj); - } -} diff --git a/apm-collector/apm-collector-core/src/test/java/org/apache/skywalking/apm/collector/core/util/ObjectUtilsTest.java b/apm-collector/apm-collector-core/src/test/java/org/apache/skywalking/apm/collector/core/util/ObjectUtilsTest.java deleted file mode 100644 index 31f91d368..000000000 --- a/apm-collector/apm-collector-core/src/test/java/org/apache/skywalking/apm/collector/core/util/ObjectUtilsTest.java +++ /dev/null @@ -1,34 +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.apm.collector.core.util; - -import org.junit.Assert; -import org.junit.Test; - -/** - * @author wu-sheng - */ -public class ObjectUtilsTest { - @Test - public void testNullObject() { - Object o = new Object(); - Assert.assertTrue(ObjectUtils.isNotEmpty(o)); - } -} diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/AlarmQuery.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/AlarmQuery.java index 040b58d9d..b2d179ff4 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/AlarmQuery.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/AlarmQuery.java @@ -18,9 +18,7 @@ package org.apache.skywalking.apm.collector.ui.query; -import java.text.ParseException; import org.apache.skywalking.apm.collector.core.module.ModuleManager; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.ui.alarm.Alarm; import org.apache.skywalking.apm.collector.storage.ui.alarm.AlarmType; import org.apache.skywalking.apm.collector.storage.ui.common.Duration; @@ -30,6 +28,9 @@ import org.apache.skywalking.apm.collector.ui.utils.DurationUtils; import org.apache.skywalking.apm.collector.ui.utils.PaginationUtils; +import java.text.ParseException; +import java.util.Objects; + /** * @author peng-yongsheng */ @@ -43,7 +44,7 @@ public AlarmQuery(ModuleManager moduleManager) { } private AlarmService getAlarmService() { - if (ObjectUtils.isEmpty(alarmService)) { + if (Objects.isNull(alarmService)) { this.alarmService = new AlarmService(moduleManager); } return alarmService; diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/ApplicationQuery.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/ApplicationQuery.java index 2a4bac3c7..77ede16ef 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/ApplicationQuery.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/ApplicationQuery.java @@ -18,10 +18,7 @@ package org.apache.skywalking.apm.collector.ui.query; -import java.text.ParseException; -import java.util.List; import org.apache.skywalking.apm.collector.core.module.ModuleManager; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.ui.application.Application; import org.apache.skywalking.apm.collector.storage.ui.common.Duration; import org.apache.skywalking.apm.collector.storage.ui.common.Topology; @@ -33,6 +30,10 @@ import org.apache.skywalking.apm.collector.ui.service.ServerService; import org.apache.skywalking.apm.collector.ui.utils.DurationUtils; +import java.text.ParseException; +import java.util.List; +import java.util.Objects; + /** * @author peng-yongsheng */ @@ -48,21 +49,21 @@ public ApplicationQuery(ModuleManager moduleManager) { } private ApplicationService getApplicationService() { - if (ObjectUtils.isEmpty(applicationService)) { + if (Objects.isNull(applicationService)) { this.applicationService = new ApplicationService(moduleManager); } return applicationService; } private ApplicationTopologyService getApplicationTopologyService() { - if (ObjectUtils.isEmpty(applicationTopologyService)) { + if (Objects.isNull(applicationTopologyService)) { this.applicationTopologyService = new ApplicationTopologyService(moduleManager); } return applicationTopologyService; } private ServerService getServerService() { - if (ObjectUtils.isEmpty(serverService)) { + if (Objects.isNull(serverService)) { this.serverService = new ServerService(moduleManager); } return serverService; diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/OverViewLayerQuery.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/OverViewLayerQuery.java index becf0658e..e87e65467 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/OverViewLayerQuery.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/OverViewLayerQuery.java @@ -18,10 +18,7 @@ package org.apache.skywalking.apm.collector.ui.query; -import java.text.ParseException; -import java.util.List; import org.apache.skywalking.apm.collector.core.module.ModuleManager; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.ui.common.Duration; import org.apache.skywalking.apm.collector.storage.ui.common.Topology; import org.apache.skywalking.apm.collector.storage.ui.overview.AlarmTrend; @@ -30,13 +27,14 @@ import org.apache.skywalking.apm.collector.storage.ui.overview.ConjecturalAppBrief; import org.apache.skywalking.apm.collector.storage.ui.service.ServiceMetric; import org.apache.skywalking.apm.collector.ui.graphql.Query; -import org.apache.skywalking.apm.collector.ui.service.AlarmService; -import org.apache.skywalking.apm.collector.ui.service.ApplicationService; -import org.apache.skywalking.apm.collector.ui.service.ClusterTopologyService; -import org.apache.skywalking.apm.collector.ui.service.NetworkAddressService; -import org.apache.skywalking.apm.collector.ui.service.ServiceNameService; +import org.apache.skywalking.apm.collector.ui.service.*; import org.apache.skywalking.apm.collector.ui.utils.DurationUtils; +import java.text.ParseException; +import java.util.List; + +import static java.util.Objects.isNull; + /** * @author peng-yongsheng */ @@ -54,35 +52,35 @@ public OverViewLayerQuery(ModuleManager moduleManager) { } private ClusterTopologyService getClusterTopologyService() { - if (ObjectUtils.isEmpty(clusterTopologyService)) { + if (isNull(clusterTopologyService)) { this.clusterTopologyService = new ClusterTopologyService(moduleManager); } return clusterTopologyService; } private ApplicationService getApplicationService() { - if (ObjectUtils.isEmpty(applicationService)) { + if (isNull(applicationService)) { this.applicationService = new ApplicationService(moduleManager); } return applicationService; } private NetworkAddressService getNetworkAddressService() { - if (ObjectUtils.isEmpty(networkAddressService)) { + if (isNull(networkAddressService)) { this.networkAddressService = new NetworkAddressService(moduleManager); } return networkAddressService; } private ServiceNameService getServiceNameService() { - if (ObjectUtils.isEmpty(serviceNameService)) { + if (isNull(serviceNameService)) { this.serviceNameService = new ServiceNameService(moduleManager); } return serviceNameService; } private AlarmService getAlarmService() { - if (ObjectUtils.isEmpty(alarmService)) { + if (isNull(alarmService)) { this.alarmService = new AlarmService(moduleManager); } return alarmService; diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/ServerQuery.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/ServerQuery.java index ed8db55e1..396221a5d 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/ServerQuery.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/ServerQuery.java @@ -18,10 +18,7 @@ package org.apache.skywalking.apm.collector.ui.query; -import java.text.ParseException; -import java.util.List; import org.apache.skywalking.apm.collector.core.module.ModuleManager; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.ui.common.Duration; import org.apache.skywalking.apm.collector.storage.ui.common.ResponseTimeTrend; import org.apache.skywalking.apm.collector.storage.ui.common.ThroughputTrend; @@ -33,6 +30,10 @@ import org.apache.skywalking.apm.collector.ui.service.ServerService; import org.apache.skywalking.apm.collector.ui.utils.DurationUtils; +import java.text.ParseException; +import java.util.List; +import java.util.Objects; + /** * @author peng-yongsheng */ @@ -46,7 +47,7 @@ public ServerQuery(ModuleManager moduleManager) { } private ServerService getServerService() { - if (ObjectUtils.isEmpty(serverService)) { + if (Objects.isNull(serverService)) { this.serverService = new ServerService(moduleManager); } return serverService; diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/ServiceQuery.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/ServiceQuery.java index b5ab3b958..3e1ff63c0 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/ServiceQuery.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/ServiceQuery.java @@ -18,21 +18,19 @@ package org.apache.skywalking.apm.collector.ui.query; -import java.text.ParseException; -import java.util.List; import org.apache.skywalking.apm.collector.core.module.ModuleManager; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; -import org.apache.skywalking.apm.collector.storage.ui.common.Duration; -import org.apache.skywalking.apm.collector.storage.ui.common.ResponseTimeTrend; -import org.apache.skywalking.apm.collector.storage.ui.common.SLATrend; -import org.apache.skywalking.apm.collector.storage.ui.common.ThroughputTrend; -import org.apache.skywalking.apm.collector.storage.ui.common.Topology; +import org.apache.skywalking.apm.collector.storage.ui.common.*; import org.apache.skywalking.apm.collector.storage.ui.service.ServiceInfo; import org.apache.skywalking.apm.collector.ui.graphql.Query; import org.apache.skywalking.apm.collector.ui.service.ServiceNameService; import org.apache.skywalking.apm.collector.ui.service.ServiceTopologyService; import org.apache.skywalking.apm.collector.ui.utils.DurationUtils; +import java.text.ParseException; +import java.util.List; + +import static java.util.Objects.isNull; + /** * @author peng-yongsheng */ @@ -47,14 +45,14 @@ public ServiceQuery(ModuleManager moduleManager) { } private ServiceNameService getServiceNameService() { - if (ObjectUtils.isEmpty(serviceNameService)) { + if (isNull(serviceNameService)) { this.serviceNameService = new ServiceNameService(moduleManager); } return serviceNameService; } private ServiceTopologyService getServiceTopologyService() { - if (ObjectUtils.isEmpty(serviceTopologyService)) { + if (isNull(serviceTopologyService)) { this.serviceTopologyService = new ServiceTopologyService(moduleManager); } return serviceTopologyService; diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/TraceQuery.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/TraceQuery.java index 9351793b4..595adc555 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/TraceQuery.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/TraceQuery.java @@ -18,11 +18,9 @@ package org.apache.skywalking.apm.collector.ui.query; -import java.text.ParseException; import org.apache.skywalking.apm.collector.core.UnexpectedException; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.core.util.Const; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.core.util.StringUtils; import org.apache.skywalking.apm.collector.storage.ui.trace.Trace; import org.apache.skywalking.apm.collector.storage.ui.trace.TraceBrief; @@ -33,6 +31,11 @@ import org.apache.skywalking.apm.collector.ui.utils.DurationUtils; import org.apache.skywalking.apm.collector.ui.utils.PaginationUtils; +import java.text.ParseException; + +import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; + /** * @author peng-yongsheng */ @@ -47,14 +50,14 @@ public TraceQuery(ModuleManager moduleManager) { } private SegmentTopService getSegmentTopService() { - if (ObjectUtils.isEmpty(segmentTopService)) { + if (isNull(segmentTopService)) { this.segmentTopService = new SegmentTopService(moduleManager); } return segmentTopService; } private TraceStackService getTraceStackService() { - if (ObjectUtils.isEmpty(traceStackService)) { + if (isNull(traceStackService)) { this.traceStackService = new TraceStackService(moduleManager); } return traceStackService; @@ -67,7 +70,7 @@ public TraceBrief queryBasicTraces(TraceQueryCondition condition) throws ParseEx if (StringUtils.isNotEmpty(condition.getTraceId())) { traceId = condition.getTraceId(); - } else if (ObjectUtils.isNotEmpty(condition.getQueryDuration())) { + } else if (nonNull(condition.getQueryDuration())) { startSecondTimeBucket = DurationUtils.INSTANCE.startTimeDurationToSecondTimeBucket(condition.getQueryDuration().getStep(), condition.getQueryDuration().getStart()); endSecondTimeBucket = DurationUtils.INSTANCE.endTimeDurationToSecondTimeBucket(condition.getQueryDuration().getStep(), condition.getQueryDuration().getEnd()); } else { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/service/TraceStackService.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/service/TraceStackService.java index 9c5364ad1..01d2b2e23 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/service/TraceStackService.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/service/TraceStackService.java @@ -18,9 +18,6 @@ package org.apache.skywalking.apm.collector.ui.service; -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; import org.apache.skywalking.apm.collector.cache.CacheModule; import org.apache.skywalking.apm.collector.cache.service.ApplicationCacheService; import org.apache.skywalking.apm.collector.cache.service.NetworkAddressCacheService; @@ -28,22 +25,23 @@ import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.core.util.CollectionUtils; import org.apache.skywalking.apm.collector.core.util.Const; -import org.apache.skywalking.apm.collector.core.util.ObjectUtils; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.dao.ui.IGlobalTraceUIDAO; import org.apache.skywalking.apm.collector.storage.dao.ui.ISegmentUIDAO; import org.apache.skywalking.apm.collector.storage.table.register.ServiceName; -import org.apache.skywalking.apm.collector.storage.ui.trace.KeyValue; -import org.apache.skywalking.apm.collector.storage.ui.trace.LogEntity; -import org.apache.skywalking.apm.collector.storage.ui.trace.Ref; -import org.apache.skywalking.apm.collector.storage.ui.trace.RefType; -import org.apache.skywalking.apm.collector.storage.ui.trace.Span; -import org.apache.skywalking.apm.collector.storage.ui.trace.Trace; +import org.apache.skywalking.apm.collector.storage.ui.trace.*; import org.apache.skywalking.apm.network.proto.SpanObject; import org.apache.skywalking.apm.network.proto.TraceSegmentObject; import org.apache.skywalking.apm.network.proto.UniqueId; import org.apache.skywalking.apm.network.trace.component.ComponentsDefine; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Optional; + +import static java.util.Objects.nonNull; + /** * @author peng-yongsheng */ @@ -69,7 +67,7 @@ public Trace load(String traceId) { if (CollectionUtils.isNotEmpty(segmentIds)) { for (String segmentId : segmentIds) { TraceSegmentObject segment = segmentDAO.load(segmentId); - if (ObjectUtils.isNotEmpty(segment)) { + if (nonNull(segment)) { trace.getSpans().addAll(buildSpanList(traceId, segmentId, segment.getApplicationId(), segment.getSpansList())); } } @@ -124,11 +122,9 @@ public Trace load(String traceId) { String operationName = spanObject.getOperationName(); if (spanObject.getOperationNameId() != 0) { ServiceName serviceName = serviceNameCacheService.get(spanObject.getOperationNameId()); - if (ObjectUtils.isNotEmpty(serviceName)) { - operationName = serviceName.getServiceName(); - } else { - operationName = Const.EMPTY_STRING; - } + operationName = Optional.ofNullable(serviceName) + .map(ServiceName::getServiceName) + .orElse(Const.EMPTY_STRING); } span.setOperationName(operationName); ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services