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 5a7c53b1b8 Convert Kubernetes HTTP latency related metrics unit from
ns to ms (#12436)
5a7c53b1b8 is described below
commit 5a7c53b1b8b86fb7fd96ac8f3be241c9a70e56d5
Author: mrproliu <[email protected]>
AuthorDate: Sat Jul 13 22:34:48 2024 +0800
Convert Kubernetes HTTP latency related metrics unit from ns to ms (#12436)
---
docs/en/changes/changes.md | 1 +
docs/en/setup/backend/backend-k8s-monitoring-rover.md | 18 +++++++++---------
.../ebpf/provider/handler/AccessLogServiceHandler.java | 8 ++++++--
.../k8s_service/K8S-Endpoint.json | 2 +-
.../k8s_service/K8S-Service-Instance-Relation.json | 4 ++--
.../k8s_service/K8S-Service-Relation.json | 4 ++--
.../k8s_service/k8s-service-pod.json | 4 ++--
.../k8s_service/k8s-service-root.json | 6 +++---
.../k8s_service/k8s-service-service.json | 16 ++++++++--------
9 files changed, 34 insertions(+), 29 deletions(-)
diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index d0b0736441..3f8b3af633 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -32,6 +32,7 @@
* Support tracing logs query for debugging.
* BanyanDB: fix Tag autocomplete data storage and query.
* Support aggregation operators in PromQL query.
+* Update the kubernetes HTTP latency related metrics source unit from `ns` to
`ms`.
#### UI
* Highlight search log keywords.
diff --git a/docs/en/setup/backend/backend-k8s-monitoring-rover.md
b/docs/en/setup/backend/backend-k8s-monitoring-rover.md
index d409cd7241..28614f201e 100644
--- a/docs/en/setup/backend/backend-k8s-monitoring-rover.md
+++ b/docs/en/setup/backend/backend-k8s-monitoring-rover.md
@@ -86,15 +86,15 @@ Based on each transfer data analysis, extract the
information of the 7-layer net
#### HTTP/1.x or HTTP/2.x
-| Name | Init | Description
|
-|----------------------|-------------|--------------------------------------------------|
-| Call CPM | Count | HTTP Request calls per minutes.
|
-| Duration | Nanoseconds | Total HTTP Response use duration.
|
-| Success CPM | Count | Total HTTP Response success(status <
500) count. |
-| Request Header Size | Bytes | Total Request Header size.
|
-| Request Body Size | Bytes | Total Request Body size.
|
-| Response Header Size | Bytes | Total Response Header size.
|
-| Response Body Size | Bytes | Total Response Body size.
|
+| Name | Init | Description
|
+|----------------------|--------------|--------------------------------------------------|
+| Call CPM | Count | HTTP Request calls per minutes.
|
+| Duration | Milliseconds | Total HTTP Response use duration.
|
+| Success CPM | Count | Total HTTP Response success(status <
500) count. |
+| Request Header Size | Bytes | Total Request Header size.
|
+| Request Body Size | Bytes | Total Request Body size.
|
+| Response Header Size | Bytes | Total Response Header size.
|
+| Response Body Size | Bytes | Total Response Body size.
|
## Customizations
You can customize your own metrics/dashboard panel.
diff --git
a/oap-server/server-receiver-plugin/skywalking-ebpf-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/ebpf/provider/handler/AccessLogServiceHandler.java
b/oap-server/server-receiver-plugin/skywalking-ebpf-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/ebpf/provider/handler/AccessLogServiceHandler.java
index 7add7ed0fa..189afa5494 100644
---
a/oap-server/server-receiver-plugin/skywalking-ebpf-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/ebpf/provider/handler/AccessLogServiceHandler.java
+++
b/oap-server/server-receiver-plugin/skywalking-ebpf-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/ebpf/provider/handler/AccessLogServiceHandler.java
@@ -300,7 +300,8 @@ public class AccessLogServiceHandler extends
EBPFAccessLogServiceGrpc.EBPFAccess
protocol.setHttp(new K8SMetrics.ProtocolHTTP());
protocol.setSuccess(success);
- protocol.getHttp().setLatency(getDurationFromTimestamp(node,
http.getStartTime(), http.getEndTime()));
+ duration = convertNsToMs(getDurationFromTimestamp(node,
http.getStartTime(), http.getEndTime()));
+ protocol.getHttp().setLatency(duration);
protocol.getHttp().setUrl(http.getRequest().getPath());
protocol.getHttp().setMethod(http.getRequest().getMethod().name());
protocol.getHttp().setStatusCode(http.getResponse().getStatusCode());
@@ -308,7 +309,6 @@ public class AccessLogServiceHandler extends
EBPFAccessLogServiceGrpc.EBPFAccess
protocol.getHttp().setSizeOfRequestBody(http.getRequest().getSizeOfBodyBytes());
protocol.getHttp().setSizeOfResponseHeader(http.getResponse().getSizeOfHeadersBytes());
protocol.getHttp().setSizeOfResponseBody(http.getResponse().getSizeOfBodyBytes());
- duration = protocol.getHttp().getLatency();
break;
}
@@ -716,4 +716,8 @@ public class AccessLogServiceHandler extends
EBPFAccessLogServiceGrpc.EBPFAccess
count.incrementAndGet();
}
}
+
+ protected long convertNsToMs(long latency) {
+ return TimeUnit.NANOSECONDS.toMillis(latency);
+ }
}
diff --git
a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/K8S-Endpoint.json
b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/K8S-Endpoint.json
index 9ca61e32b5..3637b8b8c1 100644
---
a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/K8S-Endpoint.json
+++
b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/K8S-Endpoint.json
@@ -64,7 +64,7 @@
"i": "1",
"type": "Widget",
"expressions": [
-
"kubernetes_service_endpoint_http_call_duration/kubernetes_service_endpoint_http_call_cpm/1000000"
+
"kubernetes_service_endpoint_http_call_duration/kubernetes_service_endpoint_http_call_cpm"
],
"metricConfig": [
{
diff --git
a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/K8S-Service-Instance-Relation.json
b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/K8S-Service-Instance-Relation.json
index c45d4307aa..ba6c1e5900 100644
---
a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/K8S-Service-Instance-Relation.json
+++
b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/K8S-Service-Instance-Relation.json
@@ -3286,7 +3286,7 @@
"i": "1",
"type": "Widget",
"expressions": [
-
"kubernetes_service_instance_relation_client_http_call_duration/kubernetes_service_instance_relation_client_http_call_cpm/1000000"
+
"kubernetes_service_instance_relation_client_http_call_duration/kubernetes_service_instance_relation_client_http_call_cpm"
],
"graph": {
"type": "Line",
@@ -3400,7 +3400,7 @@
"i": "3",
"type": "Widget",
"expressions": [
-
"kubernetes_service_instance_relation_server_http_call_duration/kubernetes_service_instance_relation_server_http_call_cpm/1000000"
+
"kubernetes_service_instance_relation_server_http_call_duration/kubernetes_service_instance_relation_server_http_call_cpm"
],
"graph": {
"type": "Line",
diff --git
a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/K8S-Service-Relation.json
b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/K8S-Service-Relation.json
index 4d3207fc07..f28311f4df 100644
---
a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/K8S-Service-Relation.json
+++
b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/K8S-Service-Relation.json
@@ -3286,7 +3286,7 @@
"i": "1",
"type": "Widget",
"expressions": [
-
"kubernetes_service_relation_client_http_call_duration/kubernetes_service_relation_client_http_call_cpm/1000000"
+
"kubernetes_service_relation_client_http_call_duration/kubernetes_service_relation_client_http_call_cpm"
],
"graph": {
"type": "Line",
@@ -3400,7 +3400,7 @@
"i": "3",
"type": "Widget",
"expressions": [
-
"kubernetes_service_relation_server_http_call_duration/kubernetes_service_relation_server_http_call_cpm/1000000"
+
"kubernetes_service_relation_server_http_call_duration/kubernetes_service_relation_server_http_call_cpm"
],
"graph": {
"type": "Line",
diff --git
a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-pod.json
b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-pod.json
index 92b05e3431..c9a324b159 100644
---
a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-pod.json
+++
b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-pod.json
@@ -1336,7 +1336,7 @@
"i": "1",
"type": "Widget",
"expressions": [
-
"kubernetes_service_instance_http_call_duration/kubernetes_service_instance_http_call_cpm/1000000"
+
"kubernetes_service_instance_http_call_duration/kubernetes_service_instance_http_call_cpm"
],
"metricConfig": [
{
@@ -1533,7 +1533,7 @@
"avg(kubernetes_service_instance_write_package_size)/60",
"avg(kubernetes_service_instance_read_package_size)/60",
"avg(kubernetes_service_instance_http_call_cpm)",
-
"avg(kubernetes_service_instance_http_call_duration/kubernetes_service_instance_http_call_cpm/1000000)",
+
"avg(kubernetes_service_instance_http_call_duration/kubernetes_service_instance_http_call_cpm)",
"avg(kubernetes_service_instance_http_call_success_count /
kubernetes_service_instance_http_call_cpm*100)"
],
"expressionsConfig": [
diff --git
a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-root.json
b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-root.json
index 42ea22d21c..96fab9635f 100644
---
a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-root.json
+++
b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-root.json
@@ -104,19 +104,19 @@
"avg(kubernetes_service_relation_server_write_package_size)/60",
"avg(kubernetes_service_relation_server_read_package_size)/60",
"avg(kubernetes_service_relation_client_http_call_cpm)/60",
-
"avg(kubernetes_service_relation_client_http_call_duration/kubernetes_service_relation_client_http_call_cpm)/1000000"
+
"avg(kubernetes_service_relation_client_http_call_duration/kubernetes_service_relation_client_http_call_cpm)"
],
"linkClientExpressions": [
"avg(kubernetes_service_relation_client_write_package_size)/60",
"avg(kubernetes_service_relation_client_read_package_size)/60",
"avg(kubernetes_service_relation_server_http_call_cpm)/60",
-
"avg(kubernetes_service_relation_server_http_call_duration/kubernetes_service_relation_server_http_call_cpm)/1000000"
+
"avg(kubernetes_service_relation_server_http_call_duration/kubernetes_service_relation_server_http_call_cpm)"
],
"nodeExpressions": [
"avg(kubernetes_service_write_package_size)/60",
"avg(kubernetes_service_read_package_size)/60",
"avg(kubernetes_service_http_call_cpm)",
-
"avg(kubernetes_service_http_call_duration/kubernetes_service_http_call_cpm)/1000000",
+
"avg(kubernetes_service_http_call_duration/kubernetes_service_http_call_cpm)",
"avg(kubernetes_service_http_call_success_count /
kubernetes_service_http_call_cpm*100)"
],
"legendMQE": {
diff --git
a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-service.json
b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-service.json
index 61e59e6e12..30336c9f3c 100644
---
a/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-service.json
+++
b/oap-server/server-starter/src/main/resources/ui-initialized-templates/k8s_service/k8s-service-service.json
@@ -220,19 +220,19 @@
"avg(kubernetes_service_relation_server_write_package_size)/60",
"avg(kubernetes_service_relation_server_read_package_size)/60",
"avg(kubernetes_service_relation_server_http_call_cpm)/60",
-
"avg(kubernetes_service_relation_server_http_call_duration/kubernetes_service_relation_client_http_call_cpm)/1000000"
+
"avg(kubernetes_service_relation_server_http_call_duration/kubernetes_service_relation_client_http_call_cpm)"
],
"linkClientExpressions": [
"avg(kubernetes_service_relation_client_write_package_size)/60",
"avg(kubernetes_service_relation_client_read_package_size)/60",
"avg(kubernetes_service_relation_client_http_call_cpm)/60",
-
"avg(kubernetes_service_relation_client_http_call_duration/kubernetes_service_relation_server_http_call_cpm)/1000000"
+
"avg(kubernetes_service_relation_client_http_call_duration/kubernetes_service_relation_server_http_call_cpm)"
],
"nodeExpressions": [
"avg(kubernetes_service_write_package_size)/60",
"avg(kubernetes_service_read_package_size)/60",
"avg(kubernetes_service_http_call_cpm)",
-
"avg(kubernetes_service_http_call_duration/kubernetes_service_http_call_cpm)/1000000",
+
"avg(kubernetes_service_http_call_duration/kubernetes_service_http_call_cpm)",
"avg(kubernetes_service_http_call_success_count /
kubernetes_service_http_call_cpm*100)"
],
"legendMQE": {
@@ -1601,7 +1601,7 @@
"i": "1",
"type": "Widget",
"expressions": [
-
"kubernetes_service_http_call_duration/kubernetes_service_http_call_cpm/1000000"
+
"kubernetes_service_http_call_duration/kubernetes_service_http_call_cpm"
],
"metricConfig": [
{
@@ -1818,7 +1818,7 @@
],
"expressions": [
"latest(kubernetes_service_instance_http_call_cpm)",
-
"latest(kubernetes_service_instance_http_call_duration/kubernetes_service_instance_http_call_cpm)/1000000",
+
"latest(kubernetes_service_instance_http_call_duration/kubernetes_service_instance_http_call_cpm)",
"latest(kubernetes_service_instance_http_call_success_count/kubernetes_service_instance_http_call_cpm*100)"
]
}
@@ -1861,12 +1861,12 @@
"expressions": [
"avg(kubernetes_service_endpoint_call_cpm)",
"avg(kubernetes_service_endpoint_call_success_cpm/kubernetes_service_endpoint_call_cpm*100)",
-
"avg(kubernetes_service_endpoint_call_duration/kubernetes_service_endpoint_call_cpm/1000000)"
+
"avg(kubernetes_service_endpoint_call_duration/kubernetes_service_endpoint_call_cpm)"
],
"subExpressions": [
"kubernetes_service_endpoint_call_cpm",
"kubernetes_service_endpoint_call_success_cpm/kubernetes_service_endpoint_call_cpm*100",
-
"kubernetes_service_endpoint_call_duration/kubernetes_service_endpoint_call_cpm/1000000"
+
"kubernetes_service_endpoint_call_duration/kubernetes_service_endpoint_call_cpm"
]
}
]
@@ -1915,7 +1915,7 @@
"avg(kubernetes_service_write_package_size)/60",
"avg(kubernetes_service_read_package_size)/60",
"avg(kubernetes_service_http_call_cpm)",
-
"avg(kubernetes_service_http_call_duration/kubernetes_service_http_call_cpm/1000000)",
+
"avg(kubernetes_service_http_call_duration/kubernetes_service_http_call_cpm)",
"avg(kubernetes_service_http_call_success_count /
kubernetes_service_http_call_cpm*100)"
],
"expressionsConfig": [