This is an automated email from the ASF dual-hosted git repository.
wusheng 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 2ac671cc1b Fix wrong time bucket on attached event (#10049)
2ac671cc1b is described below
commit 2ac671cc1bbdcea4a88dbb62fb19f64923b2847d
Author: mrproliu <[email protected]>
AuthorDate: Wed Nov 30 10:22:52 2022 +0800
Fix wrong time bucket on attached event (#10049)
---
docs/en/changes/changes.md | 1 +
.../analysis/manual/spanattach/SpanAttachedEventRecord.java | 13 +++++++------
.../core/analysis/manual/trace/SampledSlowTraceRecord.java | 4 ++--
.../analysis/manual/trace/SampledStatus4xxTraceRecord.java | 4 ++--
.../analysis/manual/trace/SampledStatus5xxTraceRecord.java | 4 ++--
.../skywalking/oap/server/core/analysis/topn/TopN.java | 2 +-
.../v8/grpc/SpanAttachedEventReportServiceHandler.java | 4 ++--
.../banyandb/stream/BanyanDBSpanAttachedEventQueryDAO.java | 4 ++--
.../plugin/elasticsearch/query/SpanAttachedEventEsDAO.java | 2 +-
.../jdbc/common/dao/JDBCSpanAttachedEventQueryDAO.java | 4 ++--
10 files changed, 22 insertions(+), 20 deletions(-)
diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index 3352913e02..3e54e32e7a 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -137,6 +137,7 @@
* Rename `BanyanDB.ShardingKey` to `BanyanDB.SeriesID`.
* Self-Observability: Add counters for metrics reading from DB or cached.
Dashboard:`Metrics Persistent Cache Count`.
* Self-Observability: Fix `GC Time` calculation.
+* Update the `trace_id` field as storage only(cannot be queried) in
`top_n_database_statement`, `top_n_cache_read_command`,
`top_n_cache_read_command` index.
#### UI
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SpanAttachedEventRecord.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SpanAttachedEventRecord.java
index 650e420856..3e5bcf1046 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SpanAttachedEventRecord.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SpanAttachedEventRecord.java
@@ -47,7 +47,7 @@ public class SpanAttachedEventRecord extends Record {
public static final String END_TIME_SECOND = "end_time_second";
public static final String END_TIME_NANOS = "end_time_nanos";
public static final String TRACE_REF_TYPE = "trace_ref_type";
- public static final String TRACE_ID = "trace_id";
+ public static final String RELATED_TRACE_ID = "related_trace_id";
public static final String TRACE_SEGMENT_ID = "trace_segment_id";
public static final String TRACE_SPAN_ID = "trace_span_id";
public static final String DATA_BINARY = "data_binary";
@@ -58,6 +58,7 @@ public class SpanAttachedEventRecord extends Record {
@Column(columnName = START_TIME_NANOS)
private int startTimeNanos;
@Column(columnName = EVENT)
+ @BanyanDB.SeriesID(index = 0)
private String event;
@Column(columnName = END_TIME_SECOND)
private long endTimeSecond;
@@ -65,9 +66,9 @@ public class SpanAttachedEventRecord extends Record {
private int endTimeNanos;
@Column(columnName = TRACE_REF_TYPE)
private int traceRefType;
- @Column(columnName = TRACE_ID)
- @BanyanDB.SeriesID(index = 0)
- private String traceId;
+ @Column(columnName = RELATED_TRACE_ID)
+ @BanyanDB.GlobalIndex
+ private String relatedTraceId;
@Column(columnName = TRACE_SEGMENT_ID)
private String traceSegmentId;
@Column(columnName = TRACE_SPAN_ID)
@@ -94,7 +95,7 @@ public class SpanAttachedEventRecord extends Record {
record.setEndTimeSecond(((Number)
converter.get(END_TIME_SECOND)).longValue());
record.setEndTimeNanos(((Number)
converter.get(END_TIME_NANOS)).intValue());
record.setTraceRefType(((Number)
converter.get(TRACE_REF_TYPE)).intValue());
- record.setTraceId((String) converter.get(TRACE_ID));
+ record.setRelatedTraceId((String) converter.get(RELATED_TRACE_ID));
record.setTraceSegmentId((String) converter.get(TRACE_SEGMENT_ID));
record.setTraceSpanId((String) converter.get(TRACE_SPAN_ID));
record.setDataBinary(converter.getBytes(DATA_BINARY));
@@ -110,7 +111,7 @@ public class SpanAttachedEventRecord extends Record {
converter.accept(END_TIME_SECOND, entity.getEndTimeSecond());
converter.accept(END_TIME_NANOS, entity.getEndTimeNanos());
converter.accept(TRACE_REF_TYPE, entity.getTraceRefType());
- converter.accept(TRACE_ID, entity.getTraceId());
+ converter.accept(RELATED_TRACE_ID, entity.getRelatedTraceId());
converter.accept(TRACE_SEGMENT_ID, entity.getTraceSegmentId());
converter.accept(TRACE_SPAN_ID, entity.getTraceSpanId());
converter.accept(DATA_BINARY, entity.getDataBinary());
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledSlowTraceRecord.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledSlowTraceRecord.java
index 63389da71f..77a53567aa 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledSlowTraceRecord.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledSlowTraceRecord.java
@@ -53,9 +53,9 @@ public class SampledSlowTraceRecord extends Record {
@Column(columnName = SCOPE)
private int scope;
@Column(columnName = ENTITY_ID)
- private String entityId;
- @Column(columnName = TRACE_ID)
@BanyanDB.SeriesID(index = 0)
+ private String entityId;
+ @Column(columnName = TRACE_ID, storageOnly = true)
private String traceId;
@Column(columnName = URI, storageOnly = true)
private String uri;
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus4xxTraceRecord.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus4xxTraceRecord.java
index a43b4f2c94..45c88bd1c3 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus4xxTraceRecord.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus4xxTraceRecord.java
@@ -54,9 +54,9 @@ public class SampledStatus4xxTraceRecord extends Record {
@Column(columnName = SCOPE)
private int scope;
@Column(columnName = ENTITY_ID)
- private String entityId;
- @Column(columnName = TRACE_ID)
@BanyanDB.SeriesID(index = 0)
+ private String entityId;
+ @Column(columnName = TRACE_ID, storageOnly = true)
private String traceId;
@Column(columnName = URI, storageOnly = true)
private String uri;
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus5xxTraceRecord.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus5xxTraceRecord.java
index 06252f72dd..eeaca14251 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus5xxTraceRecord.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus5xxTraceRecord.java
@@ -54,9 +54,9 @@ public class SampledStatus5xxTraceRecord extends Record {
@Column(columnName = SCOPE)
private int scope;
@Column(columnName = ENTITY_ID)
- private String entityId;
- @Column(columnName = TRACE_ID)
@BanyanDB.SeriesID(index = 0)
+ private String entityId;
+ @Column(columnName = TRACE_ID, storageOnly = true)
private String traceId;
@Column(columnName = URI, storageOnly = true)
private String uri;
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/topn/TopN.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/topn/TopN.java
index d1ed993608..86584f6676 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/topn/TopN.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/topn/TopN.java
@@ -41,7 +41,7 @@ public abstract class TopN extends Record implements
ComparableStorageData {
private long latency;
@Getter
@Setter
- @Column(columnName = TRACE_ID)
+ @Column(columnName = TRACE_ID, storageOnly = true)
private String traceId;
@Getter
@Setter
diff --git
a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v8/grpc/SpanAttachedEventReportServiceHandler.java
b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v8/grpc/SpanAttachedEventReportServiceHandler.java
index d7660f7d24..7d0dc59159 100644
---
a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v8/grpc/SpanAttachedEventReportServiceHandler.java
+++
b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v8/grpc/SpanAttachedEventReportServiceHandler.java
@@ -53,13 +53,13 @@ public class SpanAttachedEventReportServiceHandler extends
SpanAttachedEventRepo
record.setEndTimeSecond(event.getEndTime().getSeconds());
record.setEndTimeNanos(event.getEndTime().getNanos());
record.setTraceRefType(event.getTraceContext().getTypeValue());
- record.setTraceId(event.getTraceContext().getTraceId());
+ record.setRelatedTraceId(event.getTraceContext().getTraceId());
record.setTraceSegmentId(event.getTraceContext().getTraceSegmentId());
record.setTraceSpanId(event.getTraceContext().getSpanId());
record.setDataBinary(event.toByteArray());
long timestamp =
TimeUnit.SECONDS.toMillis(record.getStartTimeSecond())
+
TimeUnit.NANOSECONDS.toMillis(record.getStartTimeNanos());
-
record.setTimeBucket(TimeBucket.getMinuteTimeBucket(timestamp));
+
record.setTimeBucket(TimeBucket.getRecordTimeBucket(timestamp));
record.setTimestamp(timestamp);
RecordStreamProcessor.getInstance().in(record);
}
diff --git
a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBSpanAttachedEventQueryDAO.java
b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBSpanAttachedEventQueryDAO.java
index 792b151be9..9b50d02b81 100644
---
a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBSpanAttachedEventQueryDAO.java
+++
b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBSpanAttachedEventQueryDAO.java
@@ -41,7 +41,7 @@ public class BanyanDBSpanAttachedEventQueryDAO extends
AbstractBanyanDBDAO imple
SpanAttachedEventRecord.END_TIME_SECOND,
SpanAttachedEventRecord.END_TIME_NANOS,
SpanAttachedEventRecord.TRACE_REF_TYPE,
- SpanAttachedEventRecord.TRACE_ID,
+ SpanAttachedEventRecord.RELATED_TRACE_ID,
SpanAttachedEventRecord.TRACE_SEGMENT_ID,
SpanAttachedEventRecord.TRACE_SPAN_ID,
SpanAttachedEventRecord.DATA_BINARY);
@@ -55,7 +55,7 @@ public class BanyanDBSpanAttachedEventQueryDAO extends
AbstractBanyanDBDAO imple
final StreamQueryResponse resp =
query(SpanAttachedEventRecord.INDEX_NAME, TAGS, new QueryBuilder<StreamQuery>()
{
@Override
protected void apply(StreamQuery query) {
- query.and(eq(SpanAttachedEventRecord.TRACE_ID, traceId));
+ query.and(eq(SpanAttachedEventRecord.RELATED_TRACE_ID,
traceId));
query.and(eq(SpanAttachedEventRecord.TRACE_REF_TYPE,
type.value()));
query.setOrderBy(new
StreamQuery.OrderBy(SpanAttachedEventRecord.START_TIME_SECOND,
AbstractQuery.Sort.ASC));
}
diff --git
a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/SpanAttachedEventEsDAO.java
b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/SpanAttachedEventEsDAO.java
index 96eaefb58d..d59605581d 100644
---
a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/SpanAttachedEventEsDAO.java
+++
b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/SpanAttachedEventEsDAO.java
@@ -59,7 +59,7 @@ public class SpanAttachedEventEsDAO extends EsDAO implements
ISpanAttachedEventQ
query.must(Query.term(IndexController.LogicIndicesRegister.RECORD_TABLE_NAME,
SpanAttachedEventRecord.INDEX_NAME));
}
final SearchBuilder search =
Search.builder().query(query).size(scrollingBatchSize);
- query.must(Query.terms(SpanAttachedEventRecord.TRACE_ID, traceId));
+ query.must(Query.terms(SpanAttachedEventRecord.RELATED_TRACE_ID,
traceId));
query.must(Query.terms(SpanAttachedEventRecord.TRACE_REF_TYPE,
type.value()));
search.sort(SpanAttachedEventRecord.START_TIME_SECOND, Sort.Order.ASC);
search.sort(SpanAttachedEventRecord.START_TIME_NANOS, Sort.Order.ASC);
diff --git
a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/dao/JDBCSpanAttachedEventQueryDAO.java
b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/dao/JDBCSpanAttachedEventQueryDAO.java
index ec47fcf8cf..b90d6d1203 100644
---
a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/dao/JDBCSpanAttachedEventQueryDAO.java
+++
b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/dao/JDBCSpanAttachedEventQueryDAO.java
@@ -42,7 +42,7 @@ public class JDBCSpanAttachedEventQueryDAO implements
ISpanAttachedEventQueryDAO
StringBuilder sql = new StringBuilder("select * from " +
SpanAttachedEventRecord.INDEX_NAME + " where ");
List<Object> parameters = new ArrayList<>(2);
- sql.append(" ").append(SpanAttachedEventRecord.TRACE_ID).append(" =
?");
+ sql.append("
").append(SpanAttachedEventRecord.RELATED_TRACE_ID).append(" = ?");
parameters.add(traceId);
sql.append(" and
").append(SpanAttachedEventRecord.TRACE_REF_TYPE).append(" = ?");
parameters.add(type.value());
@@ -62,7 +62,7 @@ public class JDBCSpanAttachedEventQueryDAO implements
ISpanAttachedEventQueryDAO
record.setEndTimeSecond(resultSet.getLong(SpanAttachedEventRecord.END_TIME_SECOND));
record.setEndTimeNanos(resultSet.getInt(SpanAttachedEventRecord.END_TIME_NANOS));
record.setTraceRefType(resultSet.getInt(SpanAttachedEventRecord.TRACE_REF_TYPE));
-
record.setTraceId(resultSet.getString(SpanAttachedEventRecord.TRACE_ID));
+
record.setRelatedTraceId(resultSet.getString(SpanAttachedEventRecord.RELATED_TRACE_ID));
record.setTraceSegmentId(resultSet.getString(SpanAttachedEventRecord.TRACE_SEGMENT_ID));
record.setTraceSpanId(resultSet.getString(SpanAttachedEventRecord.TRACE_SPAN_ID));
String dataBinaryBase64 =
resultSet.getString(SpanAttachedEventRecord.DATA_BINARY);