You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2026/09/14 12:38:27 UTC

(skywalking-horizon-ui) 01/01: feat(layer): show the Envoy AI Gateway layer as Agent Router

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

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

commit b85fac7e3ec197d00bad3d1d4c3738a0fe231fdd
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Mon Sep 14 20:38:19 2026 +0800

    feat(layer): show the Envoy AI Gateway layer as Agent Router
    
    Envoy AI Gateway joined the Agentic AI Foundation as Agent Router, with the
    same code, APIs and signals. The bundled ENVOY_AI_GATEWAY template now names
    the layer "Agent Router" and its services "Agent Routers" in every locale.
    
    The layer key, the meter_envoy_ai_gw_* metrics, the widgets and the SkyWalking
    setup-guide link are unchanged; those names belong to OAP. The dashboard page
    notes the former name, and the changelog tells operators whose OAP already
    stores the template how to adopt the new name.
---
 .../bundled_templates/layers/envoy_ai_gateway.i18n.de.json |  4 ++--
 .../bundled_templates/layers/envoy_ai_gateway.i18n.es.json |  4 ++--
 .../bundled_templates/layers/envoy_ai_gateway.i18n.fr.json |  4 ++--
 .../bundled_templates/layers/envoy_ai_gateway.i18n.ja.json |  4 ++--
 .../bundled_templates/layers/envoy_ai_gateway.i18n.ko.json |  4 ++--
 .../bundled_templates/layers/envoy_ai_gateway.i18n.pt.json |  4 ++--
 .../layers/envoy_ai_gateway.i18n.zh-CN.json                |  4 ++--
 .../bff/src/bundled_templates/layers/envoy_ai_gateway.json |  4 ++--
 docs/changelog/1.1.0.md                                    |  2 ++
 docs/dashboards/envoy_ai_gateway.md                        | 14 +++++++-------
 docs/menu.yml                                              |  2 +-
 docs/operate/infra-3d-map.md                               |  2 +-
 12 files changed, 27 insertions(+), 25 deletions(-)

diff --git a/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.de.json b/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.de.json
index aa09535a..0306f361 100644
--- a/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.de.json
+++ b/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.de.json
@@ -1,5 +1,5 @@
 {
-  "alias": "Envoy AI Gateway",
+  "alias": "Agent Router",
   "group": "Gateways",
   "layer-header": {
     "columns": [
@@ -149,7 +149,7 @@
     ]
   },
   "slots": {
-    "services": "AI Gateways",
+    "services": "Agent Router",
     "instances": "Knoten"
   }
 }
diff --git a/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.es.json b/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.es.json
index ac831676..971e0464 100644
--- a/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.es.json
+++ b/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.es.json
@@ -17,10 +17,10 @@
   },
   "slots": {
     "instances": "Nodos",
-    "services": "AI Gateways"
+    "services": "Agent Routers"
   },
   "group": "Gateways",
