diff --git a/CHANGES.md b/CHANGES.md index 198cea829..9d49bf9d3 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -48,6 +48,7 @@ Release Notes. * Performance: trim useless metadata fields in Envoy ALS metadata to improve performance. * Fix: slowDBAccessThreshold dynamic config error when not configured. * Performance: cache regex pattern and result, optimize string concatenation in Envy ALS analyzer. +* Performance: cache metrics id and entity id in `Metrics` and `ISource`. #### UI * Fix the date component for log conditions. diff --git a/oap-server/exporter/src/test/java/org/apache/skywalking/oap/server/exporter/provider/grpc/MockMetrics.java b/oap-server/exporter/src/test/java/org/apache/skywalking/oap/server/exporter/provider/grpc/MockMetrics.java index 98b8af2d4..6a5580207 100644 --- a/oap-server/exporter/src/test/java/org/apache/skywalking/oap/server/exporter/provider/grpc/MockMetrics.java +++ b/oap-server/exporter/src/test/java/org/apache/skywalking/oap/server/exporter/provider/grpc/MockMetrics.java @@ -24,7 +24,7 @@ import org.apache.skywalking.oap.server.core.remote.grpc.proto.RemoteData; public class MockMetrics extends Metrics { @Override - public String id() { + protected String id0() { return "mock-metrics"; } diff --git a/oap-server/oal-rt/src/main/resources/code-templates/metrics/id.ftl b/oap-server/oal-rt/src/main/resources/code-templates/metrics/id.ftl index 141b0c862..b9933d300 100644 --- a/oap-server/oal-rt/src/main/resources/code-templates/metrics/id.ftl +++ b/oap-server/oal-rt/src/main/resources/code-templates/metrics/id.ftl @@ -1,4 +1,4 @@ -public String id() { +protected String id0() { StringBuilder splitJointId = new StringBuilder(String.valueOf(getTimeBucket())); <#list fieldsFromSource as sourceField> <#if sourceField.isID()> 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 a025aebec..28027222a 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 @@ -429,7 +429,7 @@ public class RunningRuleTest { private int value; @Override - public String id() { + protected String id0() { return null; } @@ -486,7 +486,7 @@ public class RunningRuleTest { } @Override - public String id() { + protected String id0() { return null; } @@ -538,7 +538,7 @@ public class RunningRuleTest { private DataTable value; @Override - public String id() { + protected String id0() { return null; } 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 5f38f7300..e3029048b 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 @@ -56,7 +56,7 @@ public class EndpointTraffic extends Metrics { private String name = Const.EMPTY_STRING; @Override - public String id() { + protected String id0() { // Downgrade the time bucket to day level only. // supportDownSampling == false for this entity. return IDManager.EndpointID.buildId( diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/instance/InstanceTraffic.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/instance/InstanceTraffic.java index 7863bb72d..e66595b44 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/instance/InstanceTraffic.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/instance/InstanceTraffic.java @@ -121,7 +121,7 @@ public class InstanceTraffic extends Metrics { } @Override - public String id() { + protected String id0() { return IDManager.ServiceInstanceID.buildId(serviceId, name); } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/networkalias/NetworkAddressAlias.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/networkalias/NetworkAddressAlias.java index b524a74d9..75b3ff785 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/networkalias/NetworkAddressAlias.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/networkalias/NetworkAddressAlias.java @@ -82,7 +82,7 @@ public class NetworkAddressAlias extends Metrics { } @Override - public String id() { + protected String id0() { return IDManager.NetworkAddressAliasDefine.buildId(address); } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/endpoint/EndpointRelationServerSideMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/endpoint/EndpointRelationServerSideMetrics.java index b7649a3a9..abde69045 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/endpoint/EndpointRelationServerSideMetrics.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/endpoint/EndpointRelationServerSideMetrics.java @@ -62,7 +62,7 @@ public class EndpointRelationServerSideMetrics extends Metrics { private String entityId; @Override - public String id() { + protected String id0() { String splitJointId = String.valueOf(getTimeBucket()); splitJointId += Const.ID_CONNECTOR + entityId; return splitJointId; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/instance/ServiceInstanceRelationClientSideMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/instance/ServiceInstanceRelationClientSideMetrics.java index 07e5bbbb7..e8c396cda 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/instance/ServiceInstanceRelationClientSideMetrics.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/instance/ServiceInstanceRelationClientSideMetrics.java @@ -72,7 +72,7 @@ public class ServiceInstanceRelationClientSideMetrics extends Metrics { private String entityId; @Override - public String id() { + protected String id0() { return getTimeBucket() + Const.ID_CONNECTOR + entityId; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/instance/ServiceInstanceRelationServerSideMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/instance/ServiceInstanceRelationServerSideMetrics.java index 41dcc5f95..480c1cc0b 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/instance/ServiceInstanceRelationServerSideMetrics.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/instance/ServiceInstanceRelationServerSideMetrics.java @@ -72,7 +72,7 @@ public class ServiceInstanceRelationServerSideMetrics extends Metrics { private String entityId; @Override - public String id() { + protected String id0() { return getTimeBucket() + Const.ID_CONNECTOR + entityId; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/service/ServiceRelationClientSideMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/service/ServiceRelationClientSideMetrics.java index b52842c03..d9205fc1d 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/service/ServiceRelationClientSideMetrics.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/service/ServiceRelationClientSideMetrics.java @@ -62,7 +62,7 @@ public class ServiceRelationClientSideMetrics extends Metrics { private String entityId; @Override - public String id() { + protected String id0() { return getTimeBucket() + Const.ID_CONNECTOR + entityId; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/service/ServiceRelationServerSideMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/service/ServiceRelationServerSideMetrics.java index 8a983c7ff..ac5ed4336 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/service/ServiceRelationServerSideMetrics.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/service/ServiceRelationServerSideMetrics.java @@ -62,7 +62,7 @@ public class ServiceRelationServerSideMetrics extends Metrics { private String entityId; @Override - public String id() { + protected String id0() { return getTimeBucket() + Const.ID_CONNECTOR + entityId; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceTraffic.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceTraffic.java index ad26c8168..d5ab808f8 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceTraffic.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceTraffic.java @@ -67,7 +67,7 @@ public class ServiceTraffic extends Metrics { private String group; @Override - public String id() { + protected String id0() { return IDManager.ServiceID.buildId(name, nodeType); } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/HistogramFunction.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/HistogramFunction.java index 1c933eaee..e6ee54ef1 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/HistogramFunction.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/HistogramFunction.java @@ -138,7 +138,7 @@ public abstract class HistogramFunction extends Metrics implements AcceptableVal } @Override - public String id() { + protected String id0() { return getTimeBucket() + Const.ID_CONNECTOR + entityId; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/PercentileFunction.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/PercentileFunction.java index 061be7e31..2b670477e 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/PercentileFunction.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/PercentileFunction.java @@ -246,7 +246,7 @@ public abstract class PercentileFunction extends Metrics implements AcceptableVa } @Override - public String id() { + protected String id0() { return getTimeBucket() + Const.ID_CONNECTOR + entityId; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgFunction.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgFunction.java index f3bb41d74..dc2dec36d 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgFunction.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgFunction.java @@ -148,7 +148,7 @@ public abstract class AvgFunction extends Metrics implements AcceptableValue