log hostname in DNS error tracing spans
Signed-off-by: strawberry <strawberry@puppygock.gay>
This commit is contained in:
@@ -258,7 +258,7 @@ impl super::Service {
|
|||||||
#[tracing::instrument(skip_all, name = "ip")]
|
#[tracing::instrument(skip_all, name = "ip")]
|
||||||
async fn query_and_cache_override(&self, overname: &'_ str, hostname: &'_ str, port: u16) -> Result<()> {
|
async fn query_and_cache_override(&self, overname: &'_ str, hostname: &'_ str, port: u16) -> Result<()> {
|
||||||
match self.resolver.resolver.lookup_ip(hostname.to_owned()).await {
|
match self.resolver.resolver.lookup_ip(hostname.to_owned()).await {
|
||||||
Err(e) => Self::handle_resolve_error(&e),
|
Err(e) => Self::handle_resolve_error(&e, hostname),
|
||||||
Ok(override_ip) => {
|
Ok(override_ip) => {
|
||||||
if hostname != overname {
|
if hostname != overname {
|
||||||
debug_info!("{overname:?} overriden by {hostname:?}");
|
debug_info!("{overname:?} overriden by {hostname:?}");
|
||||||
@@ -286,7 +286,7 @@ impl super::Service {
|
|||||||
debug!("querying SRV for {hostname:?}");
|
debug!("querying SRV for {hostname:?}");
|
||||||
let hostname = hostname.trim_end_matches('.');
|
let hostname = hostname.trim_end_matches('.');
|
||||||
match self.resolver.resolver.srv_lookup(hostname).await {
|
match self.resolver.resolver.srv_lookup(hostname).await {
|
||||||
Err(e) => Self::handle_resolve_error(&e)?,
|
Err(e) => Self::handle_resolve_error(&e, hostname)?,
|
||||||
Ok(result) => {
|
Ok(result) => {
|
||||||
return Ok(result.iter().next().map(|result| {
|
return Ok(result.iter().next().map(|result| {
|
||||||
FedDest::Named(
|
FedDest::Named(
|
||||||
@@ -304,7 +304,7 @@ impl super::Service {
|
|||||||
Ok(None)
|
Ok(None)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle_resolve_error(e: &ResolveError) -> Result<()> {
|
fn handle_resolve_error(e: &ResolveError, host: &'_ str) -> Result<()> {
|
||||||
use hickory_resolver::error::ResolveErrorKind;
|
use hickory_resolver::error::ResolveErrorKind;
|
||||||
|
|
||||||
match *e.kind() {
|
match *e.kind() {
|
||||||
@@ -312,11 +312,11 @@ impl super::Service {
|
|||||||
..
|
..
|
||||||
} => {
|
} => {
|
||||||
// Raise to debug_warn if we can find out the result wasn't from cache
|
// Raise to debug_warn if we can find out the result wasn't from cache
|
||||||
debug!("No DNS records found: {e}");
|
debug!(%host, "No DNS records found: {e}");
|
||||||
Ok(())
|
Ok(())
|
||||||
},
|
},
|
||||||
ResolveErrorKind::Timeout => {
|
ResolveErrorKind::Timeout => {
|
||||||
Err!(warn!("DNS {e}"))
|
Err!(warn!(%host, "DNS {e}"))
|
||||||
},
|
},
|
||||||
ResolveErrorKind::NoConnections => {
|
ResolveErrorKind::NoConnections => {
|
||||||
error!(
|
error!(
|
||||||
@@ -324,9 +324,9 @@ impl super::Service {
|
|||||||
remediate this issue to ensure proper federation connectivity."
|
remediate this issue to ensure proper federation connectivity."
|
||||||
);
|
);
|
||||||
|
|
||||||
Err!(error!("DNS error: {e}"))
|
Err!(error!(%host, "DNS error: {e}"))
|
||||||
},
|
},
|
||||||
_ => Err!(error!("DNS error: {e}")),
|
_ => Err!(error!(%host, "DNS error: {e}")),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user