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 8fad0cc8a8 Adding more access log metrics into k8s dashboards (#12018)
8fad0cc8a8 is described below

commit 8fad0cc8a822a3b266e528b30295e1376b956f1d
Author: mrproliu <741550...@qq.com>
AuthorDate: Thu Mar 14 13:52:21 2024 +0000

    Adding more access log metrics into k8s dashboards (#12018)
---
 docs/en/changes/changes.md                         |   1 +
 .../server-starter/src/main/resources/oal/ebpf.oal |   1 +
 .../k8s_service/k8s-service-root.json              |  16 +-
 .../k8s_service/k8s-service-service.json           | 350 +++++++++++++--------
 4 files changed, 238 insertions(+), 130 deletions(-)

diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index 379208e42a..bd17f2e32e 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -99,6 +99,7 @@
 * Enhance VNode logic and support multiple Trace IDs in span's ref.
 * Add the layers filed and associate layers dashboards for the service 
topology nodes.
 * Fix `Nginx-Instance` metrics to instance level.
+* Update tabs of the Kubernetes service page. 
 
 #### Documentation
 
diff --git a/oap-server/server-starter/src/main/resources/oal/ebpf.oal 
b/oap-server/server-starter/src/main/resources/oal/ebpf.oal
index 6d1685807d..ce8d95069d 100644
--- a/oap-server/server-starter/src/main/resources/oal/ebpf.oal
+++ b/oap-server/server-starter/src/main/resources/oal/ebpf.oal
@@ -115,6 +115,7 @@ kubernetes_service_instance_read_netfilter_duration = 
from(K8SServiceInstance.re
 
 kubernetes_service_instance_http_call_cpm = 
from(K8SServiceInstance.*).filter(detectPoint == 
DetectPoint.SERVER).filter(type == "protocol").filter(protocol.type == 
"http").cpm();
 kubernetes_service_instance_http_call_duration = 
from(K8SServiceInstance.protocol.http.latency).filter(detectPoint == 
DetectPoint.SERVER).filter(type == "protocol").filter(protocol.type == 
"http").sum();
+kubernetes_service_instance_http_call_success_count = 
from(K8SServiceInstance.*).filter(detectPoint == 
DetectPoint.SERVER).filter(type == "protocol").filter(protocol.type == 
"http").filter(protocol.success == true).cpm();
 kubernetes_service_instance_http_req_header_size = 
from(K8SServiceInstance.protocol.http.sizeOfRequestHeader).filter(detectPoint 
== DetectPoint.SERVER).filter(type == "protocol").filter(protocol.type == 
"http").sum();
 kubernetes_service_instance_http_req_body_size = 
from(K8SServiceInstance.protocol.http.sizeOfRequestBody).filter(detectPoint == 
DetectPoint.SERVER).filter(type == "protocol").filter(protocol.type == 
"http").sum();
 kubernetes_service_instance_http_resp_header_size = 
from(K8SServiceInstance.protocol.http.sizeOfResponseHeader).filter(detectPoint 
== DetectPoint.SERVER).filter(type == "protocol").filter(protocol.type == 
"http").sum();
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 2093d99a5b..cc554c0585 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
@@ -47,6 +47,8 @@
                   "type": "Widget",
                   "metricMode": "Expression",
                   "typesOfMQE": [
+                    "TIME_SERIES_VALUES",
+                    "TIME_SERIES_VALUES",
                     "TIME_SERIES_VALUES",
                     "TIME_SERIES_VALUES",
                     "TIME_SERIES_VALUES"
@@ -54,7 +56,9 @@
                   "expressions": [
                     "latest(k8s_service_pod_total)",
                     "latest(k8s_service_cpu_cores_requests)",
-                    "latest(k8s_service_cpu_cores_limits)"
+                    "latest(k8s_service_cpu_cores_limits)",
+                    "latest(kubernetes_service_http_call_cpm)",
+                    
"latest(kubernetes_service_http_call_success_count/kubernetes_service_http_call_cpm*100)"
                   ],
                   "graph": {
                     "type": "ServiceList",
@@ -75,6 +79,14 @@
                     {
                       "label": "CPU Limits",
                       "unit": "m"
+                    },
+                    {
+                      "label": "HTTP Load",
+                      "unit": "calls / min"
+                    },
+                    {
+                      "label": "HTTP Success Rate",
+                      "unit": "%"
                     }
                   ]
                 }
@@ -211,4 +223,4 @@
       "path": "/Kubernetes/Service"
     }
   }
-]
+]
\ No newline at end of file
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 b6b4ed27d9..ec6ad8b0dd 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
@@ -236,106 +236,118 @@
               ]
             },
             {
-              "name": "eBPF Profiling",
-              "children": [
-                {
-                  "x": 0,
-                  "y": 2,
-                  "w": 24,
-                  "h": 47,
-                  "i": "0",
-                  "type": "Ebpf"
-                },
-                {
-                  "x": 0,
-                  "y": 0,
-                  "w": 24,
-                  "h": 2,
-                  "i": "2",
-                  "type": "Text",
-                  "graph": {
-                    "fontColor": "theme",
-                    "backgroundColor": "theme",
-                    "content": "eBPF Profiling support services written in C, 
C++, Golang, and Rust. SkyWalking Rover provides this profiling capability. ",
-                    "fontSize": 14,
-                    "textAlign": "left",
-                    "url": 
"https://skywalking.apache.org/docs/skywalking-rover/next/readme/";
-                  }
-                }
-              ]
-            },
-            {
-              "name": "Pods",
+              "name": "Topology",
               "children": [
                 {
                   "x": 0,
                   "y": 0,
                   "w": 24,
-                  "h": 31,
-                  "i": "1",
-                  "type": "Widget",
-                  "graph": {
-                    "type": "InstanceList",
-                    "dashboardName": "K8S-Service-Pods",
-                    "fontSize": 12
-                  }
-                }
-              ]
-            },
-            {
-              "name": "Endpoint",
-              "children": [
-                {
-                  "x": 0,
-                  "y": 0,
-                  "w": 24,
-                  "h": 49,
+                  "h": 41,
                   "i": "0",
-                  "type": "Widget",
+                  "type": "Topology",
                   "graph": {
-                    "type": "EndpointList",
-                    "dashboardName": "K8S-Endpoint",
-                    "fontSize": 12,
-                    "showXAxis": false,
-                    "showYAxis": false
+                    "showDepth": true
                   },
-                  "metricConfig": [
+                  "metricMode": "Expression",
+                  "linkDashboard": "K8S-Service-Relation",
+                  "nodeDashboard": [
+
+                  ],
+                  "linkServerMetrics": [
+
+                  ],
+                  "linkClientMetrics": [
+
+                  ],
+                  "nodeMetrics": [
+
+                  ],
+                  "linkServerExpressions": [
+                    
"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"
+                  ],
+                  "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"
+                  ],
+                  "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_success_count / 
kubernetes_service_http_call_cpm*100)"
+                  ],
+                  "legend": [
+
+                  ],
+                  "legendMQE": {
+                    "expression": 
"avg(kubernetes_service_http_call_success_count / 
kubernetes_service_http_call_cpm*100) < 95 and 
avg(kubernetes_service_http_call_cpm) > 1"
+                  },
+                  "description": {
+                    "healthy": "Healthy",
+                    "unhealthy": "HTTP Success Rate < 95% and HTTP Traffic > 1 
calls / min"
+                  },
+                  "linkServerMetricConfig": [
                     {
-                      "label": "Load",
-                      "detailLabel": "load",
-                      "unit": "calls / min"
+                      "label": "Server Write",
+                      "unit": "bytes / s"
                     },
                     {
-                      "label": "Success Rate",
-                      "detailLabel": "success_rate",
-                      "unit": "%"
+                      "label": "Server Read",
+                      "unit": "bytes / s"
                     },
                     {
-                      "label": "Latency",
-                      "detailLabel": "latency",
+                      "label": "Server HTTP Load",
+                      "unit": "calls / min"
+                    },
+                    {
+                      "label": "Server HTTP Latency",
                       "unit": "ms"
                     }
                   ],
