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