Skip to content

Commit ce534fe

Browse files
committed
refactor(coprocessor): simplify OTLP subscriber init fallback
1 parent 8c0976a commit ce534fe

File tree

8 files changed

+45
-91
lines changed

8 files changed

+45
-91
lines changed

coprocessor/fhevm-engine/fhevm-engine-common/src/telemetry.rs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use std::{
1212
sync::{Arc, LazyLock, OnceLock},
1313
};
1414
use tokio::sync::RwLock;
15-
use tracing::{debug, info, warn, Span};
15+
use tracing::{debug, error, info, warn, Span};
1616
use tracing_opentelemetry::OpenTelemetrySpanExt;
1717
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
1818

@@ -109,6 +109,20 @@ pub fn init_json_subscriber(
109109
Ok(Some(TracerProviderGuard::new(trace_provider)))
110110
}
111111

112+
pub fn init_json_subscriber_with_otlp_fallback(
113+
log_level: tracing::Level,
114+
service_name: &str,
115+
tracer_name: &'static str,
116+
) -> Option<TracerProviderGuard> {
117+
match init_json_subscriber(log_level, service_name, tracer_name) {
118+
Ok(guard) => guard,
119+
Err(err) => {
120+
error!(error = %err, "Failed to setup OTLP");
121+
None
122+
}
123+
}
124+
}
125+
112126
fn setup_otel_with_tracer(
113127
service_name: &str,
114128
tracer_name: &'static str,

coprocessor/fhevm-engine/gw-listener/src/bin/gw_listener.rs

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -103,18 +103,11 @@ async fn main() -> anyhow::Result<()> {
103103

104104
let conf = Conf::parse();
105105

106-
let mut otlp_setup_error: Option<String> = None;
107-
let _otel_guard =
108-
match telemetry::init_json_subscriber(conf.log_level, &conf.service_name, "otlp-layer") {
109-
Ok(guard) => guard,
110-
Err(err) => {
111-
otlp_setup_error = Some(err.to_string());
112-
None
113-
}
114-
};
115-
if let Some(err) = otlp_setup_error {
116-
error!(error = %err, "Failed to setup OTLP");
117-
}
106+
let _otel_guard = telemetry::init_json_subscriber_with_otlp_fallback(
107+
conf.log_level,
108+
&conf.service_name,
109+
"otlp-layer",
110+
);
118111

119112
info!(gateway_url = %conf.gw_url, max_retries = %conf.provider_max_retries,
120113
retry_interval = ?conf.provider_retry_interval, "Connecting to Gateway");
Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,15 @@
11
use clap::Parser;
22
use fhevm_engine_common::telemetry;
3-
use tracing::error;
43

54
#[tokio::main]
65
async fn main() -> anyhow::Result<()> {
76
let args = host_listener::cmd::Args::parse();
87

9-
let mut otlp_setup_error: Option<String> = None;
10-
let _otel_guard = match telemetry::init_json_subscriber(
8+
let _otel_guard = telemetry::init_json_subscriber_with_otlp_fallback(
119
args.log_level,
1210
&args.service_name,
1311
"otlp-layer",
14-
) {
15-
Ok(guard) => guard,
16-
Err(err) => {
17-
otlp_setup_error = Some(err.to_string());
18-
None
19-
}
20-
};
21-
if let Some(err) = otlp_setup_error {
22-
error!(error = %err, "Failed to setup OTLP");
23-
}
12+
);
2413

2514
host_listener::cmd::main(args).await
2615
}

coprocessor/fhevm-engine/host-listener/src/bin/poller.rs

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use std::time::Duration;
33
use alloy::primitives::Address;
44
use clap::Parser;
55
use tokio_util::sync::CancellationToken;
6-
use tracing::{error, Level};
6+
use tracing::Level;
77

88
use fhevm_engine_common::utils::DatabaseURL;
99
use fhevm_engine_common::{metrics_server, telemetry};
@@ -126,21 +126,11 @@ struct Args {
126126
async fn main() -> anyhow::Result<()> {
127127
let args = Args::parse();
128128

129-
let mut otlp_setup_error: Option<String> = None;
130-
let _otel_guard = match telemetry::init_json_subscriber(
129+
let _otel_guard = telemetry::init_json_subscriber_with_otlp_fallback(
131130
args.log_level,
132131
&args.service_name,
133132
"otlp-layer",
134-
) {
135-
Ok(guard) => guard,
136-
Err(err) => {
137-
otlp_setup_error = Some(err.to_string());
138-
None
139-
}
140-
};
141-
if let Some(err) = otlp_setup_error {
142-
error!(error = %err, "Failed to setup OTLP");
143-
}
133+
);
144134

145135
let _ = rustls::crypto::aws_lc_rs::default_provider().install_default();
146136

coprocessor/fhevm-engine/sns-worker/src/bin/sns_worker.rs

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -65,21 +65,11 @@ async fn main() {
6565
let config: Config = construct_config();
6666
let parent = CancellationToken::new();
6767

68-
let mut otlp_setup_error: Option<String> = None;
69-
70-
let _otel_guard =
71-
match telemetry::init_json_subscriber(config.log_level, &config.service_name, "otlp-layer")
72-
{
73-
Ok(guard) => guard,
74-
Err(err) => {
75-
otlp_setup_error = Some(err.to_string());
76-
None
77-
}
78-
};
79-
80-
if let Some(err) = otlp_setup_error {
81-
error!(error = %err, "Failed to setup OTLP");
82-
}
68+
let _otel_guard = telemetry::init_json_subscriber_with_otlp_fallback(
69+
config.log_level,
70+
&config.service_name,
71+
"otlp-layer",
72+
);
8373

8474
// Handle SIGINIT signals
8575
handle_sigint(parent.clone());

coprocessor/fhevm-engine/tfhe-worker/src/lib.rs

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -49,27 +49,19 @@ pub fn start_runtime(
4949

5050
// Used for testing as we would call `async_main()` multiple times.
5151
static TRACING_INIT: Once = Once::new();
52-
static OTLP_SETUP_ERROR: OnceLock<String> = OnceLock::new();
5352
static OTEL_GUARD: OnceLock<Option<telemetry::TracerProviderGuard>> = OnceLock::new();
5453

5554
pub async fn async_main(
5655
args: daemon_cli::Args,
5756
) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
5857
TRACING_INIT.call_once(|| {
59-
let otel_guard =
60-
match telemetry::init_json_subscriber(args.log_level, &args.service_name, "otlp-layer")
61-
{
62-
Ok(guard) => guard,
63-
Err(err) => {
64-
let _ = OTLP_SETUP_ERROR.set(err.to_string());
65-
None
66-
}
67-
};
58+
let otel_guard = telemetry::init_json_subscriber_with_otlp_fallback(
59+
args.log_level,
60+
&args.service_name,
61+
"otlp-layer",
62+
);
6863
let _ = OTEL_GUARD.set(otel_guard);
6964
});
70-
if let Some(err) = OTLP_SETUP_ERROR.get() {
71-
error!(error = %err, "Failed to setup OTLP");
72-
}
7365

7466
let cancel_token = CancellationToken::new();
7567
info!(target: "async_main", args = ?args, "Starting runtime with args");

coprocessor/fhevm-engine/transaction-sender/src/bin/transaction_sender.rs

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -286,18 +286,11 @@ async fn main() -> anyhow::Result<()> {
286286

287287
let conf = parse_args();
288288

289-
let mut otlp_setup_error: Option<String> = None;
290-
let _otel_guard =
291-
match telemetry::init_json_subscriber(conf.log_level, &conf.service_name, "otlp-layer") {
292-
Ok(guard) => guard,
293-
Err(err) => {
294-
otlp_setup_error = Some(err.to_string());
295-
None
296-
}
297-
};
298-
if let Some(err) = otlp_setup_error {
299-
error!(error = %err, "Failed to setup OTLP");
300-
}
289+
let _otel_guard = telemetry::init_json_subscriber_with_otlp_fallback(
290+
conf.log_level,
291+
&conf.service_name,
292+
"otlp-layer",
293+
);
301294

302295
let cancel_token = CancellationToken::new();
303296
install_signal_handlers(cancel_token.clone())?;

coprocessor/fhevm-engine/zkproof-worker/src/bin/zkproof_worker.rs

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -82,18 +82,11 @@ pub fn parse_args() -> Args {
8282
async fn main() {
8383
let args = parse_args();
8484

85-
let mut otlp_setup_error: Option<String> = None;
86-
let _otel_guard =
87-
match telemetry::init_json_subscriber(args.log_level, &args.service_name, "otlp-layer") {
88-
Ok(guard) => guard,
89-
Err(err) => {
90-
otlp_setup_error = Some(err.to_string());
91-
None
92-
}
93-
};
94-
if let Some(err) = otlp_setup_error {
95-
error!(error = %err, "Failed to setup OTLP");
96-
}
85+
let _otel_guard = telemetry::init_json_subscriber_with_otlp_fallback(
86+
args.log_level,
87+
&args.service_name,
88+
"otlp-layer",
89+
);
9790

9891
let database_url = args.database_url.clone().unwrap_or_default();
9992

0 commit comments

Comments
 (0)