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());