You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wa...@apache.org on 2024/11/12 06:32:37 UTC
(skywalking) branch polish-mesh-dispatcher created (now 48f2dfbada)
This is an automated email from the ASF dual-hosted git repository.
wankai pushed a change to branch polish-mesh-dispatcher
in repository https://gitbox.apache.org/repos/asf/skywalking.git
at 48f2dfbada Polish mesh data dispatcher: don't generate Instance/Endpoint metrics if they are empty.
This branch includes the following new commits:
new 48f2dfbada Polish mesh data dispatcher: don't generate Instance/Endpoint metrics if they are empty.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(skywalking) 01/01: Polish mesh data dispatcher: don't generate Instance/Endpoint metrics if they are empty.
Posted by wa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
wankai pushed a commit to branch polish-mesh-dispatcher
in repository https://gitbox.apache.org/repos/asf/skywalking.git
commit 48f2dfbada9caf3b0558915c03d9350a207f5b61
Author: wankai123 <wa...@foxmail.com>
AuthorDate: Tue Nov 12 14:31:13 2024 +0800
Polish mesh data dispatcher: don't generate Instance/Endpoint metrics if they are empty.
---
docs/en/changes/changes.md | 1 +
.../receiver/mesh/TelemetryDataDispatcher.java | 29 ++++++++++++++++------
2 files changed, 23 insertions(+), 7 deletions(-)
diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index 5402732691..0617ec035e 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -18,6 +18,7 @@
* The index type `BanyanDB.IndexRule.IndexType#TREE` is removed. All indices are using `IndexType#INVERTED` now.
* Add max query size settings to BanyanDB.
* Fix "BanyanDBTraceQueryDAO.queryBasicTraces" doesn't support querying by "trace_id".
+* Polish mesh data dispatcher: don't generate Instance/Endpoint metrics if they are empty.
#### UI
diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java
index 11cdf191ac..e72f28e368 100644
--- a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java
+++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java
@@ -167,15 +167,21 @@ public class TelemetryDataDispatcher {
if (org.apache.skywalking.apm.network.common.v3.DetectPoint.server.equals(metrics.getDetectPoint())) {
toTCPService(metrics, minuteTimeBucket);
- toTCPServiceInstance(metrics, minuteTimeBucket);
- toTCPServiceInstanceTraffic(metrics, minuteTimeBucket);
+ // Don't generate instance metrics, if no dest instance.
+ if (StringUtil.isNotEmpty(metrics.getDestServiceInstance())) {
+ toTCPServiceInstance(metrics, minuteTimeBucket);
+ toTCPServiceInstanceTraffic(metrics, minuteTimeBucket);
+ }
}
String sourceService = metrics.getSourceServiceName();
// Don't generate relation, if no source.
if (StringUtil.isNotEmpty(sourceService)) {
toTCPServiceRelation(metrics, minuteTimeBucket);
- toTCPServiceInstanceRelation(metrics, minuteTimeBucket);
+ // Don't generate instance relation, if no source instance.
+ if (StringUtil.isNotEmpty(metrics.getSourceServiceInstance())) {
+ toTCPServiceInstanceRelation(metrics, minuteTimeBucket);
+ }
}
}
@@ -184,16 +190,25 @@ public class TelemetryDataDispatcher {
if (org.apache.skywalking.apm.network.common.v3.DetectPoint.server.equals(metrics.getDetectPoint())) {
toService(metrics, minuteTimeBucket);
- toServiceInstance(metrics, minuteTimeBucket);
- toServiceInstanceTraffic(metrics, minuteTimeBucket);
- toEndpoint(metrics, minuteTimeBucket);
+ // Don't generate instance metrics, if no dest instance.
+ if (StringUtil.isNotEmpty(metrics.getDestServiceInstance())) {
+ toServiceInstance(metrics, minuteTimeBucket);
+ toServiceInstanceTraffic(metrics, minuteTimeBucket);
+ }
+ // Don't generate endpoint metrics, if no endpoint.
+ if (StringUtil.isNotEmpty(metrics.getEndpoint())) {
+ toEndpoint(metrics, minuteTimeBucket);
+ }
}
String sourceService = metrics.getSourceServiceName();
// Don't generate relation, if no source.
if (StringUtil.isNotEmpty(sourceService)) {
toServiceRelation(metrics, minuteTimeBucket);
- toServiceInstanceRelation(metrics, minuteTimeBucket);
+ // Don't generate instance relation, if no source instance.
+ if (StringUtil.isNotEmpty(metrics.getSourceServiceInstance())) {
+ toServiceInstanceRelation(metrics, minuteTimeBucket);
+ }
}
}