-                  "metricMode": "Expression",
-                  "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)"
-                  ],
-                  "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"
-                  ],
-                  "subTypesOfMQE": [
-                    "",
-                    "",
-                    ""
+                  "linkClientMetricConfig": [
+                    {
+                      "label": "Client Write",
+                      "unit": "bytes / s"
+                    },
+                    {
+                      "label": "Client Read",
+                      "unit": "bytes / s"
+                    },
+                    {
+                      "label": "Client HTTP Load",
+                      "unit": "calls / min"
+                    },
+                    {
+                      "label": "Client HTTP Latency",
+                      "unit": "ms"
+                    }
                   ],
-                  "typesOfMQE": [
-                    "",
-                    "",
-                    ""
+                  "nodeMetricConfig": [
+                    {
+                      "label": "Write",
+                      "unit": "bytes / s"
+                    },
+                    {
+                      "label": "Read",
+                      "unit": "bytes / s"
+                    },
+                    {
+                      "label": "HTTP Load",
+                      "unit": "calls / min"
+                    },
+                    {
+                      "label": "HTTP Latency",
+                      "unit": "ms"
+                    },
+                    {
+                      "label": "HTTP Success Rate",
+                      "unit": "%"
+                    }
                   ]
                 }
               ]
@@ -1930,6 +1942,131 @@
                   ]
                 }
               ]
