Skip to content

Commit 84fdf03

Browse files
authored
Fix directory metrics (payjoin#1173)
2 parents c4818bd + c348a3f commit 84fdf03

2 files changed

Lines changed: 11 additions & 2 deletions

File tree

payjoin-directory/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ impl<D: Db> Service<D> {
159159
where
160160
I: tokio::io::AsyncRead + tokio::io::AsyncWrite + Send + Unpin + 'static,
161161
{
162+
self.metrics.record_connection();
162163
if let Err(err) =
163164
http1::Builder::new().serve_connection(TokioIo::new(stream), self).with_upgrades().await
164165
{

payjoin-directory/src/main.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,17 @@ async fn main() -> Result<(), BoxError> {
3232

3333
let service = Service::new(db, ohttp.into(), metrics);
3434

35+
// Start metrics server in the background
3536
if let Some(addr) = config.metrics_listen_addr {
36-
let metrics_listener = TcpListener::bind(addr).await?;
37-
service.serve_metrics_tcp(metrics_listener).await?;
37+
let metrics_listener = TcpListener::bind(addr.clone()).await?;
38+
let service_clone = service.clone();
39+
40+
tokio::spawn(async move {
41+
if let Err(e) = service_clone.serve_metrics_tcp(metrics_listener).await {
42+
eprintln!("Metrics server error: {e}");
43+
}
44+
println!("Metrics server started on {}", addr);
45+
});
3846
}
3947

4048
let listener = TcpListener::bind(config.listen_addr).await?;

0 commit comments

Comments
 (0)