Skip to content

Commit 14623d0

Browse files
committed
tests: add openmetrics encoding test
1 parent 2631bbf commit 14623d0

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

iroh/src/endpoint.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2092,6 +2092,7 @@ mod tests {
20922092

20932093
use std::time::Instant;
20942094

2095+
use iroh_metrics::{service::MetricsSource, MetricsGroupSet};
20952096
use iroh_relay::http::Protocol;
20962097
use n0_future::StreamExt;
20972098
use rand::SeedableRng;
@@ -2849,11 +2850,15 @@ mod tests {
28492850
#[tokio::test]
28502851
#[traced_test]
28512852
async fn metrics_smoke() -> testresult::TestResult {
2853+
let secret_key = SecretKey::from_bytes(&[0u8; 32]);
28522854
let client = Endpoint::builder()
2855+
.secret_key(secret_key)
28532856
.relay_mode(RelayMode::Disabled)
28542857
.bind()
28552858
.await?;
2859+
let secret_key = SecretKey::from_bytes(&[1u8; 32]);
28562860
let server = Endpoint::builder()
2861+
.secret_key(secret_key)
28572862
.relay_mode(RelayMode::Disabled)
28582863
.alpns(vec![TEST_ALPN.to_vec()])
28592864
.bind()
@@ -2893,6 +2898,18 @@ mod tests {
28932898
assert_eq!(m.magicsock.connection_handshake_success.get(), 1);
28942899
assert!(m.magicsock.recv_datagrams.get() > 0);
28952900

2901+
// test openmetrics encoding with labeled subregistries per endpoint
2902+
let mut registry = iroh_metrics::Registry::default();
2903+
client.metrics().register(
2904+
registry.sub_registry_with_label(("id".into(), client.node_id().fmt_short().into())),
2905+
);
2906+
server.metrics().register(
2907+
registry.sub_registry_with_label(("id".into(), server.node_id().fmt_short().into())),
2908+
);
2909+
let s = registry.encode_openmetrics()?;
2910+
assert!(s.contains(r#"magicsock_nodes_contacted_directly_total{id="3b6a27bcce"} 1"#));
2911+
assert!(s.contains(r#"magicsock_nodes_contacted_directly_total{id="8a88e3dd74"} 1"#));
2912+
28962913
Ok(())
28972914
}
28982915
}

0 commit comments

Comments
 (0)