Skip to content

Commit b2dc4eb

Browse files
author
Eric Fu
authored
refactor(metrics): unify storage_metric_level & streaming_metric_level to 'metrics_level' (risingwavelabs#12099)
1 parent 5f75f9b commit b2dc4eb

32 files changed

+102
-124
lines changed

ci/scripts/standalone-utils.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ start_standalone() {
2424
--listen-addr 127.0.0.1:5688 \
2525
--prometheus-listener-addr 127.0.0.1:1222 \
2626
--advertise-addr 127.0.0.1:5688 \
27-
--metrics-level 1 \
27+
--metrics-level info \
2828
--async-stack-trace verbose \
2929
--connector-rpc-endpoint 127.0.0.1:50051 \
3030
--parallelism 4 \
@@ -36,7 +36,7 @@ start_standalone() {
3636
--advertise-addr 127.0.0.1:4566 \
3737
--prometheus-listener-addr 127.0.0.1:2222 \
3838
--health-check-listener-addr 127.0.0.1:6786 \
39-
--metrics-level 1 \
39+
--metrics-level info \
4040
--meta-addr http://127.0.0.1:5690" >"$1" 2>&1
4141
}
4242

docker/dashboards/risingwave-dev-dashboard.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

docker/docker-compose-with-hdfs.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ services:
1212
- "--prometheus-listener-addr"
1313
- "0.0.0.0:1260"
1414
- "--metrics-level"
15-
- "1"
15+
- "info"
1616
- "--meta-address"
1717
- "http://meta-node-0:5690"
1818
- "--config-path"
@@ -47,7 +47,7 @@ services:
4747
- "--prometheus-listener-addr"
4848
- "0.0.0.0:1222"
4949
- "--metrics-level"
50-
- "1"
50+
- "info"
5151
- "--meta-address"
5252
- "http://meta-node-0:5690"
5353
- "--connector-rpc-endpoint"
@@ -137,7 +137,7 @@ services:
137137
- "--prometheus-listener-addr"
138138
- "0.0.0.0:2222"
139139
- "--metrics-level"
140-
- "1"
140+
- "info"
141141
expose:
142142
- "4566"
143143
ports:

docker/docker-compose.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ services:
1212
- "--prometheus-listener-addr"
1313
- "0.0.0.0:1260"
1414
- "--metrics-level"
15-
- "1"
15+
- "info"
1616
- "--meta-address"
1717
- "http://meta-node-0:5690"
1818
- "--config-path"
@@ -49,7 +49,7 @@ services:
4949
- "--prometheus-listener-addr"
5050
- "0.0.0.0:1222"
5151
- "--metrics-level"
52-
- "1"
52+
- "info"
5353
- "--meta-address"
5454
- "http://meta-node-0:5690"
5555
- "--connector-rpc-endpoint"
@@ -140,7 +140,7 @@ services:
140140
- "--prometheus-listener-addr"
141141
- "0.0.0.0:2222"
142142
- "--metrics-level"
143-
- "1"
143+
- "info"
144144
expose:
145145
- "4566"
146146
ports:

grafana/risingwave-dev-dashboard.dashboard.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1911,7 +1911,7 @@ def section_hummock(panels):
19111911
],
19121912
),
19131913
panels.timeseries_percentage(
1914-
"Bloom-Filter Miss Rate",
1914+
"Bloom-Filter Positive Rate",
19151915
"Positive / Total",
19161916
[
19171917
panels.target(

grafana/risingwave-dev-dashboard.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

risedev.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -815,7 +815,7 @@ profile:
815815
- use: compactor
816816

817817
ci-backfill:
818-
config-path: "src/config/backfill.toml"
818+
config-path: "src/config/ci-backfill.toml"
819819
steps:
820820
- use: minio
821821
- use: etcd
@@ -1167,7 +1167,6 @@ template:
11671167

11681168
bucket: risingwave-test
11691169

1170-
11711170
# aws-s3 is a placeholder service to provide configurations
11721171
aws-s3:
11731172
# Id to be picked-up by services
@@ -1257,4 +1256,4 @@ template:
12571256
port: 6379
12581257

12591258
# address of redis
1260-
address: "127.0.0.1"
1259+
address: "127.0.0.1"

src/cmd_all/scripts/standalone-demo-dev.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ cargo run -p risingwave_cmd_all \
2222
--listen-addr 127.0.0.1:5688 \
2323
--prometheus-listener-addr 127.0.0.1:1222 \
2424
--advertise-addr 127.0.0.1:5688 \
25-
--metrics-level 1 \
25+
--metrics-level info \
2626
--async-stack-trace verbose \
2727
--connector-rpc-endpoint 127.0.0.1:50051 \
2828
--parallelism 4 \
@@ -35,5 +35,5 @@ cargo run -p risingwave_cmd_all \
3535
--advertise-addr 127.0.0.1:4566 \
3636
--prometheus-listener-addr 127.0.0.1:2222 \
3737
--health-check-listener-addr 127.0.0.1:6786 \
38-
--metrics-level 1 \
38+
--metrics-level info \
3939
--meta-addr http://127.0.0.1:5690"

src/cmd_all/scripts/standalone-demo-full.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ start_standalone() {
2929
--listen-addr 127.0.0.1:5688 \
3030
--prometheus-listener-addr 127.0.0.1:1222 \
3131
--advertise-addr 127.0.0.1:5688 \
32-
--metrics-level 1 \
32+
--metrics-level info \
3333
--async-stack-trace verbose \
3434
--connector-rpc-endpoint 127.0.0.1:50051 \
3535
--parallelism 4 \
@@ -42,7 +42,7 @@ start_standalone() {
4242
--advertise-addr 127.0.0.1:4566 \
4343
--prometheus-listener-addr 127.0.0.1:2222 \
4444
--health-check-listener-addr 127.0.0.1:6786 \
45-
--metrics-level 1 \
45+
--metrics-level info \
4646
--meta-addr http://127.0.0.1:5690"
4747
}
4848

src/common/src/config.rs

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -359,11 +359,9 @@ pub struct ServerConfig {
359359
#[serde(default = "default::server::connection_pool_size")]
360360
pub connection_pool_size: u16,
361361

362-
#[serde(default = "default::server::metrics_level")]
363362
/// Used for control the metrics level, similar to log level.
364-
/// 0 = close metrics
365-
/// >0 = open metrics
366-
pub metrics_level: u32,
363+
#[serde(default = "default::server::metrics_level")]
364+
pub metrics_level: MetricLevel,
367365

368366
#[serde(default = "default::server::telemetry_enabled")]
369367
pub telemetry_enabled: bool,
@@ -420,9 +418,6 @@ pub struct StreamingConfig {
420418
#[serde(default = "default::streaming::unique_user_stream_errors")]
421419
pub unique_user_stream_errors: usize,
422420

423-
#[serde(default = "default::streaming::streaming_metric_level")]
424-
pub streaming_metric_level: MetricLevel,
425-
426421
#[serde(default, flatten)]
427422
pub unrecognized: Unrecognized<Self>,
428423
}
@@ -568,10 +563,6 @@ pub struct StorageConfig {
568563
pub compact_iter_recreate_timeout_ms: u64,
569564
#[serde(default = "default::storage::compactor_max_sst_size")]
570565
pub compactor_max_sst_size: u64,
571-
572-
#[serde(default = "default::storage::storage_metric_level")]
573-
pub storage_metric_level: MetricLevel,
574-
575566
#[serde(default, flatten)]
576567
pub unrecognized: Unrecognized<Self>,
577568
}
@@ -917,7 +908,7 @@ pub mod default {
917908
}
918909

919910
pub mod server {
920-
use crate::config::AutoDumpHeapProfileConfig;
911+
use crate::config::{AutoDumpHeapProfileConfig, MetricLevel};
921912

922913
pub fn heartbeat_interval_ms() -> u32 {
923914
1000
@@ -927,8 +918,8 @@ pub mod default {
927918
16
928919
}
929920

930-
pub fn metrics_level() -> u32 {
931-
0
921+
pub fn metrics_level() -> MetricLevel {
922+
MetricLevel::Info
932923
}
933924

934925
pub fn telemetry_enabled() -> bool {
@@ -941,8 +932,6 @@ pub mod default {
941932
}
942933

943934
pub mod storage {
944-
use crate::config::MetricLevel;
945-
946935
pub fn share_buffers_sync_parallelism() -> u32 {
947936
1
948937
}
@@ -1047,14 +1036,10 @@ pub mod default {
10471036
pub fn compactor_max_sst_size() -> u64 {
10481037
512 * 1024 * 1024 // 512m
10491038
}
1050-
1051-
pub fn storage_metric_level() -> MetricLevel {
1052-
MetricLevel::Info
1053-
}
10541039
}
10551040

10561041
pub mod streaming {
1057-
use crate::config::{AsyncStackTraceOption, MetricLevel};
1042+
use crate::config::AsyncStackTraceOption;
10581043

10591044
pub fn in_flight_barrier_nums() -> usize {
10601045
// quick fix
@@ -1069,10 +1054,6 @@ pub mod default {
10691054
pub fn unique_user_stream_errors() -> usize {
10701055
10
10711056
}
1072-
1073-
pub fn streaming_metric_level() -> MetricLevel {
1074-
MetricLevel::Info
1075-
}
10761057
}
10771058

10781059
pub mod file_cache {

src/common/src/metrics/relabeled_metric.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ impl RelabeledHistogramVec {
7676
for label in relabeled_vals.iter_mut().take(self.relabel_num) {
7777
*label = "";
7878
}
79-
self.metric.with_label_values(&relabeled_vals);
79+
return self.metric.with_label_values(&relabeled_vals);
8080
}
8181
self.metric.with_label_values(vals)
8282
}
@@ -125,7 +125,7 @@ impl RelabeledCounterVec {
125125
for label in relabeled_vals.iter_mut().take(self.relabel_num) {
126126
*label = "";
127127
}
128-
self.metric.with_label_values(&relabeled_vals);
128+
return self.metric.with_label_values(&relabeled_vals);
129129
}
130130
self.metric.with_label_values(vals)
131131
}

src/compute/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ use std::future::Future;
3636
use std::pin::Pin;
3737

3838
use clap::{Parser, ValueEnum};
39-
use risingwave_common::config::{AsyncStackTraceOption, OverrideConfig};
39+
use risingwave_common::config::{AsyncStackTraceOption, MetricLevel, OverrideConfig};
4040
use risingwave_common::util::resource_util::cpu::total_cpu_available;
4141
use risingwave_common::util::resource_util::memory::total_memory_available_bytes;
4242
use serde::{Deserialize, Serialize};
@@ -103,7 +103,7 @@ pub struct ComputeNodeOpts {
103103
/// >0 = enable metrics
104104
#[clap(long, env = "RW_METRICS_LEVEL")]
105105
#[override_opts(path = server.metrics_level)]
106-
pub metrics_level: Option<u32>,
106+
pub metrics_level: Option<MetricLevel>,
107107

108108
/// Path to data file cache data directory.
109109
/// Left empty to disable file cache.

src/compute/src/server.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ use risingwave_batch::monitor::{
2323
use risingwave_batch::rpc::service::task_service::BatchServiceImpl;
2424
use risingwave_batch::task::{BatchEnvironment, BatchManager};
2525
use risingwave_common::config::{
26-
load_config, AsyncStackTraceOption, StorageMemoryConfig, MAX_CONNECTION_WINDOW_SIZE,
27-
STREAM_WINDOW_SIZE,
26+
load_config, AsyncStackTraceOption, MetricLevel, StorageMemoryConfig,
27+
MAX_CONNECTION_WINDOW_SIZE, STREAM_WINDOW_SIZE,
2828
};
2929
use risingwave_common::monitor::connection::{RouterExt, TcpConfig};
3030
use risingwave_common::system_param::local_manager::LocalSystemParamsManager;
@@ -169,20 +169,18 @@ pub async fn compute_node_serve(
169169
// Initialize the metrics subsystem.
170170
let source_metrics = Arc::new(GLOBAL_SOURCE_METRICS.clone());
171171
let hummock_metrics = Arc::new(GLOBAL_HUMMOCK_METRICS.clone());
172-
let streaming_metrics = Arc::new(global_streaming_metrics(
173-
config.streaming.streaming_metric_level,
174-
));
172+
let streaming_metrics = Arc::new(global_streaming_metrics(config.server.metrics_level));
175173
let batch_task_metrics = Arc::new(GLOBAL_BATCH_TASK_METRICS.clone());
176174
let batch_executor_metrics = Arc::new(GLOBAL_BATCH_EXECUTOR_METRICS.clone());
177175
let batch_manager_metrics = GLOBAL_BATCH_MANAGER_METRICS.clone();
178176
let exchange_srv_metrics = Arc::new(GLOBAL_EXCHANGE_SERVICE_METRICS.clone());
179177

180178
// Initialize state store.
181179
let state_store_metrics = Arc::new(global_hummock_state_store_metrics(
182-
config.storage.storage_metric_level,
180+
config.server.metrics_level,
183181
));
184182
let object_store_metrics = Arc::new(GLOBAL_OBJECT_STORE_METRICS.clone());
185-
let storage_metrics = Arc::new(global_storage_metrics(config.storage.storage_metric_level));
183+
let storage_metrics = Arc::new(global_storage_metrics(config.server.metrics_level));
186184
let compactor_metrics = Arc::new(GLOBAL_COMPACTOR_METRICS.clone());
187185
let hummock_meta_client = Arc::new(MonitoredHummockMetaClient::new(
188186
meta_client.clone(),
@@ -454,7 +452,7 @@ pub async fn compute_node_serve(
454452
join_handle_vec.push(join_handle);
455453

456454
// Boot metrics service.
457-
if config.server.metrics_level > 0 {
455+
if config.server.metrics_level > MetricLevel::Disabled {
458456
MetricsManager::boot_metrics_service(opts.prometheus_listener_addr.clone());
459457
}
460458

File renamed without changes.

src/config/ci-sim.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
[server]
22
telemetry_enabled = false
3+
metrics_level = "Disabled"
34

45
[system]
56
telemetry_enabled = false
67
max_concurrent_creating_streaming_jobs = 0
78

89
[meta]
9-
meta_leader_lease_secs = 10
10+
meta_leader_lease_secs = 10

src/config/example.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[server]
44
heartbeat_interval_ms = 1000
55
connection_pool_size = 16
6-
metrics_level = 0
6+
metrics_level = "Info"
77
telemetry_enabled = true
88

99
[server.auto_dump_heap_profile]
@@ -67,7 +67,6 @@ batch_chunk_size = 1024
6767
in_flight_barrier_nums = 10000
6868
async_stack_trace = "ReleaseVerbose"
6969
unique_user_stream_errors = 10
70-
streaming_metric_level = "Info"
7170

7271
[streaming.developer]
7372
stream_enable_executor_row_count = false
@@ -107,7 +106,6 @@ object_store_req_retry_max_attempts = 8
107106
compactor_max_sst_key_count = 2097152
108107
compact_iter_recreate_timeout_ms = 600000
109108
compactor_max_sst_size = 536870912
110-
storage_metric_level = "Info"
111109

112110
[storage.data_file_cache]
113111
dir = ""

src/config/full-iceberg-bench.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[server]
44
heartbeat_interval_ms = 1000
55
connection_pool_size = 16
6-
metrics_level = 0
6+
metrics_level = "Info"
77
telemetry_enabled = true
88

99
[server.auto_dump_heap_profile]

src/frontend/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ pub use planner::Planner;
5252
mod scheduler;
5353
pub mod session;
5454
mod stream_fragmenter;
55-
use risingwave_common::config::OverrideConfig;
55+
use risingwave_common::config::{MetricLevel, OverrideConfig};
5656
pub use stream_fragmenter::build_graph;
5757
mod utils;
5858
pub use utils::{explain_stream_graph, WithOptions};
@@ -129,7 +129,7 @@ pub struct FrontendOpts {
129129
/// >0 = enable metrics
130130
#[clap(long, env = "RW_METRICS_LEVEL")]
131131
#[override_opts(path = server.metrics_level)]
132-
pub metrics_level: Option<u32>,
132+
pub metrics_level: Option<MetricLevel>,
133133

134134
#[clap(long, env = "RW_ENABLE_BARRIER_READ")]
135135
#[override_opts(path = batch.enable_barrier_read)]

src/frontend/src/session.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ use risingwave_common::catalog::DEFAULT_SCHEMA_NAME;
3232
use risingwave_common::catalog::{
3333
DEFAULT_DATABASE_NAME, DEFAULT_SUPER_USER, DEFAULT_SUPER_USER_ID,
3434
};
35-
use risingwave_common::config::{load_config, BatchConfig, MetaConfig};
35+
use risingwave_common::config::{load_config, BatchConfig, MetaConfig, MetricLevel};
3636
use risingwave_common::error::{ErrorCode, Result, RwError};
3737
use risingwave_common::session_config::{ConfigMap, ConfigReporter, VisibilityMode};
3838
use risingwave_common::system_param::local_manager::LocalSystemParamsManager;
@@ -277,7 +277,7 @@ impl FrontendEnv {
277277
let frontend_metrics = Arc::new(GLOBAL_FRONTEND_METRICS.clone());
278278
let source_metrics = Arc::new(GLOBAL_SOURCE_METRICS.clone());
279279

280-
if config.server.metrics_level > 0 {
280+
if config.server.metrics_level > MetricLevel::Disabled {
281281
MetricsManager::boot_metrics_service(opts.prometheus_listener_addr.clone());
282282
}
283283

0 commit comments

Comments
 (0)