risingwave_common/config/
server.rs1use super::*;
16
17#[serde_with::apply(Option => #[serde(with = "none_as_empty_string")])]
19#[derive(Clone, Debug, Serialize, Deserialize, DefaultFromSerde, ConfigDoc)]
20pub struct ServerConfig {
21 #[serde(default = "default::server::heartbeat_interval_ms")]
23 pub heartbeat_interval_ms: u32,
24
25 #[serde(default = "default::server::connection_pool_size")]
31 pub(super) connection_pool_size: u16,
33
34 #[serde(default = "default::server::metrics_level")]
36 pub metrics_level: MetricLevel,
37
38 #[serde(default = "default::server::telemetry_enabled")]
39 pub telemetry_enabled: bool,
40
41 #[serde(default)]
43 pub heap_profiling: HeapProfilingConfig,
44
45 #[serde(default = "default::server::grpc_max_reset_stream_size")]
47 pub grpc_max_reset_stream: u32,
48
49 #[serde(default, flatten)]
50 #[config_doc(omitted)]
51 pub unrecognized: Unrecognized<Self>,
52}
53
54#[serde_with::apply(Option => #[serde(with = "none_as_empty_string")])]
55#[derive(Clone, Debug, Serialize, Deserialize, DefaultFromSerde, ConfigDoc)]
56pub struct HeapProfilingConfig {
57 #[serde(default = "default::heap_profiling::enable_auto")]
59 pub enable_auto: bool,
60
61 #[serde(default = "default::heap_profiling::threshold_auto")]
63 pub threshold_auto: f32,
64
65 #[serde(default = "default::heap_profiling::dir")]
67 pub dir: String,
68}
69
70pub mod default {
71
72 pub mod server {
73 use crate::config::MetricLevel;
74
75 pub fn heartbeat_interval_ms() -> u32 {
76 1000
77 }
78
79 pub fn connection_pool_size() -> u16 {
80 16
81 }
82
83 pub fn metrics_level() -> MetricLevel {
84 MetricLevel::Info
85 }
86
87 pub fn telemetry_enabled() -> bool {
88 true
89 }
90
91 pub fn grpc_max_reset_stream_size() -> u32 {
92 200
93 }
94 }
95
96 pub mod heap_profiling {
97 pub fn enable_auto() -> bool {
98 true
99 }
100
101 pub fn threshold_auto() -> f32 {
102 0.9
103 }
104
105 pub fn dir() -> String {
106 "./".to_owned()
107 }
108 }
109}