diff --git a/CHANGES.md b/CHANGES.md index 198cea829b8ffc41bb8a2b99f09657f9bd345f9c..9d49bf9d3f82a5ee36831ac47c98dc0b1f4fc301 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 98b8af2d457cd3f472527ae4601027445f8550cd..6a5580207c3f57839c0777e88daca264c93c2615 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 141b0c862e92e170f59911e8a96a725d796432f2..b9933d30099a837e206244bd3e548b93a126110d 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 a025aebec2345ab91aea78e12db32e5f3a9ed7ca..28027222a190409137c978ba39884fbdaf1fb3b0 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 5f38f7300a5e82ca8310553d3e650214bd6d7158..e3029048b2a1c555966c60b76999053bd026be76 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 7863bb72d95edc51e6ca999999bab35c22658ffe..e66595b446d36510440740571b71f2e13ae07d8f 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 b524a74d9c54264e8eb98f813b3f65a175373cdb..75b3ff7857235399967014353b4642ab70799539 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 b7649a3a988ce26905cb9627c52318f0142c9757..abde690456ba728db76997ab05065c073401f63e 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 07e5bbbb7c9f82cd9769f4af1efde1900914b9bd..e8c396cdaca5f3d44d9ef3de6d28c45629ee7184 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 41dcc5f9510895eca5fe10914e0a4b2f28927789..480c1cc0b8f2e057e347d571e8845d90ab05af77 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 b52842c03ae437d780f56ce041b3226216955ba2..d9205fc1d9c8efd925c6529e5888ab5cd395f8d8 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 8a983c7ff9b92f412c2d1161b9a80c926e7a79d2..ac5ed4336c4b8fbafe2108fc879d4d7a8ea983e4 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 ad26c8168eef5d1181a9ece2fdcc025e0f4862d8..d5ab808f8da00f37efa6619f22398a897b370750 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 1c933eaee5bdcd48adf32fcf4533c99009d48fd5..e6ee54ef18b36532f1ab3f3ae4337a93d143e1ec 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 061be7e31d2cf16d1e3c7240042349b725e05b8c..2b670477e036344eb8376484bbd4117c23fd8317 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 f3bb41d744d2fa539b0f4f107f9e4f4acc50f902..dc2dec36d304a7c04f8e011618ed76bb1ecbe8f7 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