You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2022/12/05 13:28:25 UTC
[skywalking] 01/01: Remove timeout offset and correct `MetricsExtension` declarations
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch polish-update
in repository https://gitbox.apache.org/repos/asf/skywalking.git
commit 45539ea10b77178674709c2ebf4ab0a4f4509834
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Mon Dec 5 21:28:07 2022 +0800
Remove timeout offset and correct `MetricsExtension` declarations
---
docs/en/changes/changes.md | 2 ++
.../relation/endpoint/EndpointRelationServerSideMetrics.java | 2 ++
.../relation/process/ProcessRelationClientSideMetrics.java | 7 ++-----
.../relation/process/ProcessRelationServerSideMetrics.java | 7 ++-----
.../relation/service/ServiceRelationClientSideMetrics.java | 6 ++----
.../relation/service/ServiceRelationServerSideMetrics.java | 4 +++-
.../server/core/analysis/worker/MetricsPersistentWorker.java | 10 +---------
7 files changed, 14 insertions(+), 24 deletions(-)
diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index bf96fcabe7..9e1ca49623 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -21,6 +21,8 @@
// for the specific minute of booted successfully, the metrics are expected to load from database when
// it doesn't exist in the cache.
```
+* Remove the offset of metric session timeout according to worker creation sequence.
+* Correct `MetricsExtension` annotations declarations in manual entities.
#### UI
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 32dba2fb16..6437a71d97 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
@@ -22,6 +22,7 @@ import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.apache.skywalking.oap.server.core.Const;
+import org.apache.skywalking.oap.server.core.analysis.MetricsExtension;
import org.apache.skywalking.oap.server.core.analysis.Stream;
import org.apache.skywalking.oap.server.core.analysis.metrics.Metrics;
import org.apache.skywalking.oap.server.core.analysis.worker.MetricsStreamProcessor;
@@ -40,6 +41,7 @@ import static org.apache.skywalking.oap.server.core.analysis.metrics.Metrics.TIM
@Stream(name = EndpointRelationServerSideMetrics.INDEX_NAME, scopeId = DefaultScopeDefine.ENDPOINT_RELATION,
builder = EndpointRelationServerSideMetrics.Builder.class, processor = MetricsStreamProcessor.class)
+@MetricsExtension(supportDownSampling = true, supportUpdate = false, timeRelativeID = true)
@EqualsAndHashCode(of = {
"entityId"
}, callSuper = true)
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/process/ProcessRelationClientSideMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/process/ProcessRelationClientSideMetrics.java
index bb167c41bb..99db7396a8 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/process/ProcessRelationClientSideMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/process/ProcessRelationClientSideMetrics.java
@@ -37,7 +37,7 @@ import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
@Stream(name = ProcessRelationClientSideMetrics.INDEX_NAME, scopeId = DefaultScopeDefine.PROCESS_RELATION,
builder = ProcessRelationClientSideMetrics.Builder.class, processor = MetricsStreamProcessor.class)
-@MetricsExtension(supportDownSampling = false, supportUpdate = true, timeRelativeID = true)
+@MetricsExtension(supportDownSampling = false, supportUpdate = false, timeRelativeID = true)
@EqualsAndHashCode(of = {
"entityId"
}, callSuper = true)
@@ -78,10 +78,7 @@ public class ProcessRelationClientSideMetrics extends Metrics {
@Override
public boolean combine(Metrics metrics) {
- if (this.getTimeBucket() > metrics.getTimeBucket()) {
- this.setTimeBucket(metrics.getTimeBucket());
- }
- return true;
+ return false;
}
@Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/process/ProcessRelationServerSideMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/process/ProcessRelationServerSideMetrics.java
index 5f7225ff73..7293605564 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/process/ProcessRelationServerSideMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/process/ProcessRelationServerSideMetrics.java
@@ -37,7 +37,7 @@ import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
@Stream(name = ProcessRelationServerSideMetrics.INDEX_NAME, scopeId = DefaultScopeDefine.PROCESS_RELATION,
builder = ProcessRelationServerSideMetrics.Builder.class, processor = MetricsStreamProcessor.class)
-@MetricsExtension(supportDownSampling = false, supportUpdate = true, timeRelativeID = true)
+@MetricsExtension(supportDownSampling = false, supportUpdate = false, timeRelativeID = true)
@EqualsAndHashCode(of = {
"entityId"
}, callSuper = true)
@@ -78,10 +78,7 @@ public class ProcessRelationServerSideMetrics extends Metrics {
@Override
public boolean combine(Metrics metrics) {
- if (this.getTimeBucket() > metrics.getTimeBucket()) {
- this.setTimeBucket(metrics.getTimeBucket());
- }
- return true;
+ return false;
}
@Override
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 95c75ce53d..d559aece29 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
@@ -77,11 +77,9 @@ public class ServiceRelationClientSideMetrics extends Metrics {
ServiceRelationClientSideMetrics serviceRelationClientSideMetrics = (ServiceRelationClientSideMetrics) metrics;
if (this.getComponentId() == 0 && serviceRelationClientSideMetrics.getComponentId() != 0) {
this.componentId = serviceRelationClientSideMetrics.getComponentId();
+ return true;
}
- if (this.getTimeBucket() > metrics.getTimeBucket()) {
- this.setTimeBucket(metrics.getTimeBucket());
- }
- return true;
+ return false;
}
@Override
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 77b7032690..216a7b0ecc 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
@@ -22,6 +22,7 @@ import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.apache.skywalking.oap.server.core.Const;
+import org.apache.skywalking.oap.server.core.analysis.MetricsExtension;
import org.apache.skywalking.oap.server.core.analysis.Stream;
import org.apache.skywalking.oap.server.core.analysis.metrics.Metrics;
import org.apache.skywalking.oap.server.core.analysis.worker.MetricsStreamProcessor;
@@ -40,6 +41,7 @@ import static org.apache.skywalking.oap.server.core.analysis.metrics.Metrics.TIM
@Stream(name = ServiceRelationServerSideMetrics.INDEX_NAME, scopeId = DefaultScopeDefine.SERVICE_RELATION,
builder = ServiceRelationServerSideMetrics.Builder.class, processor = MetricsStreamProcessor.class)
+@MetricsExtension(supportDownSampling = true, supportUpdate = false, timeRelativeID = true)
@EqualsAndHashCode(of = {
"entityId"
}, callSuper = true)
@@ -76,7 +78,7 @@ public class ServiceRelationServerSideMetrics extends Metrics {
@Override
public boolean combine(Metrics metrics) {
- return true;
+ return false;
}
@Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsPersistentWorker.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsPersistentWorker.java
index 403e2b8c67..dee1994040 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsPersistentWorker.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsPersistentWorker.java
@@ -53,11 +53,6 @@ import org.apache.skywalking.oap.server.telemetry.api.MetricsTag;
*/
@Slf4j
public class MetricsPersistentWorker extends PersistenceWorker<Metrics> {
- /**
- * The counter of MetricsPersistentWorker instance, to calculate session timeout offset.
- */
- private static long SESSION_TIMEOUT_OFFSITE_COUNTER = 0;
-
private final Model model;
private final MetricsSessionCache sessionCache;
private final IMetricsDAO metricsDAO;
@@ -157,7 +152,6 @@ public class MetricsPersistentWorker extends PersistenceWorker<Metrics> {
"metrics_persistent_cache", "The counter of metrics status, new or cached.",
new MetricsTag.Keys("status"), new MetricsTag.Values("cached")
);
- SESSION_TIMEOUT_OFFSITE_COUNTER++;
serverStatusService = moduleDefineHolder.find(CoreModule.NAME).provider().getService(ServerStatusService.class);
}
@@ -176,9 +170,7 @@ public class MetricsPersistentWorker extends PersistenceWorker<Metrics> {
supportUpdate, storageSessionTimeout, metricsDataTTL, kind
);
// For a down-sampling metrics, we prolong the session timeout for 4 times, nearly 5 minutes.
- // And add offset according to worker creation sequence, to avoid context clear overlap,
- // eventually optimize load of IDs reading.
- sessionCache.setTimeoutThreshold(storageSessionTimeout * 4 + SESSION_TIMEOUT_OFFSITE_COUNTER * 200);
+ sessionCache.setTimeoutThreshold(storageSessionTimeout * 4);
// The down sampling level worker executes every 4 periods.
this.persistentMod = 4;
}