You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ho...@apache.org on 2022/04/19 08:50:08 UTC
[skywalking] branch master updated: Add layer field to event (#8881)
This is an automated email from the ASF dual-hosted git repository.
hoshea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git
The following commit(s) were added to refs/heads/master by this push:
new 8247bc3c71 Add layer field to event (#8881)
8247bc3c71 is described below
commit 8247bc3c719081ff3e2b7d1848ed0c05fc229784
Author: Hoshea Jiang <fg...@gmail.com>
AuthorDate: Tue Apr 19 16:49:52 2022 +0800
Add layer field to event (#8881)
---
apm-protocol/apm-network/src/main/proto | 2 +-
docs/en/changes/changes.md | 1 +
.../event/listener/EventRecordAnalyzerListener.java | 3 +++
.../server/core/alarm/provider/EventHookCallback.java | 4 +++-
.../oap/server/core/query/type/event/Event.java | 3 +--
.../skywalking/oap/server/core/source/Event.java | 15 +++++++++++++++
.../receiver/event/grpc/EventGrpcServiceHandler.java | 18 ++++++++++++++++++
.../receiver/event/rest/EventRestServiceHandler.java | 13 ++++++++++++-
.../plugin/elasticsearch/query/ESEventQueryDAO.java | 7 +++++++
.../storage/plugin/influxdb/query/EventQueryDAO.java | 13 +++++++++++++
.../storage/plugin/iotdb/query/IoTDBEventQueryDAO.java | 4 ++++
.../storage/plugin/jdbc/h2/dao/H2EventQueryDAO.java | 8 +++++++-
.../alarm/expected/silence-after-graphql-critical.yml | 2 ++
.../alarm/expected/silence-after-graphql-warn.yml | 2 ++
.../alarm/expected/silence-before-graphql-critical.yml | 1 +
.../alarm/expected/silence-before-graphql-warn.yml | 1 +
test/e2e-v2/cases/event/event-cases.yaml | 3 ++-
test/e2e-v2/cases/event/expected/events.yml | 1 +
test/e2e-v2/cases/event/expected/report-event.yml | 3 ++-
.../satellite/native-protocols/expected/event-list.yml | 2 ++
test/e2e-v2/cases/storage/expected/event-list.yml | 2 ++
test/e2e-v2/script/env | 4 ++--
.../script/prepare/setup-e2e-shell/install-swctl.sh | 13 +++++++++++--
23 files changed, 113 insertions(+), 12 deletions(-)
diff --git a/apm-protocol/apm-network/src/main/proto b/apm-protocol/apm-network/src/main/proto
index 2981c652ca..f9066463de 160000
--- a/apm-protocol/apm-network/src/main/proto
+++ b/apm-protocol/apm-network/src/main/proto
@@ -1 +1 @@
-Subproject commit 2981c652ca6c5125d71bb104dbe441abe3d8a2d4
+Subproject commit f9066463deb7f9d1fbe8110eab3524694b0db298
diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index 8454c2a1ee..f69d8c8084 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -19,6 +19,7 @@
* Fix OAP Self-Observability metric `GC Time` calculation.
* Set `SW_QUERY_MAX_QUERY_COMPLEXITY` default value to `1000`
* Webapp module (for UI) enabled compression.
+* [Breaking Change] Add layer field to event, report an event without layer is not allowed.
#### UI
diff --git a/oap-server/analyzer/event-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/event/listener/EventRecordAnalyzerListener.java b/oap-server/analyzer/event-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/event/listener/EventRecordAnalyzerListener.java
index b8c0d18538..b63501e350 100644
--- a/oap-server/analyzer/event-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/event/listener/EventRecordAnalyzerListener.java
+++ b/oap-server/analyzer/event-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/event/listener/EventRecordAnalyzerListener.java
@@ -22,6 +22,7 @@ import com.google.gson.Gson;
import lombok.RequiredArgsConstructor;
import org.apache.skywalking.apm.network.event.v3.Source;
import org.apache.skywalking.oap.server.core.CoreModule;
+import org.apache.skywalking.oap.server.core.analysis.Layer;
import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
import org.apache.skywalking.oap.server.core.analysis.worker.MetricsStreamProcessor;
import org.apache.skywalking.oap.server.core.config.NamingControl;
@@ -50,6 +51,8 @@ public class EventRecordAnalyzerListener implements EventAnalyzerListener {
@Override
public void parse(final org.apache.skywalking.apm.network.event.v3.Event e) {
+ event.setLayer(Layer.nameOf(e.getLayer()));
+
event.setUuid(e.getUuid());
if (e.hasSource()) {
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
index fe8629657e..b1791eb37a 100644
--- 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
@@ -26,6 +26,7 @@ import org.apache.skywalking.oap.server.analyzer.event.EventAnalyzerService;
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.analysis.IDManager;
+import org.apache.skywalking.oap.server.core.analysis.Layer;
import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
@@ -64,7 +65,8 @@ public class EventHookCallback implements AlarmCallback {
.setStartTime(now - (msg.getPeriod() * 60 * 1000))
.setMessage(msg.getAlarmMessage())
.setType(Type.Error)
- .setEndTime(now);
+ .setEndTime(now)
+ .setLayer(Layer.GENERAL.name());
switch (msg.getScopeId()) {
case DefaultScopeDefine.SERVICE :
IDManager.ServiceID.ServiceIDDefinition serviceIdDef = IDManager.ServiceID.analysisId(msg.getId0());
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/event/Event.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/event/Event.java
index e279de1f9a..d3ecde438d 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/event/Event.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/event/Event.java
@@ -24,7 +24,6 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import lombok.Data;
-import org.apache.skywalking.oap.server.core.analysis.Layer;
import org.apache.skywalking.oap.server.library.util.StringUtil;
import org.apache.skywalking.oap.server.core.query.type.KeyValue;
@@ -48,7 +47,7 @@ public class Event {
private long endTime;
- private String layer = Layer.UNDEFINED.name();
+ private String layer;
public void setParameters(final List<KeyValue> parameters) {
this.parameters = parameters;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Event.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Event.java
index 67dcf159b3..32342bcb9d 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Event.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Event.java
@@ -23,6 +23,7 @@ import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
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.analysis.MetricsExtension;
import org.apache.skywalking.oap.server.core.analysis.Stream;
import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
@@ -75,6 +76,8 @@ public class Event extends Metrics implements ISource, WithMetadata, LongValueHo
public static final String END_TIME = "end_time";
+ public static final String LAYER = "layer";
+
private static final int PARAMETER_MAX_LENGTH = 2000;
@Override
@@ -112,6 +115,9 @@ public class Event extends Metrics implements ISource, WithMetadata, LongValueHo
@Column(columnName = END_TIME)
private long endTime;
+ @Column(columnName = LAYER)
+ private Layer layer;
+
private transient long value = 1;
@Override
@@ -186,6 +192,8 @@ public class Event extends Metrics implements ISource, WithMetadata, LongValueHo
setStartTime(remoteData.getDataLongs(0));
setEndTime(remoteData.getDataLongs(1));
setTimeBucket(remoteData.getDataLongs(2));
+
+ setLayer(Layer.valueOf(remoteData.getDataIntegers(0)));
}
@Override
@@ -205,6 +213,8 @@ public class Event extends Metrics implements ISource, WithMetadata, LongValueHo
builder.addDataLongs(getEndTime());
builder.addDataLongs(getTimeBucket());
+ builder.addDataIntegers(getLayer().value());
+
return builder;
}
@@ -258,6 +268,9 @@ public class Event extends Metrics implements ISource, WithMetadata, LongValueHo
record.setStartTime(((Number) converter.get(START_TIME)).longValue());
record.setEndTime(((Number) converter.get(END_TIME)).longValue());
record.setTimeBucket(((Number) converter.get(TIME_BUCKET)).longValue());
+ if (converter.get(LAYER) != null) {
+ record.setLayer(Layer.valueOf(((Number) converter.get(LAYER)).intValue()));
+ }
return record;
}
@@ -274,6 +287,8 @@ public class Event extends Metrics implements ISource, WithMetadata, LongValueHo
converter.accept(START_TIME, storageData.getStartTime());
converter.accept(END_TIME, storageData.getEndTime());
converter.accept(TIME_BUCKET, storageData.getTimeBucket());
+ Layer layer = storageData.getLayer();
+ converter.accept(LAYER, layer != null ? layer.value() : Layer.UNDEFINED.value());
}
}
}
diff --git a/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/event/grpc/EventGrpcServiceHandler.java b/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/event/grpc/EventGrpcServiceHandler.java
index cc3ac9d00b..95b4672017 100644
--- a/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/event/grpc/EventGrpcServiceHandler.java
+++ b/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/event/grpc/EventGrpcServiceHandler.java
@@ -18,12 +18,15 @@
package org.apache.skywalking.oap.server.receiver.event.grpc;
+import io.grpc.Status;
import io.grpc.stub.StreamObserver;
import lombok.extern.slf4j.Slf4j;
import org.apache.skywalking.apm.network.common.v3.Commands;
import org.apache.skywalking.apm.network.event.v3.Event;
import org.apache.skywalking.apm.network.event.v3.EventServiceGrpc;
import org.apache.skywalking.oap.server.analyzer.event.EventAnalyzerModule;
+import org.apache.skywalking.oap.server.core.UnexpectedException;
+import org.apache.skywalking.oap.server.core.analysis.Layer;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.server.grpc.GRPCHandler;
import org.apache.skywalking.oap.server.analyzer.event.EventAnalyzerService;
@@ -66,6 +69,21 @@ public class EventGrpcServiceHandler extends EventServiceGrpc.EventServiceImplBa
@Override
public void onNext(final Event event) {
try (HistogramMetrics.Timer ignored = histogram.createTimer()) {
+ String errMsg = null;
+ // Check event's layer
+ if (event.getLayer().isEmpty()) {
+ errMsg = "Layer field is required since v9.0.0, please upgrade your event report tools";
+ }
+ try {
+ Layer.nameOf(event.getLayer());
+ } catch (UnexpectedException e) {
+ errMsg = e.getMessage();
+ }
+ if (errMsg != null) {
+ responseObserver.onError(Status.INVALID_ARGUMENT.withDescription(errMsg).asException());
+ return;
+ }
+
eventAnalyzerService.analyze(event);
} catch (Exception e) {
errorCounter.inc();
diff --git a/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/event/rest/EventRestServiceHandler.java b/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/event/rest/EventRestServiceHandler.java
index 5bca3889e1..13ca96bf19 100644
--- a/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/event/rest/EventRestServiceHandler.java
+++ b/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/event/rest/EventRestServiceHandler.java
@@ -18,12 +18,15 @@
package org.apache.skywalking.oap.server.receiver.event.rest;
import com.linecorp.armeria.server.annotation.Post;
+
import java.util.List;
+
import lombok.extern.slf4j.Slf4j;
import org.apache.skywalking.apm.network.common.v3.Commands;
import org.apache.skywalking.apm.network.event.v3.Event;
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.analysis.Layer;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.telemetry.TelemetryModule;
import org.apache.skywalking.oap.server.telemetry.api.CounterMetrics;
@@ -61,7 +64,15 @@ public class EventRestServiceHandler {
@Post("/v3/events")
public Commands collectEvents(final List<Event> events) {
try (HistogramMetrics.Timer ignored = histogram.createTimer()) {
- events.forEach(eventAnalyzerService::analyze);
+ events.forEach(e -> {
+ // Check event's layer
+ if (e.getLayer().isEmpty()) {
+ throw new IllegalArgumentException("layer field is required since v9.0.0, please upgrade your event report tools");
+ }
+ Layer.nameOf(e.getLayer());
+
+ eventAnalyzerService.analyze(e);
+ });
return Commands.newBuilder().build();
} catch (Exception e) {
errorCounter.inc();
diff --git a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/ESEventQueryDAO.java b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/ESEventQueryDAO.java
index 0701815291..588a06cf99 100644
--- a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/ESEventQueryDAO.java
+++ b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/ESEventQueryDAO.java
@@ -29,6 +29,7 @@ import org.apache.skywalking.library.elasticsearch.requests.search.SearchBuilder
import org.apache.skywalking.library.elasticsearch.requests.search.Sort;
import org.apache.skywalking.library.elasticsearch.response.search.SearchHit;
import org.apache.skywalking.library.elasticsearch.response.search.SearchResponse;
+import org.apache.skywalking.oap.server.core.analysis.Layer;
import org.apache.skywalking.oap.server.core.query.PaginationUtils;
import org.apache.skywalking.oap.server.core.query.enumeration.Order;
import org.apache.skywalking.oap.server.core.query.input.Duration;
@@ -115,6 +116,10 @@ public class ESEventQueryDAO extends EsDAO implements IEventQueryDAO {
query.must(Query.range(Event.END_TIME).lt(startTime.getEndTimestamp()));
}
}
+
+ if (!isNullOrEmpty(condition.getLayer())) {
+ query.must(Query.term(Event.LAYER, condition.getLayer()));
+ }
}
protected SearchBuilder buildQuery(final List<EventQueryCondition> conditionList) {
@@ -179,6 +184,8 @@ public class ESEventQueryDAO extends EsDAO implements IEventQueryDAO {
event.setEndTime(Long.parseLong(endTimeStr));
}
+ event.setLayer(Layer.valueOf(Integer.parseInt(searchHit.getSource().get(Event.LAYER).toString())).name());
+
return event;
}
}
diff --git a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/EventQueryDAO.java b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/EventQueryDAO.java
index 3879b71ec9..065b475139 100644
--- a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/EventQueryDAO.java
+++ b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/EventQueryDAO.java
@@ -26,6 +26,7 @@ import java.util.Map;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.apache.skywalking.oap.server.core.analysis.Layer;
import org.apache.skywalking.oap.server.core.query.PaginationUtils;
import org.apache.skywalking.oap.server.core.source.Event;
import org.apache.skywalking.oap.server.core.query.enumeration.Order;
@@ -105,6 +106,7 @@ public class EventQueryDAO implements IEventQueryDAO {
event.setParameters((String) data.get(Event.PARAMETERS));
event.setStartTime(((Number) data.get(Event.START_TIME)).longValue());
event.setEndTime(((Number) data.get(Event.END_TIME)).longValue());
+ event.setLayer(Layer.valueOf(((Number) data.get(Event.LAYER)).intValue()).name());
return event;
}
@@ -171,6 +173,11 @@ public class EventQueryDAO implements IEventQueryDAO {
countWhereQuery.and(lt(Event.END_TIME, startTime.getEndTimestamp()));
}
}
+
+ if (!isNullOrEmpty(condition.getLayer())) {
+ recallWhereQuery.and(eq(InfluxConstants.TagName.LAYER, condition.getLayer()));
+ countWhereQuery.and(eq(InfluxConstants.TagName.LAYER, condition.getLayer()));
+ }
}
protected void buildQueryByCondition(List<WhereQueryImpl<SelectQueryImpl>> queries, List<EventQueryCondition> conditions) {
@@ -222,6 +229,12 @@ public class EventQueryDAO implements IEventQueryDAO {
countOrNested.and(lt(Event.END_TIME, startTime.getEndTimestamp()));
}
}
+
+ if (!isNullOrEmpty(c.getLayer())) {
+ recallOrNested.and(eq(InfluxConstants.TagName.LAYER, c.getLayer()));
+ countOrNested.and(eq(InfluxConstants.TagName.LAYER, c.getLayer()));
+ }
+
recallOrNested.close();
countOrNested.close();
});
diff --git a/oap-server/server-storage-plugin/storage-iotdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/iotdb/query/IoTDBEventQueryDAO.java b/oap-server/server-storage-plugin/storage-iotdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/iotdb/query/IoTDBEventQueryDAO.java
index 37119fdff5..681730b56e 100644
--- a/oap-server/server-storage-plugin/storage-iotdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/iotdb/query/IoTDBEventQueryDAO.java
+++ b/oap-server/server-storage-plugin/storage-iotdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/iotdb/query/IoTDBEventQueryDAO.java
@@ -172,6 +172,9 @@ public class IoTDBEventQueryDAO implements IEventQueryDAO {
.append(" and ");
}
}
+ if (!Strings.isNullOrEmpty(condition.getLayer())) {
+ where.append(Event.LAYER).append(" = \"").append(condition.getLayer()).append("\"").append(" and ");
+ }
if (where.length() > 0) {
int length = where.length();
where.delete(length - 5, length);
@@ -209,6 +212,7 @@ public class IoTDBEventQueryDAO implements IEventQueryDAO {
resultEvent.setParameters(event.getParameters());
resultEvent.setStartTime(event.getStartTime());
resultEvent.setEndTime(event.getEndTime());
+ resultEvent.setLayer(event.getLayer().name());
return resultEvent;
}
}
diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2EventQueryDAO.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2EventQueryDAO.java
index e6b5c108f5..0659495340 100644
--- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2EventQueryDAO.java
+++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/dao/H2EventQueryDAO.java
@@ -28,6 +28,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.apache.skywalking.oap.server.core.analysis.Layer;
import org.apache.skywalking.oap.server.core.query.PaginationUtils;
import org.apache.skywalking.oap.server.core.query.enumeration.Order;
import org.apache.skywalking.oap.server.core.query.input.Duration;
@@ -156,7 +157,7 @@ public class H2EventQueryDAO implements IEventQueryDAO {
event.setParameters(resultSet.getString(Event.PARAMETERS));
event.setStartTime(resultSet.getLong(Event.START_TIME));
event.setEndTime(resultSet.getLong(Event.END_TIME));
-
+ event.setLayer(Layer.valueOf(resultSet.getInt(Event.LAYER)).name());
return event;
}
@@ -207,6 +208,11 @@ public class H2EventQueryDAO implements IEventQueryDAO {
}
}
+ if (!isNullOrEmpty(condition.getLayer())) {
+ conditions.add(Event.LAYER + "=?");
+ parameters.add(String.valueOf(Layer.nameOf(condition.getLayer()).value()));
+ }
+
return Tuple.of(conditions.build(), parameters.build());
}
}
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 691546f7eb..6bd9632dca 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
@@ -37,6 +37,7 @@ msgs:
parameters: []
starttime: {{ gt .starttime 0 }}
endtime: {{ gt .endtime 0 }}
+ layer: GENERAL
{{- end }}
- starttime: {{ gt .starttime 0 }}
scope: Service
@@ -60,6 +61,7 @@ msgs:
parameters: []
starttime: {{ gt .starttime 0 }}
endtime: {{ gt .endtime 0 }}
+ layer: GENERAL
{{- end }}
{{- end }}
total: {{ gt .total 1 }}
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 2ee4d5b9cf..da9ea79532 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
@@ -37,6 +37,7 @@ msgs:
parameters: []
starttime: {{ gt .starttime 0 }}
endtime: {{ gt .endtime 0 }}
+ layer: GENERAL
{{- end }}
- starttime: {{ gt .starttime 0 }}
scope: Service
@@ -60,6 +61,7 @@ msgs:
parameters: []
starttime: {{ gt .starttime 0 }}
endtime: {{ gt .endtime 0 }}
+ layer: GENERAL
{{- end }}
{{- end }}
total: {{ gt .total 1 }}
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 59d75c92c2..83c5920c84 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
@@ -37,6 +37,7 @@ msgs:
parameters: []
starttime: {{ gt .starttime 0 }}
endtime: {{ gt .endtime 0 }}
+ layer: GENERAL
{{- end }}
{{- end }}
total: 1
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 080228ede5..bb2d3f0e0a 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
@@ -37,6 +37,7 @@ msgs:
parameters: []
starttime: {{ gt .starttime 0 }}
endtime: {{ gt .endtime 0 }}
+ layer: GENERAL
{{- end }}
{{- end }}
total: 1
diff --git a/test/e2e-v2/cases/event/event-cases.yaml b/test/e2e-v2/cases/event/event-cases.yaml
index 7304929a4e..69e4673a93 100644
--- a/test/e2e-v2/cases/event/event-cases.yaml
+++ b/test/e2e-v2/cases/event/event-cases.yaml
@@ -16,7 +16,8 @@
# This file is used to show how to write configuration files and can be used to test.
cases:
- - query: swctl --grpc-addr=${oap_host}:${oap_11800} event report --uuid=abcde --name=Upgrade --service-name=e2e-service --instance-name=e2e-service-instance --endpoint-name='/e2e-endpoint' --message='Upgrade from {fromVersion} to {toVersion}' --start-time=`date +%s`000 --end-time=`date +%s`999 fromVersion=v1 toVersion=v2
+ - query: swctl --grpc-addr=${oap_host}:${oap_11800} event report --uuid=abcde --name=Upgrade --service-name=e2e-service --instance-name=e2e-service-instance --endpoint-name='/e2e-endpoint' --message='Upgrade from {fromVersion} to {toVersion}' --layer=GENERAL --start-time=`date +%s`000 --end-time=`date +%s`999 fromVersion=v1 toVersion=v2
expected: expected/report-event.yml
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql event ls
expected: expected/events.yml
+
diff --git a/test/e2e-v2/cases/event/expected/events.yml b/test/e2e-v2/cases/event/expected/events.yml
index 8548b5b281..323781414a 100644
--- a/test/e2e-v2/cases/event/expected/events.yml
+++ b/test/e2e-v2/cases/event/expected/events.yml
@@ -32,6 +32,7 @@ events:
{{- end }}
starttime: {{ gt .starttime 0 }}
endtime: {{ gt .endtime 0 }}
+ layer: GENERAL
{{- end }}
total: 1
diff --git a/test/e2e-v2/cases/event/expected/report-event.yml b/test/e2e-v2/cases/event/expected/report-event.yml
index ba37c93818..2d38582020 100644
--- a/test/e2e-v2/cases/event/expected/report-event.yml
+++ b/test/e2e-v2/cases/event/expected/report-event.yml
@@ -13,4 +13,5 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-level=info msg="Report the event successfully, whose uuid is abcde" {}
+level=info msg="Report the event successfully, whose uuid is abcde\n"
+{}
\ No newline at end of file
diff --git a/test/e2e-v2/cases/satellite/native-protocols/expected/event-list.yml b/test/e2e-v2/cases/satellite/native-protocols/expected/event-list.yml
index 0d559eabff..6abac4c550 100644
--- a/test/e2e-v2/cases/satellite/native-protocols/expected/event-list.yml
+++ b/test/e2e-v2/cases/satellite/native-protocols/expected/event-list.yml
@@ -30,6 +30,7 @@ events:
{{- end }}
starttime: {{ gt .starttime 0 }}
endtime: {{ gt .endtime 0 }}
+ layer: GENERAL
- uuid: {{ notEmpty .uuid }}
source:
service: e2e-service-consumer
@@ -45,5 +46,6 @@ events:
{{- end }}
starttime: {{ gt .starttime 0 }}
endtime: {{ gt .endtime 0 }}
+ layer: GENERAL
{{- end }}
total: {{ gt .total 0 }}
diff --git a/test/e2e-v2/cases/storage/expected/event-list.yml b/test/e2e-v2/cases/storage/expected/event-list.yml
index 0d559eabff..6abac4c550 100644
--- a/test/e2e-v2/cases/storage/expected/event-list.yml
+++ b/test/e2e-v2/cases/storage/expected/event-list.yml
@@ -30,6 +30,7 @@ events:
{{- end }}
starttime: {{ gt .starttime 0 }}
endtime: {{ gt .endtime 0 }}
+ layer: GENERAL
- uuid: {{ notEmpty .uuid }}
source:
service: e2e-service-consumer
@@ -45,5 +46,6 @@ events:
{{- end }}
starttime: {{ gt .starttime 0 }}
endtime: {{ gt .endtime 0 }}
+ layer: GENERAL
{{- end }}
total: {{ gt .total 0 }}
diff --git a/test/e2e-v2/script/env b/test/e2e-v2/script/env
index d5fe55a472..6d282bce78 100644
--- a/test/e2e-v2/script/env
+++ b/test/e2e-v2/script/env
@@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-SW_AGENT_JAVA_COMMIT=233cce5bb6341a62811807696bc172b2d340d566
+SW_AGENT_JAVA_COMMIT=65032a9b485411363b5297fadc970115d22b13b8
SW_AGENT_SATELLITE_COMMIT=1987e1d566ac90f6b58a45fd9bfa27bf8faad635
SW_AGENT_NGINX_LUA_COMMIT=c3cee4841798a147d83b96a10914d4ac0e11d0aa
SW_AGENT_NODEJS_COMMIT=2e7560518aff846befd4d6bc815fe5e38c704a11
@@ -24,4 +24,4 @@ SW_AGENT_CLIENT_JS_TEST_COMMIT=4f1eb1dcdbde3ec4a38534bf01dded4ab5d2f016
SW_KUBERNETES_COMMIT_SHA=0f3ec68e5a7e1608cec8688716b848ed15e971e5
SW_ROVER_COMMIT=f7f5ac31aa2288861ca729ed349f0da9e66d4558
-SW_CTL_COMMIT=5a62c2e029e17234e6bbad18ced0ce31d0f67ce9
+SW_CTL_COMMIT=9ad35d097e8966ac9324f1d570b1a2d264b38ca1
diff --git a/test/e2e-v2/script/prepare/setup-e2e-shell/install-swctl.sh b/test/e2e-v2/script/prepare/setup-e2e-shell/install-swctl.sh
index 9dca2d55dd..f9bcf34807 100644
--- a/test/e2e-v2/script/prepare/setup-e2e-shell/install-swctl.sh
+++ b/test/e2e-v2/script/prepare/setup-e2e-shell/install-swctl.sh
@@ -22,9 +22,18 @@
BASE_DIR=$1
BIN_DIR=$2
-if ! command -v swctl &> /dev/null; then
+install_swctl() {
mkdir -p $BASE_DIR/swctl && cd $BASE_DIR/swctl
curl -kLo skywalking-cli.tar.gz https://github.com/apache/skywalking-cli/archive/${SW_CTL_COMMIT}.tar.gz
tar -zxf skywalking-cli.tar.gz --strip=1
- make install DESTDIR=$BIN_DIR
+ VERSION=${SW_CTL_COMMIT} make install DESTDIR=$BIN_DIR
+}
+
+if ! command -v swctl &> /dev/null; then
+ echo "swctl is not installed"
+ install_swctl
+elif ! swctl --version | grep -q "${SW_CTL_COMMIT}"; then
+ # Check if the installed version is correct
+ echo "swctl is already installed, but version is not ${SW_CTL_COMMIT}, will re-install it"
+ install_swctl
fi