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 18de90b143 `BrowserErrorLog`, OAP Server generated UUID to replace the 
original client side ID (#13659)
18de90b143 is described below

commit 18de90b143085d7714a316d3ee5685a85ba93fbf
Author: Wan Kai <[email protected]>
AuthorDate: Wed Jan 14 11:50:55 2026 +0800

    `BrowserErrorLog`, OAP Server generated UUID to replace the original client 
side ID (#13659)
---
 apm-protocol/apm-network/src/main/proto                      |  2 +-
 docs/en/changes/changes.md                                   |  3 ++-
 .../provider/parser/errorlog/BrowserErrorLogDecorator.java   | 12 +++++++++++-
 test/e2e-v2/cases/browser/docker-compose.yml                 |  1 +
 test/e2e-v2/cases/browser/es/docker-compose.yml              |  1 +
 test/e2e-v2/cases/browser/es/es-sharding/docker-compose.yml  |  1 +
 test/e2e-v2/cases/browser/expected/trace-detail.yml          |  2 +-
 test/e2e-v2/cases/browser/expected/trace-v2-detail.yml       |  2 +-
 test/e2e-v2/cases/python/Dockerfile.python                   |  8 +++++++-
 test/e2e-v2/cases/python/docker-compose.yml                  |  9 ++++++---
 .../cases/python/expected/service-instance-consumer-py.yml   | 12 +++++++++++-
 .../python/expected/service-instance-provider-py-kafka.yml   | 12 +++++++++++-
 .../cases/python/expected/service-instance-provider-py.yml   | 12 +++++++++++-
 test/e2e-v2/cases/python/expected/trace-test-detail.yml      |  4 ++--
 test/e2e-v2/script/env                                       |  2 +-
 15 files changed, 68 insertions(+), 15 deletions(-)

diff --git a/apm-protocol/apm-network/src/main/proto 
b/apm-protocol/apm-network/src/main/proto
index 050b6eb294..cf9cc443c5 160000
--- a/apm-protocol/apm-network/src/main/proto
+++ b/apm-protocol/apm-network/src/main/proto
@@ -1 +1 @@
-Subproject commit 050b6eb2941e197e9aed118263f2fa23d44265f8
+Subproject commit cf9cc443c5e9a61078b24ba01ecc41f42526115f
diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index ac63498df5..187d736e87 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -17,9 +17,10 @@
 * Add support for OpenSearch/ElasticSearch client certificate authentication.
 * Fix BanyanDB logs paging query.
 * Replace BanyanDB Java client with native implementation.
-* Remove `bydb.dependencies.properties` and set the compatible BanyanDB API 
version number in `${SW_STORAGE_BANYANDB_COMPATIBLE_SERVER_API_VERSIONS}`
+* Remove `bydb.dependencies.properties` and set the compatible BanyanDB API 
version number in `${SW_STORAGE_BANYANDB_COMPATIBLE_SERVER_API_VERSIONS}`.
 * Fix trace profiling query time range condition.
 * Fix BanyanDB time range overflow in profile thread snapshot query.
+* `BrowserErrorLog`, OAP Server generated UUID to replace the original client 
side ID, because Browser scripts can't guarantee generated IDs are globally 
unique.
 * MQE: fix multiple labeled metric query and ensure no results are returned if 
no label value combinations match.
 
 #### UI
diff --git 
a/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/parser/errorlog/BrowserErrorLogDecorator.java
 
b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/parser/errorlog/BrowserErrorLogDecorator.java
index 56785fd463..0cf34a8ce1 100644
--- 
a/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/parser/errorlog/BrowserErrorLogDecorator.java
+++ 
b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/parser/errorlog/BrowserErrorLogDecorator.java
@@ -17,18 +17,28 @@
 
 package 
org.apache.skywalking.oap.server.receiver.browser.provider.parser.errorlog;
 
+import java.util.UUID;
 import lombok.RequiredArgsConstructor;
 import org.apache.skywalking.apm.network.language.agent.v3.BrowserErrorLog;
 import org.apache.skywalking.apm.network.language.agent.v3.ErrorCategory;
+import org.apache.skywalking.oap.server.library.util.StringUtil;
 
 @RequiredArgsConstructor
 public class BrowserErrorLogDecorator {
     private boolean isOrigin = true;
     private final BrowserErrorLog errorLog;
     private BrowserErrorLog.Builder builder;
+    private String id;
 
+    /**
+     * Browser scripts can't guarantee generated IDs are globally unique
+     * OAP Server generated UUID to replace the original client side ID.
+     */
     public String getUniqueId() {
-        return isOrigin ? errorLog.getUniqueId() : builder.getUniqueId();
+        if (StringUtil.isBlank(id)) {
+            id = UUID.randomUUID().toString();
+        }
+        return id;
     }
 
     public String getService() {
diff --git a/test/e2e-v2/cases/browser/docker-compose.yml 
b/test/e2e-v2/cases/browser/docker-compose.yml
index 29946365b2..b9bbecf655 100644
--- a/test/e2e-v2/cases/browser/docker-compose.yml
+++ b/test/e2e-v2/cases/browser/docker-compose.yml
@@ -46,6 +46,7 @@ services:
     environment:
       SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800
       SW_AGENT_LOGGING_LEVEL: DEBUG
+      SW_AGENT_NAME: provider-py
     volumes:
       - ./docker/provider.py:/entrypoint.py
     depends_on:
diff --git a/test/e2e-v2/cases/browser/es/docker-compose.yml 
b/test/e2e-v2/cases/browser/es/docker-compose.yml
index c231a833ee..f52b49b809 100644
--- a/test/e2e-v2/cases/browser/es/docker-compose.yml
+++ b/test/e2e-v2/cases/browser/es/docker-compose.yml
@@ -58,6 +58,7 @@ services:
     environment:
       SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800
       SW_AGENT_LOGGING_LEVEL: DEBUG
+      SW_AGENT_NAME: provider-py
     volumes:
       - ./../docker/provider.py:/entrypoint.py
     depends_on:
diff --git a/test/e2e-v2/cases/browser/es/es-sharding/docker-compose.yml 
b/test/e2e-v2/cases/browser/es/es-sharding/docker-compose.yml
index 14633b1562..59c9830f0e 100644
--- a/test/e2e-v2/cases/browser/es/es-sharding/docker-compose.yml
+++ b/test/e2e-v2/cases/browser/es/es-sharding/docker-compose.yml
@@ -59,6 +59,7 @@ services:
     environment:
       SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800
       SW_AGENT_LOGGING_LEVEL: DEBUG
+      SW_AGENT_NAME: provider-py
     volumes:
       - ./../../docker/provider.py:/entrypoint.py
     depends_on:
diff --git a/test/e2e-v2/cases/browser/expected/trace-detail.yml 
b/test/e2e-v2/cases/browser/expected/trace-detail.yml
index 2350d844a4..29cfca2957 100644
--- a/test/e2e-v2/cases/browser/expected/trace-detail.yml
+++ b/test/e2e-v2/cases/browser/expected/trace-detail.yml
@@ -64,7 +64,7 @@ spans:
       value: POST
     - key: http.url
       value: http://provider:9091/info
-    - key: http.status.code
+    - key: http.status_code
       value: "200"
   logs: []
   attachedevents: []
diff --git a/test/e2e-v2/cases/browser/expected/trace-v2-detail.yml 
b/test/e2e-v2/cases/browser/expected/trace-v2-detail.yml
index f3c263b25e..ce5918d30e 100644
--- a/test/e2e-v2/cases/browser/expected/trace-v2-detail.yml
+++ b/test/e2e-v2/cases/browser/expected/trace-v2-detail.yml
@@ -71,7 +71,7 @@ traces:
           value: POST
         - key: http.url
           value: http://provider:9091/info
-        - key: http.status.code
+        - key: http.status_code
           value: "200"
       logs: []
       attachedevents: []
diff --git a/test/e2e-v2/cases/python/Dockerfile.python 
b/test/e2e-v2/cases/python/Dockerfile.python
index 1b31a1df62..06de6f78f6 100644
--- a/test/e2e-v2/cases/python/Dockerfile.python
+++ b/test/e2e-v2/cases/python/Dockerfile.python
@@ -22,7 +22,13 @@ RUN git clone 
https://github.com/apache/skywalking-python.git $(pwd)
 
 RUN git reset --hard ${SW_AGENT_PYTHON_COMMIT} && git submodule update --init
 
-RUN make setup install
+RUN <<EOT
+  pip install --upgrade pip
+  pip install poetry
+
+  make install
+EOT
+
 RUN python3 -m pip install kafka-python requests
 
 ADD ./consumer.py /consumer.py
diff --git a/test/e2e-v2/cases/python/docker-compose.yml 
b/test/e2e-v2/cases/python/docker-compose.yml
index 858a90f75a..ff3a4236aa 100644
--- a/test/e2e-v2/cases/python/docker-compose.yml
+++ b/test/e2e-v2/cases/python/docker-compose.yml
@@ -107,7 +107,8 @@ services:
       - 9091
     environment:
       SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800
-      SW_AGENT_INSTANCE: provider-py-instance
+      SW_AGENT_INSTANCE_NAME: provider-py-instance
+      SW_AGENT_NAME: provider-py
     depends_on:
       oap:
         condition: service_healthy
@@ -142,8 +143,9 @@ services:
       - 9089
     environment:
       SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800
-      SW_AGENT_INSTANCE: provider-py-kafka-instance
+      SW_AGENT_INSTANCE_NAME: provider-py-kafka-instance
       SW_KAFKA_REPORTER_BOOTSTRAP_SERVERS: broker-a:9092,broker-b:9092
+      SW_AGENT_NAME: provider-py-kafka
     depends_on:
       oap:
         condition: service_healthy
@@ -168,7 +170,8 @@ services:
     environment:
       SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800
       PROVIDER_URL: http://medium-java:9092/users
-      SW_AGENT_INSTANCE: consumer-py-instance
+      SW_AGENT_INSTANCE_NAME: consumer-py-instance
+      SW_AGENT_NAME: consumer-py
     depends_on:
       oap:
         condition: service_healthy
diff --git a/test/e2e-v2/cases/python/expected/service-instance-consumer-py.yml 
b/test/e2e-v2/cases/python/expected/service-instance-consumer-py.yml
index f2099eba1e..a077cc294a 100644
--- a/test/e2e-v2/cases/python/expected/service-instance-consumer-py.yml
+++ b/test/e2e-v2/cases/python/expected/service-instance-consumer-py.yml
@@ -20,8 +20,18 @@
   name: consumer-py-instance
   attributes:
   {{- contains .attributes }}
+  - name: OS Name
+    value: {{ notEmpty .value }}
+  - name: Process No.
+    value: {{ notEmpty .value }}
+  - name: hostname
+    value: {{ notEmpty .value }}
+  - name: python_implementation
+    value: {{ notEmpty .value }}
+  - name: python_version
+    value: {{ notEmpty .value }}
   - name: ipv4s
-    value: ""
+    value: {{ notEmpty .value }}
   {{- end}}
   language: PYTHON
   instanceuuid: {{ b64enc "consumer-py" }}.1_{{ b64enc "consumer-py-instance" 
}}
diff --git 
a/test/e2e-v2/cases/python/expected/service-instance-provider-py-kafka.yml 
b/test/e2e-v2/cases/python/expected/service-instance-provider-py-kafka.yml
index c200a55bf8..8d6e1f47fa 100644
--- a/test/e2e-v2/cases/python/expected/service-instance-provider-py-kafka.yml
+++ b/test/e2e-v2/cases/python/expected/service-instance-provider-py-kafka.yml
@@ -20,8 +20,18 @@
   name: provider-py-kafka-instance
   attributes:
   {{- contains .attributes }}
+  - name: OS Name
+    value: {{ notEmpty .value }}
+  - name: Process No.
+    value: {{ notEmpty .value }}
+  - name: hostname
+    value: {{ notEmpty .value }}
+  - name: python_implementation
+    value: {{ notEmpty .value }}
+  - name: python_version
+    value: {{ notEmpty .value }}
   - name: ipv4s
-    value: ""
+    value: {{ notEmpty .value }}
   {{- end}}
   language: PYTHON
   instanceuuid: {{ b64enc "provider-py-kafka" }}.1_{{ b64enc 
"provider-py-kafka-instance" }}
diff --git a/test/e2e-v2/cases/python/expected/service-instance-provider-py.yml 
b/test/e2e-v2/cases/python/expected/service-instance-provider-py.yml
index 15364c1b38..087d91c048 100644
--- a/test/e2e-v2/cases/python/expected/service-instance-provider-py.yml
+++ b/test/e2e-v2/cases/python/expected/service-instance-provider-py.yml
@@ -20,8 +20,18 @@
   name: provider-py-instance
   attributes:
   {{- contains .attributes }}
+  - name: OS Name
+    value: {{ notEmpty .value }}
+  - name: Process No.
+    value: {{ notEmpty .value }}
+  - name: hostname
+    value: {{ notEmpty .value }}
+  - name: python_implementation
+    value: {{ notEmpty .value }}
+  - name: python_version
+    value: {{ notEmpty .value }}
   - name: ipv4s
-    value: ""
+    value: {{ notEmpty .value }}
   {{- end}}
   language: PYTHON
   instanceuuid: {{ b64enc "provider-py" }}.1_{{ b64enc "provider-py-instance" 
}}
diff --git a/test/e2e-v2/cases/python/expected/trace-test-detail.yml 
b/test/e2e-v2/cases/python/expected/trace-test-detail.yml
index 6aa46e3842..14f26f8b73 100644
--- a/test/e2e-v2/cases/python/expected/trace-test-detail.yml
+++ b/test/e2e-v2/cases/python/expected/trace-test-detail.yml
@@ -66,7 +66,7 @@ traces:
           value: POST
         - key: http.url
           value: http://medium-java:9092/users
-        - key: http.status.code
+        - key: http.status_code
           value: "200"
         {{- end }}
       logs: []
@@ -174,7 +174,7 @@ traces:
           value: POST
         - key: http.url
           value: http://provider-py-kafka:9089/users
-        - key: http.status.code
+        - key: http.status_code
           value: "200"
         {{- end }}
       logs: []
diff --git a/test/e2e-v2/script/env b/test/e2e-v2/script/env
index 43eaf1247c..4b6b9432fc 100644
--- a/test/e2e-v2/script/env
+++ b/test/e2e-v2/script/env
@@ -18,7 +18,7 @@ 
SW_AGENT_SATELLITE_COMMIT=ea27a3f4e126a24775fe12e2aa2695bcb23d99c3
 SW_AGENT_NGINX_LUA_COMMIT=c3cee4841798a147d83b96a10914d4ac0e11d0aa
 SW_AGENT_NODEJS_COMMIT=4f9a91dad3dfd8cfe5ba8f7bd06b39e11eb5e65e
 SW_AGENT_GO_COMMIT=afa75a3cc8c31f142102443af6164b825d63d8fc
-SW_AGENT_PYTHON_COMMIT=c76a6ec51a478ac91abb20ec8f22a99b8d4d6a58
+SW_AGENT_PYTHON_COMMIT=b91ebc46010ba6a46b251d4df54190c3b64f2db8
 SW_AGENT_CLIENT_JS_COMMIT=f08776d909eb1d9bc79c600e493030651b97e491
 SW_AGENT_CLIENT_JS_TEST_COMMIT=4f1eb1dcdbde3ec4a38534bf01dded4ab5d2f016
 SW_KUBERNETES_COMMIT_SHA=6fe5e6f0d3b7686c6be0457733e825ee68cb9b35

Reply via email to