NS API: use new probe download filesize and milliseconds field (#6097)

* use milliseconds field

* change score thresholds

* bump to version 4.0.8

* NS API: adjust score categories (#6103)

* testing scores

* test version

* Update Cargo.toml

---------

Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
Co-authored-by: benedetta davico <46782255+benedettadavico@users.noreply.github.com>
This commit is contained in:
Mark Sinclair
2025-10-10 14:47:36 +01:00
committed by benedettadavico
parent ec03c73e89
commit 9c1b074f87
3 changed files with 14 additions and 10 deletions
Generated
+1 -1
View File
@@ -6598,7 +6598,7 @@ dependencies = [
[[package]]
name = "nym-node-status-api"
version = "4.0.7"
version = "4.0.8"
dependencies = [
"ammonia",
"anyhow",
@@ -3,7 +3,7 @@
[package]
name = "nym-node-status-api"
version = "4.0.7"
version = "4.0.8"
authors.workspace = true
repository.workspace = true
homepage.workspace = true
@@ -395,20 +395,24 @@ fn calculate_score(gateway: &Gateway, probe_outcome: &LastProbeResult) -> ScoreV
.map(|p| {
let ping_ips_performance = p.ping_ips_performance_v4 as f64;
let duration = p.download_duration_sec_v4 as f64;
let duration_sec =
p.download_duration_milliseconds_v4
.unwrap_or_else(|| p.download_duration_sec_v4 * 1000) as f64
/ 1000f64;
// get the file size downloaded in bytes and convert to MB, or default to 1MB
let file_size_mb =
p.downloaded_file_size_bytes_v4.unwrap_or(1048576) as f64 / 1024f64 / 1024f64;
let speed_mbps = file_size_mb / duration;
let file_size_mb = p.downloaded_file_size_bytes_v4.unwrap_or_else(|| 1048576) as f64
/ 1024f64
/ 1024f64;
let speed_mbps = file_size_mb / duration_sec;
let file_download_score = if speed_mbps > 100.0 {
let file_download_score = if speed_mbps > 5.0 {
1.0
} else if speed_mbps > 50.0 {
} else if speed_mbps > 2.0 {
0.75
} else if speed_mbps > 20.0 {
} else if speed_mbps > 1.0 {
0.5
} else if speed_mbps > 10.0 {
} else if speed_mbps > 0.5 {
0.25
} else {
0.1