Skip to content

Commit 11289ad

Browse files
committed
refactor(cli): merge blocking argument and remove no-logging
1 parent 292b7ff commit 11289ad

File tree

3 files changed

+19
-66
lines changed

3 files changed

+19
-66
lines changed

pyroscope_cli/src/cli/lib.rs

Lines changed: 11 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ pub struct Cli {
3131
command: Commands,
3232
}
3333

34-
/// Clap Derive for pyroscope-cli commands
34+
/// Clap Derive for pyroscope-cli commands
3535
#[derive(Subcommand, Debug)]
3636
enum Commands {
3737
#[clap(
@@ -74,14 +74,6 @@ enum Commands {
7474
help = "[default: info] log level for the application"
7575
)]
7676
log_level: Option<LogLevel>,
77-
#[clap(
78-
name = "no_logging",
79-
long = "no-logging",
80-
value_name = "NO_LOGGING",
81-
help = "disable logging from pyroscope",
82-
takes_value = false
83-
)]
84-
no_logging: bool,
8577
#[clap(
8678
name = "pid",
8779
long = "pid",
@@ -91,21 +83,13 @@ enum Commands {
9183
)]
9284
pid: i32,
9385
#[clap(
94-
name = "rbspy_blocking",
95-
long = "rbspy-blocking",
96-
value_name = "RBSPY_BLOCKING",
97-
help = "enable blocking mode for rbspy",
98-
takes_value = false
99-
)]
100-
rbspy_blocking: bool,
101-
#[clap(
102-
name = "pyspy_blocking",
103-
long = "pyspy-blocking",
104-
value_name = "PYSPY_BLOCKING",
105-
help = "enable blocking mode for pyspy",
86+
name = "blocking",
87+
long = "blocking",
88+
value_name = "BLOCKING",
89+
help = "enable blocking mode. [supported by: rbspy, pyspy]",
10690
takes_value = false
10791
)]
108-
pyspy_blocking: bool,
92+
blocking: bool,
10993
#[clap(
11094
name = "pyspy_idle",
11195
long = "pyspy-idle",
@@ -202,29 +186,13 @@ enum Commands {
202186
)]
203187
log_level: Option<LogLevel>,
204188
#[clap(
205-
name = "no_logging",
206-
long = "no-logging",
207-
value_name = "NO_LOGGING",
208-
help = "disable logging from pyroscope",
209-
takes_value = false
210-
)]
211-
no_logging: bool,
212-
#[clap(
213-
name = "rbspy_blocking",
214-
long = "rbspy-blocking",
215-
value_name = "RBSPY_BLOCKING",
216-
help = "enable blocking mode for rbspy",
217-
takes_value = false
218-
)]
219-
rbspy_blocking: bool,
220-
#[clap(
221-
name = "pyspy_blocking",
222-
long = "pyspy-blocking",
223-
value_name = "PYSPY_BLOCKING",
224-
help = "enable blocking mode for pyspy",
189+
name = "blocking",
190+
long = "blocking",
191+
value_name = "BLOCKING",
192+
help = "enable blocking mode. [supported by: rbspy, pyspy]",
225193
takes_value = false
226194
)]
227-
pyspy_blocking: bool,
195+
blocking: bool,
228196
#[clap(
229197
name = "pyspy_idle",
230198
long = "pyspy-idle",

