This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch proper-bucket
in repository https://gitbox.apache.org/repos/asf/skywalking.git

commit 8df8812cdd1d34656c1d4a455d1ee4b60655c51a
Author: Wu Sheng <wu.sh...@foxmail.com>
AuthorDate: Mon Jun 24 20:34:08 2024 +0800

    Make more proper histogram buckets in PersistenceTimer.
---
 docs/en/changes/changes.md                                  |  2 ++
 .../oap/server/core/storage/PersistenceTimer.java           | 13 ++++++++++---
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index 3f9812a17f..a899293562 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -17,6 +17,8 @@
 * Increase `alarm_record#message` column length to 2000 from 200.
 * Remove `alarm_record#message` column indexing.
 * Add Python as a supported language for Pulsar.
+* Make more proper histogram buckets for the 
`persistence_timer_bulk_prepare_latency`,
+  `persistence_timer_bulk_execute_latency` and 
`persistence_timer_bulk_all_latency` metrics in PersistenceTimer.
 
 #### UI
 
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/PersistenceTimer.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/PersistenceTimer.java
index 1ed2f700f5..f191057370 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/PersistenceTimer.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/PersistenceTimer.java
@@ -70,16 +70,23 @@ public enum PersistenceTimer {
         prepareLatency = metricsCreator.createHistogramMetric(
             "persistence_timer_bulk_prepare_latency",
             "Latency of the prepare stage in persistence timer",
-            MetricsTag.EMPTY_KEY, MetricsTag.EMPTY_VALUE
+            MetricsTag.EMPTY_KEY, MetricsTag.EMPTY_VALUE,
+            // 50ms -> 30s should be a proper range for the persistence timer 
prepare stage
+            .05, .075, .1, .25, .5, .75, 1, 3, 5, 10, 30
         );
         executeLatency = metricsCreator.createHistogramMetric(
             "persistence_timer_bulk_execute_latency",
             "Latency of the execute stage in persistence timer",
-            MetricsTag.EMPTY_KEY, MetricsTag.EMPTY_VALUE
+            MetricsTag.EMPTY_KEY, MetricsTag.EMPTY_VALUE,
+            // 500ms -> 2min should be a proper range for the persistence 
timer execute stage
+            // 0.5s, 1s, 3s, 5s, 10s, 15s, 20s, 25s, 50s, 120s, Inf+
+            0.5, 1, 3, 5, 10, 15, 20, 25, 50, 120
         );
         allLatency = metricsCreator.createHistogramMetric(
             "persistence_timer_bulk_all_latency", "Latency of the all stage in 
persistence timer",
-            MetricsTag.EMPTY_KEY, MetricsTag.EMPTY_VALUE
+            MetricsTag.EMPTY_KEY, MetricsTag.EMPTY_VALUE,
+            // 500ms -> 2min should be a proper range for the persistence timer
+            0.5, 1, 3, 5, 10, 15, 20, 25, 50, 120
         );
 
         prepareExecutorService = 
Executors.newFixedThreadPool(moduleConfig.getPrepareThreads());

Reply via email to