-  "alias": "Envoy AI Gateway",
+  "alias": "Agent Router",
   "dashboards": {
     "service": [
       {
diff --git a/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.fr.json b/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.fr.json
index 475c2d6a..6600ad00 100644
--- a/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.fr.json
+++ b/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.fr.json
@@ -1,5 +1,5 @@
 {
-  "alias": "Envoy AI Gateway",
+  "alias": "Agent Router",
   "group": "Passerelles",
   "layer-header": {
     "columns": [
@@ -149,7 +149,7 @@
     ]
   },
   "slots": {
-    "services": "Passerelles AI",
+    "services": "Agent Routers",
     "instances": "Nœuds"
   }
 }
diff --git a/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.ja.json b/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.ja.json
index 72288614..ed61464c 100644
--- a/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.ja.json
+++ b/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.ja.json
@@ -1,5 +1,5 @@
 {
-  "alias": "Envoy AI Gateway",
+  "alias": "Agent Router",
   "group": "ゲートウェイ",
   "layer-header": {
     "columns": [
@@ -149,7 +149,7 @@
     ]
   },
   "slots": {
-    "services": "AI ゲートウェイ",
+    "services": "Agent Router",
     "instances": "ノード"
   }
 }
diff --git a/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.ko.json b/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.ko.json
index 7bf61096..a0a3a0ac 100644
--- a/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.ko.json
+++ b/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.ko.json
@@ -1,5 +1,5 @@
 {
-  "alias": "Envoy AI Gateway",
+  "alias": "Agent Router",
   "group": "게이트웨이",
   "layer-header": {
     "columns": [
@@ -149,7 +149,7 @@
     ]
   },
   "slots": {
-    "services": "AI 게이트웨이",
+    "services": "Agent Router",
     "instances": "노드"
   }
 }
diff --git a/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.pt.json b/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.pt.json
index a03d6e60..6caf2d13 100644
--- a/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.pt.json
+++ b/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.pt.json
@@ -1,8 +1,8 @@
 {
-  "alias": "Envoy AI Gateway",
+  "alias": "Agent Router",
   "group": "Gateways",
   "slots": {
-    "services": "AI Gateways",
+    "services": "Agent Routers",
     "instances": "Nós"
   },
   "layer-header": {
diff --git a/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.zh-CN.json b/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.zh-CN.json
index 7c6f851f..63984328 100644
--- a/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.zh-CN.json
+++ b/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.i18n.zh-CN.json
@@ -1,8 +1,8 @@
 {
-  "alias": "Envoy AI Gateway",
+  "alias": "Agent Router",
   "group": "网关",
   "slots": {
-    "services": "AI Gateway",
+    "services": "Agent Router",
     "instances": "节点"
   },
   "layer-header": {
diff --git a/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.json b/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.json
index 11754c9c..8aa38e80 100644
--- a/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.json
+++ b/apps/bff/src/bundled_templates/layers/envoy_ai_gateway.json
@@ -1,11 +1,11 @@
 {
   "key": "ENVOY_AI_GATEWAY",
-  "alias": "Envoy AI Gateway",
+  "alias": "Agent Router",
   "group": "Gateways",
   "color": "var(--sw-pink)",
   "documentLink": "https://skywalking.apache.org/docs/main/next/en/setup/backend/backend-envoy-ai-gateway-monitoring/",
   "aliases": {
-    "services": "AI Gateways",
+    "services": "Agent Routers",
     "instances": "Nodes"
   },
   "components": {
diff --git a/docs/changelog/1.1.0.md b/docs/changelog/1.1.0.md
index e540f2c5..fc015a65 100644
--- a/docs/changelog/1.1.0.md
+++ b/docs/changelog/1.1.0.md
@@ -196,6 +196,8 @@ The **3D Infra Map** opens framed on the tiers that hold services. A deployment
 
 **The BanyanDB layer has a Trace Sampling page.** BanyanDB 0.11 can run a chain of sampler plugins during trace merge and finalization, dropping whole traces after their fragments have landed — tail sampling inside the storage tier. The new page is an extension page under Cluster, with its own sidebar row, and it reads the `meter_banyandb_trace_sampling_*` families OAP collects from the plugin chain: the committed drop ratio and the trace outcomes behind it, per-plugin `Decide` rate and  [...]
 
+**The Envoy AI Gateway layer is now called Agent Router.** Envoy AI Gateway joined the Agentic AI Foundation as [Agent Router](https://theagentrouter.ai/), with the same code and APIs, so the bundled layer template now shows **Agent Router** in the sidebar and **Agent Routers** as its service label, in every language. Only the display names changed: the layer key `ENVOY_AI_GATEWAY`, the `meter_envoy_ai_gw_*` metrics and every widget stay as they were. An OAP that already stores this laye [...]
+
 ### Fixes
 
 **A compared service that failed to refresh was drawn as though it had.** In Compare, each entity keeps its last good reading when its own read fails — deliberately, so one failure does not blank its siblings — but the retained series was then plotted across the CURRENT axis and ran to the right-hand edge beside the fresh ones. Ten-minute-old latency sat next to live latency with nothing to tell them apart. Each series is now placed at the buckets it was actually read for, so a stale one [...]
diff --git a/docs/dashboards/envoy_ai_gateway.md b/docs/dashboards/envoy_ai_gateway.md
index bb4dff9f..f78b8918 100644
--- a/docs/dashboards/envoy_ai_gateway.md
+++ b/docs/dashboards/envoy_ai_gateway.md
@@ -14,11 +14,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 -->
-# Envoy AI Gateway
+# Agent Router
 
-The **ENVOY_AI_GATEWAY** layer monitors [Envoy AI Gateway](https://aigateway.envoyproxy.io/) deployments — the Envoy-based gateway that fronts LLM providers and models, routing chat / completion traffic to OpenAI, Anthropic, and other backends. SkyWalking turns the gateway's OpenTelemetry GenAI signals into request, latency, token, and streaming-quality metrics, broken down by provider and model, and lands them here.
+The **ENVOY_AI_GATEWAY** layer monitors [Agent Router](https://theagentrouter.ai/) deployments (formerly Envoy AI Gateway, renamed when it joined the Agentic AI Foundation) — the Envoy-based gateway that fronts LLM providers and models, routing chat / completion traffic to OpenAI, Anthropic, and other backends. SkyWalking turns the gateway's OpenTelemetry GenAI signals into request, latency, token, and streaming-quality metrics, broken down by provider and model, and lands them here.
 
-In Horizon's sidebar this layer is grouped under **Gateways**. Its services are listed as **AI Gateways** and its instances as **Nodes**. The ENVOY_AI_GATEWAY layer enables the Service (AI Gateway) and Instance (Node) dashboards plus the Logs sub-tab. It does **not** ship an Endpoint dashboard, a topology / service-map view, or a Traces tab — the gateway is monitored entirely through its GenAI meter families, which carry no per-endpoint scope or call graph.
+In Horizon's sidebar this layer is grouped under **Gateways**. Its services are listed as **Agent Routers** and its instances as **Nodes**. The ENVOY_AI_GATEWAY layer enables the Service (Agent Router) and Instance (Node) dashboards plus the Logs sub-tab. It does **not** ship an Endpoint dashboard, a topology / service-map view, or a Traces tab — the gateway is monitored entirely through its GenAI meter families, which carry no per-endpoint scope or call graph.
 
 This page is the **operator reference** for the bundled ENVOY_AI_GATEWAY dashboard: what you see on each scope and what each widget means.
 
@@ -26,7 +26,7 @@ This page is the **operator reference** for the bundled ENVOY_AI_GATEWAY dashboa
 
 ## Service list
 
-Before opening a gateway, the layer landing page lists every AI Gateway with four sortable columns, sorted by traffic (**RPM**) by default:
+Before opening a gateway, the layer landing page lists every Agent Router with four sortable columns, sorted by traffic (**RPM**) by default:
 
 - **RPM** — requests per minute across the gateway (`meter_envoy_ai_gw_request_cpm`).
 
@@ -38,7 +38,7 @@ Before opening a gateway, the layer landing page lists every AI Gateway with fou
 
 ## Service dashboard
 
-The primary drill-down for one selected AI Gateway. Beyond the headline request and token widgets, it breaks traffic down by GenAI provider and model and exposes streaming-quality timings (TTFT / TPOT). The Model Context Protocol (MCP) widgets only appear when the gateway actually serves MCP traffic.
+The primary drill-down for one selected Agent Router. Beyond the headline request and token widgets, it breaks traffic down by GenAI provider and model and exposes streaming-quality timings (TTFT / TPOT). The Model Context Protocol (MCP) widgets only appear when the gateway actually serves MCP traffic.
 
 **Requests, latency, and tokens**
 
@@ -110,7 +110,7 @@ For one selected **Node** of the gateway. The same request, latency, token, and
 
 ## Requirements
 
-The ENVOY_AI_GATEWAY dashboard is a pure consumer of what OAP reports — it invents no data, and a widget with no backing data simply reads `no data`. To populate it, OAP needs the Envoy AI Gateway GenAI meter families, derived from the gateway's OpenTelemetry GenAI signals:
+The ENVOY_AI_GATEWAY dashboard is a pure consumer of what OAP reports — it invents no data, and a widget with no backing data simply reads `no data`. To populate it, OAP needs the Agent Router GenAI meter families, derived from the gateway's OpenTelemetry GenAI signals:
 
 - **Gateway (service) metrics** — the `meter_envoy_ai_gw_*` family at service scope: request load (`meter_envoy_ai_gw_request_cpm`), latency average and percentile (`meter_envoy_ai_gw_request_latency_avg`, `meter_envoy_ai_gw_request_latency_percentile`), input / output token rates (`meter_envoy_ai_gw_input_token_rate`, `meter_envoy_ai_gw_output_token_rate`), and the streaming-quality timings (`meter_envoy_ai_gw_ttft_*`, `meter_envoy_ai_gw_tpot_*`).
 
@@ -120,4 +120,4 @@ The ENVOY_AI_GATEWAY dashboard is a pure consumer of what OAP reports — it inv
 
 - **Node (instance) metrics** — the `meter_envoy_ai_gw_instance_*` family for the per-node widgets (request load, latency, tokens, percentile, TTFT, TPOT).
 
-Each metric is queried at its own OAP scope; OAP does not roll a metric up across scopes, so a node-scope metric is empty until that level of data is reported. For how to enable the upstream collector, see the [Envoy AI Gateway monitoring](https://skywalking.apache.org/docs/main/next/en/setup/backend/backend-envoy-ai-gateway-monitoring/) setup docs.
+Each metric is queried at its own OAP scope; OAP does not roll a metric up across scopes, so a node-scope metric is empty until that level of data is reported. The layer key `ENVOY_AI_GATEWAY` and the `meter_envoy_ai_gw_*` metric names keep the old name, and so does the SkyWalking setup guide; the rename left the gateway's configuration and signals unchanged. For how to enable the upstream collector, see the SkyWalking [Envoy AI Gateway monitoring](https://skywalking.apache.org/docs/main [...]
diff --git a/docs/menu.yml b/docs/menu.yml
index bfd50b6a..935f58ba 100644
--- a/docs/menu.yml
+++ b/docs/menu.yml
@@ -148,7 +148,7 @@ catalog:
         catalog:
           - name: "APISIX"
             path: "/dashboards/apisix"
-          - name: "Envoy AI Gateway"
+          - name: "Agent Router"
             path: "/dashboards/envoy_ai_gateway"
           - name: "Kong"
             path: "/dashboards/kong"
diff --git a/docs/operate/infra-3d-map.md b/docs/operate/infra-3d-map.md
index f916968b..055b6a6a 100644
--- a/docs/operate/infra-3d-map.md
+++ b/docs/operate/infra-3d-map.md
@@ -41,7 +41,7 @@ Horizon ships four bundled tiers:
 |---|---|---|
 | **Apps** (top) | The application surfaces and their direct dependencies as the app sees them | General (agent) services, Browser/RUM, iOS, mini-programs, and the Virtual* targets (database / cache / MQ / gateway / GenAI) |
 | **Middleware** | The data and messaging services, gateways, and self-observability | MySQL, PostgreSQL, Redis, MongoDB, Elasticsearch, Kafka, RocketMQ, RabbitMQ, Pulsar, APISIX, Nginx, Kong, Flink, the SkyWalking SO11Y components, and cloud-managed data services |
-| **Service Mesh** | The mesh that fronts the apps | Istio managed services, Istio data plane (Envoy sidecars), Istio control plane, Cilium, Envoy AI Gateway |
+| **Service Mesh** | The mesh that fronts the apps | Istio managed services, Istio data plane (Envoy sidecars), Istio control plane, Cilium, Agent Router |
 | **Infra** (bottom) | The platform the rest runs on | Kubernetes cluster + service, Linux/Windows hosts, virtual machines, EKS |
 
 Every layer OAP reports is placed onto exactly one tier. A layer that