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 f95cddcb3e Merge `TIME_BUCKET` of `Metrics` and `Record` into
`StorageData` (#10208)
f95cddcb3e is described below
commit f95cddcb3ea81138c2a948f6906ea3ef93d53c4e
Author: 吴晟 Wu Sheng <[email protected]>
AuthorDate: Wed Dec 28 11:25:47 2022 +0800
Merge `TIME_BUCKET` of `Metrics` and `Record` into `StorageData` (#10208)
---
docs/en/changes/changes.md | 1 +
.../apache/skywalking/oap/server/core/analysis/metrics/Metrics.java | 5 ++---
.../apache/skywalking/oap/server/core/analysis/record/Record.java | 3 ---
.../apache/skywalking/oap/server/core/remote/data/StreamData.java | 4 ++++
.../org/apache/skywalking/oap/server/core/storage/StorageData.java | 2 ++
5 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index 7369362497..71eb70969b 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -63,6 +63,7 @@
* Fix the meter value are not correct when using `sumPerMinLabeld` or
`sumHistogramPercentile` MAL function.
* Fix cannot display attached events when using Zipkin Lens UI query traces.
* Remove `time_bucket` for both Stream and Measure kinds in BanyanDB plugin.
+* Merge `TIME_BUCKET` of `Metrics` and `Record` into `StorageData`.
#### UI
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/Metrics.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/Metrics.java
index 8864b3663e..67adbfee34 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/Metrics.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/Metrics.java
@@ -41,8 +41,6 @@ import static
org.apache.skywalking.oap.server.core.analysis.metrics.Metrics.ID;
})
@SQLDatabase.Sharding(shardingAlgorithm =
ShardingAlgorithm.TIME_RELATIVE_ID_SHARDING_ALGORITHM, tableShardingColumn =
ID, dataSourceShardingColumn = ENTITY_ID)
public abstract class Metrics extends StreamData implements StorageData {
-
- public static final String TIME_BUCKET = "time_bucket";
public static final String ENTITY_ID = "entity_id";
public static final String ID = "id";
@@ -55,7 +53,8 @@ public abstract class Metrics extends StreamData implements
StorageData {
private long timeBucket;
/**
- * Time in the cache, only work when
MetricsPersistentWorker#enableDatabaseSession == true.
+ * The last update timestamp of the cache.
+ * The `update` means it is combined with the new metrics. This update
doesn't mean the database level update ultimately.
*/
@Getter
private long lastUpdateTimestamp = 0L;
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/record/Record.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/record/Record.java
index 38afa7ed5d..23c25a42b8 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/record/Record.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/record/Record.java
@@ -29,9 +29,6 @@ import
org.apache.skywalking.oap.server.core.storage.annotation.Column;
* original log data or task records. These data needs to persistent without
further analysis.
*/
public abstract class Record implements StorageData {
-
- public static final String TIME_BUCKET = "time_bucket";
-
/**
* Time attribute, all storage data is time sensitive, as same as {@link
Metrics}
*/
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/data/StreamData.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/data/StreamData.java
index 3c1c902de6..2ef8930071 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/data/StreamData.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/data/StreamData.java
@@ -21,6 +21,10 @@ package org.apache.skywalking.oap.server.core.remote.data;
import org.apache.skywalking.oap.server.core.remote.Deserializable;
import org.apache.skywalking.oap.server.core.remote.Serializable;
+/**
+ * StreamData indicates all implementations supporting {@link Serializable},
{@link Deserializable} and remote hashcode
+ * to do L1 and L2 aggregation cross OAP nodes.
+ */
public abstract class StreamData implements Serializable, Deserializable {
public abstract int remoteHashCode();
}
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/StorageData.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/StorageData.java
index f3f4810c08..c48ad1215d 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/StorageData.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/StorageData.java
@@ -22,6 +22,8 @@ package org.apache.skywalking.oap.server.core.storage;
* Any persistent entity should be an implementation of this interface.
*/
public interface StorageData {
+ String TIME_BUCKET = "time_bucket";
+
/**
* @return the unique id used in any storage option.
*/