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.
      */

Reply via email to