Skip to content

Commit da0524c

Browse files
authored
fix: false positive OpenMetrics error in logs (#1008)
fix #980 Basically clients close HTTP connections before sending a complete request. Happens all the time, we shouldn't be logging it as an error.
1 parent c90a706 commit da0524c

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

pgdog/src/stats/http_server.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use hyper::service::service_fn;
88
use hyper::{Request, Response};
99
use hyper_util::rt::TokioIo;
1010
use tokio::net::TcpListener;
11-
use tracing::info;
11+
use tracing::{info, warn};
1212

1313
use super::{Clients, MirrorStatsMetrics, Pools, QueryCache, TwoPc};
1414

@@ -61,7 +61,13 @@ pub async fn server(port: u16) -> std::io::Result<()> {
6161
.serve_connection(io, service_fn(metrics))
6262
.await
6363
{
64-
eprintln!("OpenMetrics endpoint error: {:?}", err);
64+
// Clients (TCP health probes, scrapers that disconnect
65+
// mid-request, keep-alive teardown) routinely close the socket
66+
// before sending a complete request. That surfaces as
67+
// IncompleteMessage and is benign.
68+
if !err.is_incomplete_message() {
69+
warn!("OpenMetrics endpoint error: {:?}", err);
70+
}
6571
}
6672
});
6773
}

0 commit comments

Comments
 (0)