This is an automated email from the ASF dual-hosted git repository.

wu-sheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-horizon-ui.git


The following commit(s) were added to refs/heads/main by this push:
     new a0e25da  mesh + general: drop the layerScope:true "Top 20 APIs" widget
a0e25da is described below

commit a0e25dacdc729b0d7e1ca6096dc1b6e6bd5200c2
Author: Wu Sheng <[email protected]>
AuthorDate: Sat May 16 23:57:00 2026 +0800

    mesh + general: drop the layerScope:true "Top 20 APIs" widget
    
    `layerScope: true` is a per-widget flag that tells the BFF to query the
    metric without a service filter — the entity becomes `{ scope: All }`.
    That LOOKS like "scope to the layer" but isn't: OAP's Entity input has
    no `layer` field, so `{ scope: All }` is genuinely global. The MQE
    returns top entities matched by the metric definition itself —
    endpoints from any layer that emits `endpoint_cpm` leak into the list.
    
    Symptoms: on the mesh (Istio Managed SVCs) per-service dashboard,
    "Top 20 APIs" showed APIs from sidecar endpoints (mesh_dp) mixed in,
    and ignored the selected service. Same anti-pattern existed on the
    general layer.
    
    Remove both. The service-scoped "Top 10 endpoints in service" widget
    already gives per-service ranking, which is what operators expect on a
    per-service dashboard. Layer-wide cross-service rollups belong on a
    layer overview / topology page, not on a service drill-down.
---
 apps/bff/src/bundled_templates/layers/general.json | 16 ---------------
 apps/bff/src/bundled_templates/layers/mesh.json    | 24 ----------------------
 2 files changed, 40 deletions(-)

diff --git a/apps/bff/src/bundled_templates/layers/general.json 
b/apps/bff/src/bundled_templates/layers/general.json
index b0b5b38..81df05c 100644
--- a/apps/bff/src/bundled_templates/layers/general.json
+++ b/apps/bff/src/bundled_templates/layers/general.json
@@ -72,22 +72,6 @@
   },
   "dashboards": {
     "service": [
-      {
-        "id": "top_apis",
-        "title": "Top 20 APIs",
-        "tip": "Layer-wide ranking. Switch tabs to re-rank by traffic, 
response time, or worst success rate.",
-        "type": "top",
-        "expressions": [
-          "top_n(endpoint_cpm,20,des)",
-          "top_n(endpoint_resp_time,20,des)",
-          "top_n(endpoint_sla,20,asc)/100"
-        ],
-        "expressionLabels": ["Traffic", "Slow", "Successful Rate"],
-        "expressionUnits": ["rpm", "ms", "%"],
-        "layerScope": true,
-        "span": 3,
-        "rowSpan": 4
-      },
       {
         "id": "traffic_line",
         "title": "Traffic",
diff --git a/apps/bff/src/bundled_templates/layers/mesh.json 
b/apps/bff/src/bundled_templates/layers/mesh.json
index e667cae..9a7e110 100644
--- a/apps/bff/src/bundled_templates/layers/mesh.json
+++ b/apps/bff/src/bundled_templates/layers/mesh.json
@@ -99,30 +99,6 @@
   },
   "dashboards": {
     "service": [
-      {
-        "id": "top_apis",
-        "title": "Top 20 APIs",
-        "tip": "Layer-wide endpoint ranking. Switch tabs to re-rank by 
traffic, response time, or worst success rate.",
-        "type": "top",
-        "expressions": [
-          "top_n(endpoint_cpm,20,des)",
-          "top_n(endpoint_resp_time,20,des)",
-          "top_n(endpoint_sla,20,asc)/100"
-        ],
-        "expressionLabels": [
-          "Traffic",
-          "Slow",
-          "Successful Rate"
-        ],
-        "expressionUnits": [
-          "rpm",
-          "ms",
-          "%"
-        ],
-        "layerScope": true,
-        "span": 3,
-        "rowSpan": 4
-      },
       {
         "id": "traffic_line",
         "title": "Traffic",

Reply via email to