Convert Kubernetes HTTP latency related metrics unit from ns to ms (#12436)
This commit is contained in:
parent
61b4674c16
commit
5a7c53b1b8
|
|
@ -32,6 +32,7 @@
|
||||||
* Support tracing logs query for debugging.
|
* Support tracing logs query for debugging.
|
||||||
* BanyanDB: fix Tag autocomplete data storage and query.
|
* BanyanDB: fix Tag autocomplete data storage and query.
|
||||||
* Support aggregation operators in PromQL query.
|
* Support aggregation operators in PromQL query.
|
||||||
|
* Update the kubernetes HTTP latency related metrics source unit from `ns` to `ms`.
|
||||||
|
|
||||||
#### UI
|
#### UI
|
||||||
* Highlight search log keywords.
|
* Highlight search log keywords.
|
||||||
|
|
|
||||||
|
|
@ -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
|
#### HTTP/1.x or HTTP/2.x
|
||||||
|
|
||||||
| Name | Init | Description |
|
| Name | Init | Description |
|
||||||
|----------------------|-------------|--------------------------------------------------|
|
|----------------------|--------------|--------------------------------------------------|
|
||||||
| Call CPM | Count | HTTP Request calls per minutes. |
|
| Call CPM | Count | HTTP Request calls per minutes. |
|
||||||
| Duration | Nanoseconds | Total HTTP Response use duration. |
|
| Duration | Milliseconds | Total HTTP Response use duration. |
|
||||||
| Success CPM | Count | Total HTTP Response success(status < 500) count. |
|
| Success CPM | Count | Total HTTP Response success(status < 500) count. |
|
||||||
| Request Header Size | Bytes | Total Request Header size. |
|
| Request Header Size | Bytes | Total Request Header size. |
|
||||||
| Request Body Size | Bytes | Total Request Body size. |
|
| Request Body Size | Bytes | Total Request Body size. |
|
||||||
| Response Header Size | Bytes | Total Response Header size. |
|
| Response Header Size | Bytes | Total Response Header size. |
|
||||||
| Response Body Size | Bytes | Total Response Body size. |
|
| Response Body Size | Bytes | Total Response Body size. |
|
||||||
|
|
||||||
## Customizations
|
## Customizations
|
||||||
You can customize your own metrics/dashboard panel.
|
You can customize your own metrics/dashboard panel.
|
||||||
|
|
|
||||||
|
|
@ -300,7 +300,8 @@ public class AccessLogServiceHandler extends EBPFAccessLogServiceGrpc.EBPFAccess
|
||||||
protocol.setHttp(new K8SMetrics.ProtocolHTTP());
|
protocol.setHttp(new K8SMetrics.ProtocolHTTP());
|
||||||
protocol.setSuccess(success);
|
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().setUrl(http.getRequest().getPath());
|
||||||
protocol.getHttp().setMethod(http.getRequest().getMethod().name());
|
protocol.getHttp().setMethod(http.getRequest().getMethod().name());
|
||||||
protocol.getHttp().setStatusCode(http.getResponse().getStatusCode());
|
protocol.getHttp().setStatusCode(http.getResponse().getStatusCode());
|
||||||
|
|
@ -308,7 +309,6 @@ public class AccessLogServiceHandler extends EBPFAccessLogServiceGrpc.EBPFAccess
|
||||||
protocol.getHttp().setSizeOfRequestBody(http.getRequest().getSizeOfBodyBytes());
|
protocol.getHttp().setSizeOfRequestBody(http.getRequest().getSizeOfBodyBytes());
|
||||||
protocol.getHttp().setSizeOfResponseHeader(http.getResponse().getSizeOfHeadersBytes());
|
protocol.getHttp().setSizeOfResponseHeader(http.getResponse().getSizeOfHeadersBytes());
|
||||||
protocol.getHttp().setSizeOfResponseBody(http.getResponse().getSizeOfBodyBytes());
|
protocol.getHttp().setSizeOfResponseBody(http.getResponse().getSizeOfBodyBytes());
|
||||||
duration = protocol.getHttp().getLatency();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -716,4 +716,8 @@ public class AccessLogServiceHandler extends EBPFAccessLogServiceGrpc.EBPFAccess
|
||||||
count.incrementAndGet();
|
count.incrementAndGet();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected long convertNsToMs(long latency) {
|
||||||
|
return TimeUnit.NANOSECONDS.toMillis(latency);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@
|
||||||
"i": "1",
|
"i": "1",
|
||||||
"type": "Widget",
|
"type": "Widget",
|
||||||
"expressions": [
|
"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": [
|
"metricConfig": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -3286,7 +3286,7 @@
|
||||||
"i": "1",
|
"i": "1",
|
||||||
"type": "Widget",
|
"type": "Widget",
|
||||||
"expressions": [
|
"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": {
|
"graph": {
|
||||||
"type": "Line",
|
"type": "Line",
|
||||||
|
|
@ -3400,7 +3400,7 @@
|
||||||
"i": "3",
|
"i": "3",
|
||||||
"type": "Widget",
|
"type": "Widget",
|
||||||
"expressions": [
|
"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": {
|
"graph": {
|
||||||
"type": "Line",
|
"type": "Line",
|
||||||
|
|
|
||||||
|
|
@ -3286,7 +3286,7 @@
|
||||||
"i": "1",
|
"i": "1",
|
||||||
"type": "Widget",
|
"type": "Widget",
|
||||||
"expressions": [
|
"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": {
|
"graph": {
|
||||||
"type": "Line",
|
"type": "Line",
|
||||||
|
|
@ -3400,7 +3400,7 @@
|
||||||
"i": "3",
|
"i": "3",
|
||||||
"type": "Widget",
|
"type": "Widget",
|
||||||
"expressions": [
|
"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": {
|
"graph": {
|
||||||
"type": "Line",
|
"type": "Line",
|
||||||
|
|
|
||||||
|
|
@ -1336,7 +1336,7 @@
|
||||||
"i": "1",
|
"i": "1",
|
||||||
"type": "Widget",
|
"type": "Widget",
|
||||||
"expressions": [
|
"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": [
|
"metricConfig": [
|
||||||
{
|
{
|
||||||
|
|
@ -1533,7 +1533,7 @@
|
||||||
"avg(kubernetes_service_instance_write_package_size)/60",
|
"avg(kubernetes_service_instance_write_package_size)/60",
|
||||||
"avg(kubernetes_service_instance_read_package_size)/60",
|
"avg(kubernetes_service_instance_read_package_size)/60",
|
||||||
"avg(kubernetes_service_instance_http_call_cpm)",
|
"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)"
|
"avg(kubernetes_service_instance_http_call_success_count / kubernetes_service_instance_http_call_cpm*100)"
|
||||||
],
|
],
|
||||||
"expressionsConfig": [
|
"expressionsConfig": [
|
||||||
|
|
|
||||||
|
|
@ -104,19 +104,19 @@
|
||||||
"avg(kubernetes_service_relation_server_write_package_size)/60",
|
"avg(kubernetes_service_relation_server_write_package_size)/60",
|
||||||
"avg(kubernetes_service_relation_server_read_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_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": [
|
"linkClientExpressions": [
|
||||||
"avg(kubernetes_service_relation_client_write_package_size)/60",
|
"avg(kubernetes_service_relation_client_write_package_size)/60",
|
||||||
"avg(kubernetes_service_relation_client_read_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_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": [
|
"nodeExpressions": [
|
||||||
"avg(kubernetes_service_write_package_size)/60",
|
"avg(kubernetes_service_write_package_size)/60",
|
||||||
"avg(kubernetes_service_read_package_size)/60",
|
"avg(kubernetes_service_read_package_size)/60",
|
||||||
"avg(kubernetes_service_http_call_cpm)",
|
"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)"
|
"avg(kubernetes_service_http_call_success_count / kubernetes_service_http_call_cpm*100)"
|
||||||
],
|
],
|
||||||
"legendMQE": {
|
"legendMQE": {
|
||||||
|
|
|
||||||
|
|
@ -220,19 +220,19 @@
|
||||||
"avg(kubernetes_service_relation_server_write_package_size)/60",
|
"avg(kubernetes_service_relation_server_write_package_size)/60",
|
||||||
"avg(kubernetes_service_relation_server_read_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_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": [
|
"linkClientExpressions": [
|
||||||
"avg(kubernetes_service_relation_client_write_package_size)/60",
|
"avg(kubernetes_service_relation_client_write_package_size)/60",
|
||||||
"avg(kubernetes_service_relation_client_read_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_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": [
|
"nodeExpressions": [
|
||||||
"avg(kubernetes_service_write_package_size)/60",
|
"avg(kubernetes_service_write_package_size)/60",
|
||||||
"avg(kubernetes_service_read_package_size)/60",
|
"avg(kubernetes_service_read_package_size)/60",
|
||||||
"avg(kubernetes_service_http_call_cpm)",
|
"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)"
|
"avg(kubernetes_service_http_call_success_count / kubernetes_service_http_call_cpm*100)"
|
||||||
],
|
],
|
||||||
"legendMQE": {
|
"legendMQE": {
|
||||||
|
|
@ -1601,7 +1601,7 @@
|
||||||
"i": "1",
|
"i": "1",
|
||||||
"type": "Widget",
|
"type": "Widget",
|
||||||
"expressions": [
|
"expressions": [
|
||||||
"kubernetes_service_http_call_duration/kubernetes_service_http_call_cpm/1000000"
|
"kubernetes_service_http_call_duration/kubernetes_service_http_call_cpm"
|
||||||
],
|
],
|
||||||
"metricConfig": [
|
"metricConfig": [
|
||||||
{
|
{
|
||||||
|
|
@ -1818,7 +1818,7 @@
|
||||||
],
|
],
|
||||||
"expressions": [
|
"expressions": [
|
||||||
"latest(kubernetes_service_instance_http_call_cpm)",
|
"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)"
|
"latest(kubernetes_service_instance_http_call_success_count/kubernetes_service_instance_http_call_cpm*100)"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -1861,12 +1861,12 @@
|
||||||
"expressions": [
|
"expressions": [
|
||||||
"avg(kubernetes_service_endpoint_call_cpm)",
|
"avg(kubernetes_service_endpoint_call_cpm)",
|
||||||
"avg(kubernetes_service_endpoint_call_success_cpm/kubernetes_service_endpoint_call_cpm*100)",
|
"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": [
|
"subExpressions": [
|
||||||
"kubernetes_service_endpoint_call_cpm",
|
"kubernetes_service_endpoint_call_cpm",
|
||||||
"kubernetes_service_endpoint_call_success_cpm/kubernetes_service_endpoint_call_cpm*100",
|
"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_write_package_size)/60",
|
||||||
"avg(kubernetes_service_read_package_size)/60",
|
"avg(kubernetes_service_read_package_size)/60",
|
||||||
"avg(kubernetes_service_http_call_cpm)",
|
"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)"
|
"avg(kubernetes_service_http_call_success_count / kubernetes_service_http_call_cpm*100)"
|
||||||
],
|
],
|
||||||
"expressionsConfig": [
|
"expressionsConfig": [
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue