Skip to content

Commit 8225c58

Browse files
committed
enable verbose by default
Signed-off-by: Bugen Zhao <[email protected]>
1 parent fe04858 commit 8225c58

File tree

13 files changed

+45
-92
lines changed

13 files changed

+45
-92
lines changed

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ license = "Apache-2.0"
5858
repository = "https://github.com/risingwavelabs/risingwave"
5959

6060
[workspace.dependencies]
61+
await-tree = "0.1.1"
6162
aws-config = { version = "0.51", default-features = false, features = ["rt-tokio", "native-tls"] }
6263
aws-sdk-kinesis = { version = "0.21", default-features = false, features = ["rt-tokio", "native-tls"] }
6364
aws-sdk-s3 = { version = "0.21", default-features = false, features = ["rt-tokio","native-tls"] }

src/common/src/config.rs

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -420,12 +420,27 @@ pub struct FileCacheConfig {
420420
pub unrecognized: Unrecognized<Self>,
421421
}
422422

423-
#[derive(Debug, Default, Clone, ValueEnum, Serialize, Deserialize)]
423+
#[derive(Debug, Default, Clone, Copy, ValueEnum, Serialize, Deserialize)]
424424
pub enum AsyncStackTraceOption {
425+
/// Disabled.
425426
Off,
426-
#[default]
427+
/// Enabled with basic instruments.
427428
On,
428-
Verbose,
429+
/// Enabled with extra verbose instruments in release build.
430+
/// Behaves the same as `on` in debug build due to performance concern.
431+
#[default]
432+
#[clap(alias = "verbose")]
433+
ReleaseVerbose,
434+
}
435+
436+
impl AsyncStackTraceOption {
437+
pub fn is_verbose(self) -> Option<bool> {
438+
match self {
439+
Self::Off => None,
440+
Self::On => Some(false),
441+
Self::ReleaseVerbose => Some(!cfg!(debug_assertions)),
442+
}
443+
}
429444
}
430445

431446
serde_with::with_prefix!(streaming_prefix "stream_");
@@ -723,7 +738,7 @@ mod default {
723738
}
724739

725740
pub fn async_stack_trace() -> AsyncStackTraceOption {
726-
AsyncStackTraceOption::On
741+
AsyncStackTraceOption::default()
727742
}
728743

729744
pub fn unique_user_stream_errors() -> usize {

src/compute/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ normal = ["workspace-hack"]
1616
[dependencies]
1717
anyhow = "1"
1818
async-trait = "0.1"
19-
await-tree = "0.1.1"
19+
await-tree = { workspace = true }
2020
clap = { version = "4", features = ["derive"] }
2121
either = "1"
2222
futures = { version = "0.3", default-features = false, features = ["alloc"] }

src/compute/src/server.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ pub async fn compute_node_serve(
263263
let await_tree_config = match &config.streaming.async_stack_trace {
264264
AsyncStackTraceOption::Off => None,
265265
c => await_tree::ConfigBuilder::default()
266-
.verbose(matches!(c, AsyncStackTraceOption::Verbose))
266+
.verbose(c.is_verbose().unwrap())
267267
.build()
268268
.ok(),
269269
};

src/config/example.toml

Lines changed: 0 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -1,80 +1,2 @@
11
# This file is generated by ./risedev generate-example-config
22
# Check detailed comments in src/common/src/config.rs
3-
[server]
4-
heartbeat_interval_ms = 1000
5-
connection_pool_size = 16
6-
metrics_level = 0
7-
telemetry_enabled = true
8-
9-
[meta]
10-
min_sst_retention_time_sec = 604800
11-
collect_gc_watermark_spin_interval_sec = 5
12-
periodic_compaction_interval_sec = 60
13-
vacuum_interval_sec = 30
14-
hummock_version_checkpoint_interval_sec = 30
15-
min_delta_log_num_for_hummock_version_checkpoint = 10
16-
max_heartbeat_interval_secs = 300
17-
disable_recovery = false
18-
meta_leader_lease_secs = 30
19-
enable_compaction_deterministic = false
20-
enable_committed_sst_sanity_check = false
21-
node_num_monitor_interval_sec = 10
22-
backend = "Mem"
23-
periodic_space_reclaim_compaction_interval_sec = 3600
24-
periodic_ttl_reclaim_compaction_interval_sec = 1800
25-
periodic_split_compact_group_interval_sec = 180
26-
max_compactor_task_multiplier = 2
27-
move_table_size_limit = 2147483648
28-
split_group_size_limit = 21474836480
29-
do_not_config_object_storage_lifecycle = false
30-
partition_vnode_count = 64
31-
32-
[batch.developer]
33-
batch_connector_message_buffer_size = 16
34-
batch_output_channel_size = 64
35-
batch_chunk_size = 1024
36-
37-
[streaming]
38-
in_flight_barrier_nums = 10000
39-
enable_jaeger_tracing = false
40-
async_stack_trace = "On"
41-
unique_user_stream_errors = 10
42-
43-
[streaming.developer]
44-
stream_enable_executor_row_count = false
45-
stream_connector_message_buffer_size = 16
46-
stream_unsafe_extreme_cache_size = 10
47-
stream_chunk_size = 1024
48-
stream_exchange_initial_permits = 8192
49-
stream_exchange_batched_permits = 1024
50-
stream_exchange_concurrent_barriers = 2
51-
52-
[storage]
53-
share_buffers_sync_parallelism = 1
54-
share_buffer_compaction_worker_threads_number = 4
55-
imm_merge_threshold = 4
56-
write_conflict_detection_enabled = true
57-
disable_remote_compactor = false
58-
share_buffer_upload_concurrency = 8
59-
sstable_id_remote_fetch_number = 10
60-
min_sst_size_for_streaming_upload = 33554432
61-
max_sub_compaction = 4
62-
max_concurrent_compaction_task_number = 16
63-
max_preload_wait_time_mill = 10
64-
65-
[storage.file_cache]
66-
dir = ""
67-
capacity_mb = 1024
68-
cache_file_fallocate_unit_mb = 512
69-
cache_meta_fallocate_unit_mb = 16
70-
cache_file_max_write_size_mb = 4
71-
72-
[system]
73-
barrier_interval_ms = 1000
74-
checkpoint_frequency = 10
75-
sstable_size_mb = 256
76-
block_size_kb = 64
77-
bloom_false_positive = 0.001
78-
backup_storage_url = "memory"
79-
backup_storage_directory = "backup"
80-
telemetry_enabled = true

src/expr/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ arrow-array = "36"
2121
arrow-schema = "36"
2222
async-trait = "0.1"
2323
auto_enums = "0.8"
24+
await-tree = { workspace = true }
2425
chrono = { version = "0.4", default-features = false, features = ["clock", "std"] }
2526
chrono-tz = { version = "0.7", features = ["case-insensitive"] }
2627
ctor = "0.1"

src/expr/src/expr/expr_udf.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ use std::convert::TryFrom;
1717
use std::sync::{Arc, LazyLock, Mutex, Weak};
1818

1919
use arrow_schema::{Field, Schema, SchemaRef};
20+
use await_tree::InstrumentAwait;
2021
use risingwave_common::array::{ArrayImpl, ArrayRef, DataChunk};
2122
use risingwave_common::row::OwnedRow;
2223
use risingwave_common::types::{DataType, Datum};
@@ -35,6 +36,7 @@ pub struct UdfExpression {
3536
arg_schema: SchemaRef,
3637
client: Arc<ArrowFlightUdfClient>,
3738
identifier: String,
39+
span: await_tree::Span,
3840
}
3941

4042
#[cfg(not(madsim))]
@@ -80,7 +82,11 @@ impl UdfExpression {
8082
let input =
8183
arrow_array::RecordBatch::try_new_with_options(self.arg_schema.clone(), columns, &opts)
8284
.expect("failed to build record batch");
83-
let output = self.client.call(&self.identifier, input).await?;
85+
let output = self
86+
.client
87+
.call(&self.identifier, input)
88+
.instrument_await(self.span.clone())
89+
.await?;
8490
if output.num_rows() != vis.len() {
8591
bail!(
8692
"UDF returned {} rows, but expected {}",
@@ -121,6 +127,7 @@ impl<'a> TryFrom<&'a ExprNode> for UdfExpression {
121127
arg_schema,
122128
client,
123129
identifier: udf.identifier.clone(),
130+
span: format!("expr_udf_call ({})", udf.identifier).into(),
124131
})
125132
}
126133
}

src/object_store/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ repository = { workspace = true }
1010

1111
[dependencies]
1212
async-trait = "0.1"
13-
await-tree = "0.1.1"
13+
await-tree = { workspace = true }
1414
aws-config = { workspace = true }
1515
aws-sdk-s3 = { version = "0.2.15", package = "madsim-aws-sdk-s3" }
1616
aws-smithy-http = { workspace = true }

src/storage/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ normal = ["workspace-hack"]
1717
arc-swap = "1"
1818
async-trait = "0.1"
1919
auto_enums = { version = "0.8", features = ["futures03"] }
20-
await-tree = "0.1.1"
20+
await-tree = { workspace = true }
2121
bytes = { version = "1", features = ["serde"] }
2222
crossbeam = "0.8.1"
2323
dashmap = { version = "5", default-features = false }

src/storage/src/monitor/monitored_store.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,11 @@ impl<S: LocalStateStore> LocalStateStore for MonitoredStateStore<S> {
185185
.may_exist_duration
186186
.with_label_values(&[table_id_label.as_str()])
187187
.start_timer();
188-
let res = self.inner.may_exist(key_range, read_options).await;
188+
let res = self
189+
.inner
190+
.may_exist(key_range, read_options)
191+
.verbose_instrument_await("store_may_exist")
192+
.await;
189193
timer.observe_duration();
190194
res
191195
}
@@ -217,7 +221,9 @@ impl<S: LocalStateStore> LocalStateStore for MonitoredStateStore<S> {
217221

218222
fn flush(&mut self, delete_ranges: Vec<(Bound<Bytes>, Bound<Bytes>)>) -> Self::FlushFuture<'_> {
219223
// TODO: collect metrics
220-
self.inner.flush(delete_ranges)
224+
self.inner
225+
.flush(delete_ranges)
226+
.verbose_instrument_await("store_flush")
221227
}
222228

223229
fn epoch(&self) -> u64 {
@@ -264,7 +270,7 @@ impl<S: StateStore> StateStore for MonitoredStateStore<S> {
264270
let sync_result = self
265271
.inner
266272
.sync(epoch)
267-
.instrument_await("store_await_sync")
273+
.instrument_await("store_sync")
268274
.await
269275
.inspect_err(|e| error!("Failed in sync: {:?}", e))?;
270276
timer.observe_duration();

src/stream/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ anyhow = "1"
1919
async-recursion = "1"
2020
async-stream = "0.3"
2121
async-trait = "0.1"
22-
await-tree = "0.1.1"
22+
await-tree = { workspace = true }
2323
bytes = "1"
2424
dyn-clone = "1"
2525
educe = "0.4"

src/utils/runtime/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ignored = ["workspace-hack"]
1515
normal = ["workspace-hack"]
1616

1717
[dependencies]
18-
await-tree = "0.1.1"
18+
await-tree = { workspace = true }
1919
console = "0.15"
2020
console-subscriber = "0.1.8"
2121
futures = { version = "0.3", default-features = false, features = ["alloc"] }

0 commit comments

Comments
 (0)