+            },
+            {
+              "name": "Pods",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 31,
+                  "i": "1",
+                  "type": "Widget",
+                  "graph": {
+                    "type": "InstanceList",
+                    "dashboardName": "K8S-Service-Pods",
+                    "fontSize": 12
+                  },
+                  "metricMode": "Expression",
+                  "metricConfig": [
+                    {
+                      "label": "HTTP Load",
+                      "unit": "calls / min"
+                    },
+                    {
+                      "label": "HTTP Latency",
+                      "unit": "ms"
+                    },
+                    {
+                      "label": "HTTP Success Rate",
+                      "unit": "%"
+                    }
+                  ],
+                  "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_success_count/kubernetes_service_instance_http_call_cpm*100)"
+                  ]
+                }
+              ]
+            },
+            {
+              "name": "Endpoint",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 49,
+                  "i": "0",
+                  "type": "Widget",
+                  "graph": {
+                    "type": "EndpointList",
+                    "dashboardName": "K8S-Endpoint",
+                    "fontSize": 12,
+                    "showXAxis": false,
+                    "showYAxis": false
+                  },
+                  "metricConfig": [
+                    {
+                      "label": "Load",
+                      "detailLabel": "load",
+                      "unit": "calls / min"
+                    },
+                    {
+                      "label": "Success Rate",
+                      "detailLabel": "success_rate",
+                      "unit": "%"
+                    },
+                    {
+                      "label": "Latency",
+                      "detailLabel": "latency",
+                      "unit": "ms"
+                    }
+                  ],
+                  "metricMode": "Expression",
+                  "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)"
+                  ],
+                  "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"
+                  ],
+                  "subTypesOfMQE": [
+                    "",
+                    "",
+                    ""
+                  ],
+                  "typesOfMQE": [
+                    "",
+                    "",
+                    ""
+                  ]
+                }
+              ]
+            },
+            {
+              "name": "eBPF Profiling",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 2,
+                  "w": 24,
+                  "h": 47,
+                  "i": "0",
+                  "type": "Ebpf"
+                },
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 2,
+                  "i": "2",
+                  "type": "Text",
+                  "graph": {
+                    "fontColor": "theme",
+                    "backgroundColor": "theme",
+                    "content": "eBPF Profiling support services written in C, 
C++, Golang, and Rust. SkyWalking Rover provides this profiling capability. ",
+                    "fontSize": 14,
+                    "textAlign": "left",
+                    "url": 
"https://skywalking.apache.org/docs/skywalking-rover/next/readme/";
+                  }
+                }
+              ]
             }
           ]
         }
@@ -1937,50 +2074,7 @@
       "layer": "K8S_SERVICE",
       "entity": "Service",
       "name": "K8S-Service-Service",
-      "isDefault": true,
-      "expressions": [
-        "latest(k8s_service_pod_total)",
-        "latest(k8s_service_cpu_cores_requests)",
-        "latest(k8s_service_cpu_cores_limits)",
-        "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_success_count / 
kubernetes_service_http_call_cpm*100)"
-      ],
-      "expressionsConfig": [
-        {
-          "label": "Pod Total"
-        },
-        {
-          "unit": "m",
-          "label": "CPU Requests"
-        },
-        {
-          "unit": "m",
-          "label": "CPU Limits"
-        },
-        {
-          "unit": "bytes / s",
-          "label": "Write"
-        },
-        {
-          "unit": "bytes / s",
-          "label": "Read"
-        },
-        {
-          "label": "HTTP Load",
-          "unit": "calls / min"
-        },
-        {
-          "label": "HTTP Latency",
-          "unit": "ms"
-        },
-        {
-          "label": "HTTP Success Rate",
-          "unit": "%"
-        }
-      ]
+      "id": "K8S-Service-Service"
     }
   }
-]
+]
\ No newline at end of file

Reply via email to