This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new 4df62b6210 Fix TCP service instances are lack of instance properties 
like `pod` and `namespace`, which causes Pod log not to work for TCP workloads 
(#10252)
4df62b6210 is described below

commit 4df62b6210042ff3ac217980962141b9c1b1b084
Author: kezhenxu94 <[email protected]>
AuthorDate: Mon Jan 9 21:08:21 2023 +0800

    Fix TCP service instances are lack of instance properties like `pod` and 
`namespace`, which causes Pod log not to work for TCP workloads (#10252)
---
 docs/en/changes/changes.md                          |  1 +
 .../envoy/als/tcp/TCPLogEntry2MetricsAdapter.java   | 21 +++++++++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index 2d8eb04bd2..d4a17c02ed 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -75,6 +75,7 @@
 * Add `BanyanDB.StoreIDTag` to store a process's id for searching.
 * [**Breaking Change**] The supported version of ShardingSphere-Proxy is 
upgraded from 5.1.2 to 5.3.1. Due to the changes of ShardingSphere's API, 
versions before 5.3.1 are not compatible.
 * Add the eBPF network profiling E2E Test in the per storage.
+* Fix TCP service instances are lack of instance properties like `pod` and 
`namespace`, which causes Pod log not to work for TCP workloads.
 
 #### UI
 
diff --git 
a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/tcp/TCPLogEntry2MetricsAdapter.java
 
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/tcp/TCPLogEntry2MetricsAdapter.java
index c847e31471..8c4963eb86 100644
--- 
a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/tcp/TCPLogEntry2MetricsAdapter.java
+++ 
b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/tcp/TCPLogEntry2MetricsAdapter.java
@@ -25,6 +25,7 @@ import 
io.envoyproxy.envoy.data.accesslog.v3.TCPAccessLogEntry;
 import java.util.Optional;
 import lombok.RequiredArgsConstructor;
 import org.apache.skywalking.apm.network.common.v3.DetectPoint;
+import org.apache.skywalking.apm.network.common.v3.KeyStringValuePair;
 import org.apache.skywalking.apm.network.servicemesh.v3.TCPServiceMeshMetric;
 import org.apache.skywalking.oap.server.receiver.envoy.als.ServiceMetaInfo;
 
@@ -113,6 +114,26 @@ public class TCPLogEntry2MetricsAdapter {
                 .map(ServiceMetaInfo::getServiceInstanceName)
                 .ifPresent(builder::setDestServiceInstance);
 
+        Optional
+            .ofNullable(sourceService)
+            .map(ServiceMetaInfo::getTags)
+            .ifPresent(tags -> {
+                tags.forEach(p -> {
+                    builder.addSourceInstanceProperties(
+                        
KeyStringValuePair.newBuilder().setKey(p.getKey()).setValue(p.getValue()));
+                });
+            });
+
+        Optional
+            .ofNullable(targetService)
+            .map(ServiceMetaInfo::getTags)
+            .ifPresent(tags -> {
+                tags.forEach(p -> {
+                    builder.addDestInstanceProperties(
+                        
KeyStringValuePair.newBuilder().setKey(p.getKey()).setValue(p.getValue()));
+                });
+            });
+
         return builder;
     }
 

Reply via email to