pyroscope_cli/src/core/profiler.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,7 @@ impl Profiler {
2525

2626
let sample_rate: u32 = AppConfig::get::<u32>("sample_rate")?;
2727

28-
// TODO: CLI should probably unify this into a single argument
29-
let rbspy_blocking: bool = AppConfig::get::<bool>("rbspy_blocking")?;
30-
let pyspy_blocking: bool = AppConfig::get::<bool>("pyspy_blocking")?;
28+
let blocking: bool = AppConfig::get::<bool>("blocking")?;
3129

3230
let pyspy_idle: bool = AppConfig::get::<bool>("pyspy_idle")?;
3331
let pyspy_gil: bool = AppConfig::get::<bool>("pyspy_gil")?;
@@ -42,7 +40,7 @@ impl Profiler {
4240
Spy::Pyspy => {
4341
let config = PyspyConfig::new(pid)
4442
.sample_rate(sample_rate)
45-
.lock_process(pyspy_blocking)
43+
.lock_process(blocking)
4644
.with_subprocesses(detect_subprocesses)
4745
.include_idle(pyspy_idle)
4846
.gil_only(pyspy_gil)
@@ -56,7 +54,7 @@ impl Profiler {
5654
Spy::Rbspy => {
5755
let config = RbspyConfig::new(pid)
5856
.sample_rate(sample_rate)
59-
.lock_process(rbspy_blocking)
57+
.lock_process(blocking)
6058
.with_subprocesses(detect_subprocesses);
6159
let backend = Rbspy::new(config);
6260
PyroscopeAgent::builder(server_address, app_name)

pyroscope_cli/src/utils/app_config.rs

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ pub struct AppConfig {
2323
pub no_logging: Option<bool>,
2424
pub log_level: LogLevel,
2525
pub no_root_drop: Option<bool>,
26-
pub rbspy_blocking: Option<bool>,
27-
pub pyspy_blocking: Option<bool>,
26+
pub blocking: Option<bool>,
2827
pub pyspy_idle: Option<bool>,
2928
pub pyspy_gil: Option<bool>,
3029
pub pyspy_native: Option<bool>,
@@ -75,11 +74,8 @@ impl AppConfig {
7574
AppConfig::set("log_level", log_level)?;
7675
}
7776
}
78-
if sub_connect.is_present("no_logging") {
79-
AppConfig::set("no_logging", "true")?;
80-
}
81-
if sub_connect.is_present("pyspy_blocking") {
82-
AppConfig::set("pyspy_blocking", "true")?;
77+
if sub_connect.is_present("blocking") {
78+
AppConfig::set("blocking", "true")?;
8379
}
8480
if sub_connect.is_present("pyspy_idle") {
8581
AppConfig::set("pyspy_idle", "true")?;
@@ -90,9 +86,6 @@ impl AppConfig {
9086
if sub_connect.is_present("pyspy_native") {
9187
AppConfig::set("pyspy_native", "true")?;
9288
}
93-
if sub_connect.is_present("rbspy_blocking") {
94-
AppConfig::set("rbspy_blocking", "true")?;
95-
}
9689
if sub_connect.is_present("sample_rate") {
9790
if let Some(sample_rate) = sub_connect.value_of("sample_rate") {
9891
AppConfig::set("sample_rate", sample_rate)?;
@@ -161,11 +154,8 @@ impl AppConfig {
161154
AppConfig::set("log_level", log_level)?;
162155
}
163156
}
164-
if sub_exec.is_present("no_logging") {
165-
AppConfig::set("no_logging", "true")?;
166-
}
167-
if sub_exec.is_present("pyspy_blocking") {
168-
AppConfig::set("pyspy_blocking", "true")?;
157+
if sub_exec.is_present("blocking") {
158+
AppConfig::set("blocking", "true")?;
169159
}
170160
if sub_exec.is_present("pyspy_idle") {
171161
AppConfig::set("pyspy_idle", "true")?;
@@ -176,9 +166,6 @@ impl AppConfig {
176166
if sub_exec.is_present("pyspy_native") {
177167
AppConfig::set("pyspy_native", "true")?;
178168
}
179-
if sub_exec.is_present("rbspy_blocking") {
180-
AppConfig::set("rbspy_blocking", "true")?;
181-
}
182169
if sub_exec.is_present("sample_rate") {
183170
if let Some(sample_rate) = sub_exec.value_of("sample_rate") {
184171
AppConfig::set("sample_rate", sample_rate)?;

0 commit comments

Comments
 (0)