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

wu-sheng pushed a commit to branch alarm-entity-relation-docs
in repository https://gitbox.apache.org/repos/asf/skywalking-query-protocol.git

commit 73cc85e250e7223d6e4b750c3a41ab0e86a653aa
Author: Wu Sheng <[email protected]>
AuthorDate: Mon May 18 21:52:09 2026 +0800

    alarm: tighten entity filter docs; drop orphan ui-configuration.graphqls
    
    * AlarmQueryCondition.entities — schema text said relation entities
      match whether the entity appears as source or dest, but the OAP DAO
      has always implemented exact-ordered match (id0=src AND id1=dest).
      Rewrite the entity comment to match the implemented semantics and
      point operators at the non-relation widening pattern. Non-relation
      matching (id0 OR id1) is unchanged and documented explicitly.
    
    * ui-configuration.graphqls — DashboardConfiguration / MenuItem /
      template + menu Query/Mutation types are no longer loaded by
      GraphQLQueryProvider (apache/skywalking 11.0.0 moves UI template
      management to a REST surface on the admin host; menu management is
      removed entirely in favor of Horizon UI client-side gating). The
      file was left in the submodule but is unreachable from any
      resolver. Delete it.
---
 alarm.graphqls            | 23 ++++++++------
 ui-configuration.graphqls | 79 -----------------------------------------------
 2 files changed, 14 insertions(+), 88 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
deleted file mode 100644
index 69be2b4..0000000
--- a/ui-configuration.graphqls
+++ /dev/null
@@ -1,79 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# 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.
-
-# Dashboard Configuration provides the management capabilities for SkyWalking 
native UI.
-
-type DashboardConfiguration {
-    # ID is a generated UUID.
-    id: String!
-    # JSON based configuration. The format of text is the export result on the 
UI page.
-    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
-input NewDashboardSetting {
-    # JSON based configuration. The format of text is the export result on the 
UI page.
-    configuration: String!
-}
-
-input DashboardSetting {
-    id: String!
-    # JSON based configuration. The format of text is the export result on the 
UI page.
-    configuration: String!
-}
-
-type TemplateChangeStatus {
-    id: String!
-    # True means change successfully.
-    status: Boolean!
-    message: String
-}
-
-# Template Management page provides the creation, update and deletion for the 
different template typs.
-extend type Mutation {
-    addTemplate(setting: NewDashboardSetting!): TemplateChangeStatus!
-    changeTemplate(setting: DashboardSetting!): TemplateChangeStatus!
-    disableTemplate(id: String!): TemplateChangeStatus!
-}

Reply via email to