diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index a91eefb0679e..b046523837e9 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -2,6 +2,7 @@
#### Project
+* Remove the always-on alarm-to-event conversion (`EventHookCallback`). A triggered alarm is no longer synthesized into the events pipeline as an `Alarm`/`AlarmRecovery` event; events now originate only from real event sources (agents, SkyWalking CLI, Kubernetes Event Exporter). Alarms remain available through the alarm store (`getAlarm`/`queryAlarms`) and the configured alarm hooks. This drops a documented "Known Event" and removes 1-2 synthetic event records per alarm fire.
* **New `queryAlarms` GraphQL query — entity / layer / rule filters for alarms.** Adds
a comprehensive alarm query API alongside the legacy `getAlarm`. The new
`queryAlarms(condition: AlarmQueryCondition!): Alarms` accepts a single input type
diff --git a/docs/en/concepts-and-designs/event.md b/docs/en/concepts-and-designs/event.md
index 26b2c20586f7..837c44f395f6 100644
--- a/docs/en/concepts-and-designs/event.md
+++ b/docs/en/concepts-and-designs/event.md
@@ -66,7 +66,6 @@ service / instance / endpoint.
| :----: | :----: | :-----| :---- |
| Start | Normal | When your Java Application starts with SkyWalking Agent installed, the `Start` Event will be created. | Reported from SkyWalking agent. |
| Shutdown | Normal | When your Java Application stops with SkyWalking Agent installed, the `Shutdown` Event will be created. | Reported from SkyWalking agent. |
-| Alarm | Error | When the Alarm is triggered, the corresponding `Alarm` Event will is created. | Reported from internal SkyWalking OAP. |
The following events are all reported
by [Kubernetes Event Exporter](http://github.com/apache/skywalking-kubernetes-event-exporter), in order to see these
diff --git a/oap-server/server-alarm-plugin/pom.xml b/oap-server/server-alarm-plugin/pom.xml
index 9f4494dd6de9..a13181fca365 100644
--- a/oap-server/server-alarm-plugin/pom.xml
+++ b/oap-server/server-alarm-plugin/pom.xml
@@ -38,11 +38,6 @@
library-util
${project.version}
-
- org.apache.skywalking
- event-analyzer
- ${project.version}
-
org.apache.skywalking
mqe-rt
diff --git a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/EventHookCallback.java b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/EventHookCallback.java
deleted file mode 100644
index 5018a3fb2315..000000000000
--- a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/EventHookCallback.java
+++ /dev/null
@@ -1,194 +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.
- *
- */
-
-package org.apache.skywalking.oap.server.core.alarm.provider;
-
-import java.io.IOException;
-
-import org.apache.skywalking.apm.network.event.v3.Event;
-import org.apache.skywalking.apm.network.event.v3.Source;
-import org.apache.skywalking.apm.network.event.v3.Type;
-import org.apache.skywalking.oap.server.analyzer.event.EventAnalyzerModule;
-import org.apache.skywalking.oap.server.analyzer.event.EventAnalyzerService;
-import org.apache.skywalking.oap.server.core.CoreModule;
-import org.apache.skywalking.oap.server.core.alarm.AlarmCallback;
-import org.apache.skywalking.oap.server.core.alarm.AlarmMessage;
-import org.apache.skywalking.oap.server.core.alarm.AlarmRecoveryMessage;
-import org.apache.skywalking.oap.server.core.analysis.IDManager;
-import org.apache.skywalking.oap.server.core.analysis.Layer;
-import org.apache.skywalking.oap.server.core.query.MetadataQueryService;
-import org.apache.skywalking.oap.server.core.query.type.Service;
-import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine;
-import org.apache.skywalking.oap.server.library.module.ModuleManager;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-
-/**
- * EventCallBack: When an alert is present, an event is generated for each alert message. These events are then sent to the internal event analyzer.
- */
-public class EventHookCallback implements AlarmCallback {
-
- private final ModuleManager manager;
- private MetadataQueryService metadataQueryService;
-
- private MetadataQueryService getMetadataQueryService() {
- if (metadataQueryService == null) {
- this.metadataQueryService = manager.find(CoreModule.NAME)
- .provider()
- .getService(MetadataQueryService.class);
- }
- return metadataQueryService;
- }
-
- public EventHookCallback(ModuleManager manager) {
- this.manager = manager;
- }
-
- public void doAlarm(List alarmMessage) throws Exception {
- doAlarmCallback(alarmMessage, false);
- }
-
- public void doAlarmRecovery(List alarmRecoveryMessages) throws Exception {
- doAlarmCallback(alarmRecoveryMessages, true);
- }
-
- private void doAlarmCallback(List alarmMessage, boolean isRecovery) throws Exception {
- EventAnalyzerService analyzerService = manager.find(EventAnalyzerModule.NAME).provider().getService(EventAnalyzerService.class);
- for (AlarmMessage a : alarmMessage) {
- for (Event event : constructCurrentEvent(a, isRecovery)) {
- analyzerService.analyze(event);
- }
- }
- }
-
- private String getLayer(String serviceId) throws IOException {
- Service service = getMetadataQueryService().getService(serviceId);
- if (service != null) {
- return service.getLayers().iterator().next();
- } else {
- return Layer.UNDEFINED.name();
- }
- }
-
- private List constructCurrentEvent(AlarmMessage msg, boolean isRecovery) throws IOException {
- List events = new ArrayList<>(2);
- long now = System.currentTimeMillis();
- Event.Builder builder = Event.newBuilder()
- .setUuid(UUID.randomUUID().toString())
- .setName(isRecovery ? "AlarmRecovery" : "Alarm")
- .setStartTime(isRecovery ? ((AlarmRecoveryMessage) msg).getRecoveryTime() : now - (msg.getPeriod() * 60 * 1000))
- .setMessage(msg.getAlarmMessage())
- .setType(isRecovery ? Type.Normal : Type.Error)
- .setEndTime(isRecovery ? ((AlarmRecoveryMessage) msg).getRecoveryTime() : now);
- switch (msg.getScopeId()) {
- case DefaultScopeDefine.SERVICE:
- IDManager.ServiceID.ServiceIDDefinition serviceIdDef = IDManager.ServiceID.analysisId(msg.getId0());
- builder.setSource(
- Source.newBuilder()
- .setService(serviceIdDef.getName())
- .build()
- );
- builder.setLayer(getLayer(msg.getId0()));
- events.add(builder.build());
- break;
- case DefaultScopeDefine.SERVICE_RELATION:
- IDManager.ServiceID.ServiceIDDefinition sourceServiceIdDef = IDManager.ServiceID.analysisId(msg.getId0());
- builder.setSource(
- Source.newBuilder()
- .setService(sourceServiceIdDef.getName())
- .build()
- );
- builder.setLayer(getLayer(msg.getId0()));
- events.add(builder.build());
- IDManager.ServiceID.ServiceIDDefinition destServiceIdDef = IDManager.ServiceID.analysisId(msg.getId1());
- builder.setSource(
- Source.newBuilder()
- .setService(destServiceIdDef.getName())
- .build()
- ).setUuid(UUID.randomUUID().toString());
- builder.setLayer(getLayer(msg.getId1()));
- events.add(builder.build());
- break;
- case DefaultScopeDefine.SERVICE_INSTANCE:
- IDManager.ServiceInstanceID.InstanceIDDefinition instanceIdDef = IDManager.ServiceInstanceID.analysisId(msg.getId0());
- builder.setSource(
- Source.newBuilder()
- .setServiceInstance(instanceIdDef.getName())
- .setService(IDManager.ServiceID.analysisId(instanceIdDef.getServiceId()).getName())
- .build()
- );
- builder.setLayer(getLayer(instanceIdDef.getServiceId()));
- events.add(builder.build());
- break;
- case DefaultScopeDefine.SERVICE_INSTANCE_RELATION:
- IDManager.ServiceInstanceID.InstanceIDDefinition sourceInstanceIdDef = IDManager.ServiceInstanceID.analysisId(msg.getId0());
- builder.setSource(
- Source.newBuilder()
- .setServiceInstance(sourceInstanceIdDef.getName())
- .setService(IDManager.ServiceID.analysisId(sourceInstanceIdDef.getServiceId()).getName())
- .build()
- );
- builder.setLayer(getLayer(sourceInstanceIdDef.getServiceId()));
- events.add(builder.build());
- IDManager.ServiceInstanceID.InstanceIDDefinition destInstanceIdDef = IDManager.ServiceInstanceID.analysisId(msg.getId1());
- builder.setSource(
- Source.newBuilder()
- .setServiceInstance(destInstanceIdDef.getName())
- .setService(IDManager.ServiceID.analysisId(destInstanceIdDef.getServiceId()).getName())
- .build()
- ).setUuid(UUID.randomUUID().toString());
- builder.setLayer(getLayer(destInstanceIdDef.getServiceId()));
- events.add(builder.build());
- break;
- case DefaultScopeDefine.ENDPOINT:
- IDManager.EndpointID.EndpointIDDefinition endpointIDDef = IDManager.EndpointID.analysisId(msg.getId0());
- builder.setSource(
- Source.newBuilder()
- .setEndpoint(endpointIDDef.getEndpointName())
- .setService(IDManager.ServiceID.analysisId(endpointIDDef.getServiceId()).getName())
- .build()
- );
- builder.setLayer(getLayer(endpointIDDef.getServiceId()));
- events.add(builder.build());
- break;
- case DefaultScopeDefine.ENDPOINT_RELATION:
- IDManager.EndpointID.EndpointIDDefinition sourceEndpointIDDef = IDManager.EndpointID.analysisId(msg.getId0());
- builder.setSource(
- Source.newBuilder()
- .setEndpoint(sourceEndpointIDDef.getEndpointName())
- .setService(IDManager.ServiceID.analysisId(sourceEndpointIDDef.getServiceId()).getName())
- .build()
- );
- builder.setLayer(getLayer(sourceEndpointIDDef.getServiceId()));
- events.add(builder.build());
- IDManager.EndpointID.EndpointIDDefinition destEndpointIDDef = IDManager.EndpointID.analysisId(msg.getId1());
- builder.setSource(
- Source.newBuilder()
- .setEndpoint(destEndpointIDDef.getEndpointName())
- .setService(IDManager.ServiceID.analysisId(destEndpointIDDef.getServiceId()).getName())
- .build()
- ).setUuid(UUID.randomUUID().toString());
- builder.setLayer(getLayer(destEndpointIDDef.getServiceId()));
- events.add(builder.build());
- break;
- }
- return events;
- }
-}
diff --git a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandler.java b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandler.java
index 8e55f7ffb2c8..0d3473734a46 100644
--- a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandler.java
+++ b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/NotifyHandler.java
@@ -241,7 +241,6 @@ public void init(AlarmCallback... callbacks) {
allCallbacks.add(new WechatHookCallback(alarmRulesWatcher));
allCallbacks.add(new DingtalkHookCallback(alarmRulesWatcher));
allCallbacks.add(new FeishuHookCallback(alarmRulesWatcher));
- allCallbacks.add(new EventHookCallback(this.manager));
allCallbacks.add(new WeLinkHookCallback(alarmRulesWatcher));
allCallbacks.add(new PagerDutyHookCallback(alarmRulesWatcher));
allCallbacks.add(new DiscordHookCallback(alarmRulesWatcher));
diff --git a/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/EventHookCallbackTest.java b/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/EventHookCallbackTest.java
deleted file mode 100644
index de333eccb788..000000000000
--- a/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/EventHookCallbackTest.java
+++ /dev/null
@@ -1,157 +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.
- *
- */
-
-package org.apache.skywalking.oap.server.core.alarm.provider;
-
-import org.apache.skywalking.apm.network.event.v3.Event;
-import org.apache.skywalking.oap.server.analyzer.event.EventAnalyzerService;
-import org.apache.skywalking.oap.server.analyzer.event.EventAnalyzerServiceImpl;
-import org.apache.skywalking.oap.server.core.CoreModule;
-import org.apache.skywalking.oap.server.core.alarm.AlarmMessage;
-import org.apache.skywalking.oap.server.core.analysis.IDManager;
-import org.apache.skywalking.oap.server.core.analysis.Layer;
-import org.apache.skywalking.oap.server.core.query.MetadataQueryService;
-import org.apache.skywalking.oap.server.core.query.type.Service;
-import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine;
-import org.apache.skywalking.oap.server.library.module.ModuleManager;
-import org.apache.skywalking.oap.server.library.module.ModuleProviderHolder;
-import org.apache.skywalking.oap.server.library.module.ModuleServiceHolder;
-import org.junit.jupiter.api.Test;
-import org.mockito.ArgumentCaptor;
-
-import java.util.Arrays;
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-public class EventHookCallbackTest {
-
- private ModuleManager moduleManager = mock(ModuleManager.class);
-
- private ModuleProviderHolder moduleProviderHolder = mock(ModuleProviderHolder.class);
-
- private ModuleServiceHolder moduleServiceHolder = mock(ModuleServiceHolder.class);
-
- private MockEventAnalyzerService mockEventAnalyzerService = mock(MockEventAnalyzerService.class);
-
- private EventAnalyzerService eventAnalyzerService = mock(EventAnalyzerServiceImpl.class);
-
- private MetadataQueryService metadataQueryService = mock(MetadataQueryService.class);
-
- @Test
- public void testEventCallbackHasRightFlow() throws Exception {
- List msgs = mockAlarmMessagesHasSingleElement();
- EventHookCallback callback = new EventHookCallback(this.moduleManager);
- when(moduleManager.find("event-analyzer")).thenReturn(moduleProviderHolder);
- when(moduleProviderHolder.provider()).thenReturn(moduleServiceHolder);
- when(moduleServiceHolder.getService(EventAnalyzerService.class)).thenReturn(mockEventAnalyzerService);
- when(moduleManager.find(CoreModule.NAME)).thenReturn(moduleProviderHolder);
- when(moduleServiceHolder.getService(MetadataQueryService.class)).thenReturn(metadataQueryService);
- Service service = mockService();
- when(metadataQueryService.getService(service.getId())).thenReturn(service);
- //make sure current service be called.
- callback.doAlarm(msgs);
- verify(mockEventAnalyzerService).analyze(any(Event.class));
-
- when(moduleServiceHolder.getService(EventAnalyzerService.class)).thenReturn(eventAnalyzerService);
- callback.doAlarm(msgs);
- //Ensure that the current Event is properly constructed
- ArgumentCaptor argument = ArgumentCaptor.forClass(Event.class);
- verify(eventAnalyzerService).analyze(argument.capture());
- Event value = argument.getValue();
- AlarmMessage msg = msgs.get(0);
- assertEquals(msg.getName(), value.getSource().getService());
- assertEquals("Alarm", value.getName());
- assertEquals(msg.getAlarmMessage(), value.getMessage());
- assertEquals(msg.getPeriod(), (value.getEndTime() - value.getStartTime()) / 1000 / 60);
- assertEquals(service.getLayers().iterator().next(), value.getLayer());
-
- }
-
- @Test
- public void testRelationEventBeProperlyConstructed() throws Exception {
- List msgs = mockAlarmMessagesHasSourceAndDest();
- EventHookCallback callback = new EventHookCallback(this.moduleManager);
- when(moduleManager.find("event-analyzer")).thenReturn(moduleProviderHolder);
- when(moduleProviderHolder.provider()).thenReturn(moduleServiceHolder);
- when(moduleServiceHolder.getService(EventAnalyzerService.class)).thenReturn(eventAnalyzerService);
- when(moduleManager.find(CoreModule.NAME)).thenReturn(moduleProviderHolder);
- when(moduleServiceHolder.getService(MetadataQueryService.class)).thenReturn(metadataQueryService);
- Service service = mockService();
- when(metadataQueryService.getService(service.getId())).thenReturn(service);
- callback.doAlarm(msgs);
-
- ArgumentCaptor argument = ArgumentCaptor.forClass(Event.class);
- verify(eventAnalyzerService, times(2)).analyze(argument.capture());
- List events = argument.getAllValues();
- assertEquals(events.size(), 2);
- Event sourceEvent = events.get(0);
- Event destEvent = events.get(1);
- AlarmMessage msg = msgs.get(0);
- assertEquals(sourceEvent.getSource().getService(), IDManager.ServiceID.analysisId(msg.getId0()).getName());
- assertEquals((sourceEvent.getEndTime() - sourceEvent.getStartTime()) / 1000 / 60, msg.getPeriod());
- assertEquals(destEvent.getSource().getService(), IDManager.ServiceID.analysisId(msg.getId1()).getName());
- assertEquals((destEvent.getEndTime() - destEvent.getStartTime()) / 1000 / 60, msg.getPeriod());
- assertEquals(service.getLayers().iterator().next(), sourceEvent.getLayer());
- assertEquals(Layer.UNDEFINED.name(), destEvent.getLayer());
- }
-
- private List mockAlarmMessagesHasSingleElement() {
- AlarmMessage msg = new AlarmMessage();
- msg.setScopeId(DefaultScopeDefine.SERVICE);
- msg.setScope("SERVICE");
- msg.setName("test-skywalking");
- msg.setId0("dGVzdC1za3l3YWxraW5n.1");
- msg.setAlarmMessage("Alarm caused by Rule service_resp_time_rule");
- msg.setPeriod(3);
- return Arrays.asList(msg);
- }
-
- private List mockAlarmMessagesHasSourceAndDest() {
- AlarmMessage msg = new AlarmMessage();
- msg.setScopeId(DefaultScopeDefine.SERVICE_RELATION);
- msg.setScope("");
- msg.setName("test-skywalking");
- msg.setId0(IDManager.ServiceID.buildId("test-skywalking", true));
- msg.setId1(IDManager.ServiceID.buildId("destIdStr", true));
- msg.setAlarmMessage("Alarm caused by Rule service_resp_time_rule");
- msg.setPeriod(5);
- return Arrays.asList(msg);
- }
-
- private Service mockService() {
- Service service = new Service();
- service.setName("test-skywalking");
- service.setId(IDManager.ServiceID.buildId(service.getName(), true));
- service.getLayers().add(Layer.GENERAL.name());
- return service;
- }
-
- class MockEventAnalyzerService implements EventAnalyzerService {
-
- @Override
- public void analyze(Event event) {
- //ignore current mock process.
- }
- }
-}
diff --git a/test/e2e-v2/CLAUDE.md b/test/e2e-v2/CLAUDE.md
index 894e52783215..37e43194a2ec 100644
--- a/test/e2e-v2/CLAUDE.md
+++ b/test/e2e-v2/CLAUDE.md
@@ -354,19 +354,6 @@ msgs:
tags:
- key: level
value: WARNING
- events:
- {{- contains .events }}
- - uuid: {{ notEmpty .uuid }}
- source:
- service: e2e-service-provider
- serviceinstance: ""
- endpoint: ""
- name: Alarm
- message: {{ notEmpty .message }}
- starttime: {{ gt .starttime 0 }}
- endtime: {{ gt .endtime 0 }}
- layer: GENERAL
- {{- end }}
{{- end }}
```
diff --git a/test/e2e-v2/cases/alarm/expected/silence-after-graphql-critical.yml b/test/e2e-v2/cases/alarm/expected/silence-after-graphql-critical.yml
index a4b608c285c6..f4f40153876c 100644
--- a/test/e2e-v2/cases/alarm/expected/silence-after-graphql-critical.yml
+++ b/test/e2e-v2/cases/alarm/expected/silence-after-graphql-critical.yml
@@ -25,21 +25,7 @@ msgs:
value: CRITICAL
- key: receivers
value: zhangsan
- events:
- {{- contains .events }}
- - uuid: {{ notEmpty .uuid}}
- source:
- service: e2e-service-provider
- serviceinstance: ""
- endpoint: ""
- name: Alarm
- type: ""
- message: {{ notEmpty .message}}
- parameters: []
- starttime: {{ gt .starttime 0 }}
- endtime: {{ gt .endtime 0 }}
- layer: GENERAL
- {{- end }}
+ events: []
snapshot:
expression: sum((service_resp_time > 100) && (service_sla > 1)) >= 1
metrics:
diff --git a/test/e2e-v2/cases/alarm/expected/silence-after-graphql-warn.yml b/test/e2e-v2/cases/alarm/expected/silence-after-graphql-warn.yml
index 50b81cb282d4..d4f79281afd3 100644
--- a/test/e2e-v2/cases/alarm/expected/silence-after-graphql-warn.yml
+++ b/test/e2e-v2/cases/alarm/expected/silence-after-graphql-warn.yml
@@ -25,21 +25,7 @@ msgs:
value: WARNING
- key: receivers
value: lisi
- events:
- {{- contains .events }}
- - uuid: {{ notEmpty .uuid }}
- source:
- service: e2e-service-provider
- serviceinstance: ""
- endpoint: ""
- name: Alarm
- type: ""
- message: {{ notEmpty .message }}
- parameters: []
- starttime: {{ gt .starttime 0 }}
- endtime: {{ gt .endtime 0 }}
- layer: GENERAL
- {{- end }}
+ events: []
snapshot:
expression: sum(service_percentile{p='50,75,90,95,99'} > 100) >= 3
metrics:
@@ -70,21 +56,7 @@ msgs:
value: WARNING
- key: receivers
value: lisi
- events:
- {{- contains .events }}
- - uuid: {{ notEmpty .uuid}}
- source:
- service: e2e-service-provider
- serviceinstance: ""
- endpoint: ""
- name: Alarm
- type: ""
- message: {{ notEmpty .message}}
- parameters: []
- starttime: {{ gt .starttime 0 }}
- endtime: {{ gt .endtime 0 }}
- layer: GENERAL
- {{- end }}
+ events: []
snapshot:
expression: sum(abs(increase(service_resp_time,1)) > 0) >= 1
metrics:
diff --git a/test/e2e-v2/cases/alarm/expected/silence-before-graphql-critical.yml b/test/e2e-v2/cases/alarm/expected/silence-before-graphql-critical.yml
index a4b608c285c6..f4f40153876c 100644
--- a/test/e2e-v2/cases/alarm/expected/silence-before-graphql-critical.yml
+++ b/test/e2e-v2/cases/alarm/expected/silence-before-graphql-critical.yml
@@ -25,21 +25,7 @@ msgs:
value: CRITICAL
- key: receivers
value: zhangsan
- events:
- {{- contains .events }}
- - uuid: {{ notEmpty .uuid}}
- source:
- service: e2e-service-provider
- serviceinstance: ""
- endpoint: ""
- name: Alarm
- type: ""
- message: {{ notEmpty .message}}
- parameters: []
- starttime: {{ gt .starttime 0 }}
- endtime: {{ gt .endtime 0 }}
- layer: GENERAL
- {{- end }}
+ events: []
snapshot:
expression: sum((service_resp_time > 100) && (service_sla > 1)) >= 1
metrics:
diff --git a/test/e2e-v2/cases/alarm/expected/silence-before-graphql-warn.yml b/test/e2e-v2/cases/alarm/expected/silence-before-graphql-warn.yml
index 6d19c8185deb..dd6e258b8532 100644
--- a/test/e2e-v2/cases/alarm/expected/silence-before-graphql-warn.yml
+++ b/test/e2e-v2/cases/alarm/expected/silence-before-graphql-warn.yml
@@ -25,21 +25,7 @@ msgs:
value: WARNING
- key: receivers
value: lisi
- events:
- {{- contains .events }}
- - uuid: {{ notEmpty .uuid }}
- source:
- service: e2e-service-provider
- serviceinstance: ""
- endpoint: ""
- name: Alarm
- type: ""
- message: {{ notEmpty .message }}
- parameters: []
- starttime: {{ gt .starttime 0 }}
- endtime: {{ gt .endtime 0 }}
- layer: GENERAL
- {{- end }}
+ events: []
snapshot:
expression: sum(service_percentile{p='50,75,90,95,99'} > 100) >= 3
metrics:
@@ -70,21 +56,7 @@ msgs:
value: WARNING
- key: receivers
value: lisi
- events:
- {{- contains .events }}
- - uuid: {{ notEmpty .uuid}}
- source:
- service: e2e-service-provider
- serviceinstance: ""
- endpoint: ""
- name: Alarm
- type: ""
- message: {{ notEmpty .message}}
- parameters: []
- starttime: {{ gt .starttime 0 }}
- endtime: {{ gt .endtime 0 }}
- layer: GENERAL
- {{- end }}
+ events: []
snapshot:
expression: sum(abs(increase(service_resp_time,1)) > 0) >= 1
metrics:
diff --git a/test/e2e-v2/cases/baseline/expected/critical.yml b/test/e2e-v2/cases/baseline/expected/critical.yml
index 6d3431adc44b..8a0ccd4d2ee2 100644
--- a/test/e2e-v2/cases/baseline/expected/critical.yml
+++ b/test/e2e-v2/cases/baseline/expected/critical.yml
@@ -25,21 +25,7 @@ msgs:
value: CRITICAL
- key: receivers
value: zhangsan
- events:
- {{- contains .events }}
- - uuid: {{ notEmpty .uuid }}
- source:
- service: e2e-test-dest-service
- serviceinstance: ""
- endpoint: ""
- name: Alarm
- type: ""
- message: {{ notEmpty .message }}
- parameters: []
- starttime: {{ gt .starttime 0 }}
- endtime: {{ gt .endtime 0 }}
- layer: {{ notEmpty .layer }}
- {{- end }}
+ events: []
snapshot:
expression: sum(service_resp_time > baseline(service_resp_time,lower)) >= 1
metrics: