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/05/18 14:12:57 UTC
(skywalking-query-protocol) 01/01: alarm + ui: clarify alarm entity-filter semantics; drop menu API
This is an automated email from the ASF dual-hosted git repository.
wu-sheng pushed a commit to branch alarm-docs-and-drop-menu
in repository https://gitbox.apache.org/repos/asf/skywalking-query-protocol.git
commit 38ca5e76a0115a5a3203fc1dbde680d613cf690a
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Mon May 18 22:12:46 2026 +0800
alarm + ui: clarify alarm entity-filter semantics; drop menu API
* alarm.graphqls — AlarmQueryCondition.entities text said relation
entities match whether the entity appears as source or dest, but the
OAP DAO has always implemented exact-ordered match
(id0 = sourceId AND id1 = destId). Rewrite the entity comment to
match the implemented semantics and point operators at the
non-relation widening pattern.
* ui-configuration.graphqls — drop the menu surface (MenuItem type +
getMenuItems query). Sidebar menu management is removed from OAP in
apache/skywalking 11.0.0 in favor of Horizon UI client-side gating.
All template CRUD (DashboardConfiguration / NewDashboardSetting /
DashboardSetting / TemplateChangeStatus / getTemplate /
getAllTemplates / addTemplate / changeTemplate / disableTemplate)
stays — operators still need it.
---
alarm.graphqls | 23 ++++++++++++++---------
ui-configuration.graphqls | 22 ----------------------
2 files changed, 14 insertions(+), 31 deletions(-)
diff --git a/alarm.graphqls b/alarm.graphqls
index 0d075c2..2e18322 100644
--- a/alarm.graphqls
+++ b/alarm.graphqls
@@ -57,16 +57,21 @@ input AlarmQueryCondition {
paging: Pagination!
# Pin to specific entities. Each `Entity` (defined in metrics-v3.graphqls)
- # resolves to its underlying serviceId / instanceId / endpointId /
- # processId at query time; the alarm filter matches the alarm record's
- # primary (id0) OR relation-destination (id1) column against the resolved
- # IDs. For relation entities (set via `destServiceName` etc.) the source
- # and dest IDs are both contributed, so the alarm is matched whether the
- # entity appears as the source or the dest of the relation.
+ # resolves to one EntityIdConstraint at query time:
+ # * Non-relation scopes (Service / ServiceInstance / Endpoint / Process)
+ # match the alarm record's id0 OR id1 column against the resolved id
+ # — a service appears in either column depending on which side of the
+ # alarm rule fired, so we accept both.
+ # * Relation scopes (`destServiceName` etc.) match exactly
+ # `id0 = sourceId AND id1 = destId` — ordered, NOT "any side". A
+ # ServiceRelation entity `{serviceName: A, destServiceName: B}` only
+ # matches alarms keyed `(A, B)`. To find anything involving A, pass a
+ # non-relation `{serviceName: A}` entity instead, which expands to
+ # `id0 = A OR id1 = A`.
#
- # Across the list values OR together. Entity's own `scope` field is
- # auto-inferred from which name fields are populated, mirroring its MQE
- # behavior.
+ # Across the list, the per-entity constraints are OR'd together. Entity's
+ # own `scope` field is auto-inferred from which name fields are
+ # populated, mirroring its MQE behavior.
entities: [Entity!]
# Filter on the underlying entity's layer. An alarm record is persisted
diff --git a/ui-configuration.graphqls b/ui-configuration.graphqls
index 69be2b4..bb0d3ff 100644
--- a/ui-configuration.graphqls
+++ b/ui-configuration.graphqls
@@ -23,33 +23,11 @@ type DashboardConfiguration {
configuration: String!
}
-type MenuItem {
- # Title name
- title: String!
- # Showing icon name
- icon: String
- # Linked layer name
- layer: String!
- # Activated menu should be listed on the menu,
- # otherwise, it should stay in marketplace.
- activate: Boolean!
- # Sub menu items
- subItems: [MenuItem!]!
- # Description of the item
- description: String
- # The document link for the latest version of this feature.
- documentLink: String
- # The i18n key for the title and description of this feature display in the UI.
- i18nKey: String
-}
-
extend type Query {
# Read an existing UI template according to given id.
getTemplate(id: String!): DashboardConfiguration
# Read all configuration templates。
getAllTemplates: [DashboardConfiguration!]!
- # Read all menu items
- getMenuItems: [MenuItem!]!
}
# Used for add new template