# RNSmetrics - a public RNS node reliability monitor service

_Showcase · started by x2tyfi on Sat, May 16, 2026 5:34 AM_

---

## Original post

**x2tyfi** · Sat, May 16, 2026 5:34 AM

I used rmap.world a bunch while trying to figure out what peers to connect my Backbone node to. One challenge is knowing if the nodes are reliable or not.

I created [RNSmetrics](https://rnsmetrics.wirebase.org) with the goal of longer-term reliability tracking of nodes. 

It works by evaluating destination data `rnstatus -d` and by occasionally sending out tiny probes to confirm node reachability. It then aggregates age, uptime, announce consistency, and announce recency to generate an overall score for each node. 

Open to feedback, if there are ideas or thoughts about measuring differently. In a perfect world you would have canary servers like this all over, so that you could effectively measure hops and latency, too.

---

## Reply 1

**aetherlab** · Sat, May 16, 2026 1:03 PM

Please publish your code, so we can all learn from eachother.

---

## Reply 2

**tyfi** · Sat, May 16, 2026 3:11 PM

**aetherlab** wrote:
> Please publish your code, so we can all learn from eachother.

Happy to - should have time in the next couple days and will share.

---

## Reply 3

**x2tyfi** · Tue, May 19, 2026 5:09 AM

Made a few more improvements to [rnsmetrics.wirebase.org](https://rnsmetrics.wirebase.org).

- Announcement Reliability: For now, I've adjusted logic to give "max score" when the canary receives 1-6 announces. Then diminishing scores above that (or if 0)
- Added I2P nodes
- Adjusted the uptime visual in main table: instead of the dots representing the overall uptime percentage (a bit redundant), each dot now represents a day, and is colored based off the uptime for that day
- Last Announce now shows green if >0 announces were received in the last 24h (yellow >48, red >72)

---

## Reply 4

**KenAKAFrosty** · Wed, May 20, 2026 1:53 PM

OH nice this is pretty slick! Got this bookmarked for use later, thanks for thjis

---

## Reply 5

**kallisti5** · Thu, May 21, 2026 3:24 PM

This is awesome!   Any chance of adding a TCPServer filter?  I have to use TCPServer since Backbone isn't available yet in the Rust Reticulum implementation.

(*technically* you could just do Backbone as BackboneInterface || TCPServerInterface... they're the same thing)

Since i'm contributing to the Rust reticulum implementation, it would be nice to see how my changes are making it more reliable :-)

---

## Reply 6

**x2tyfi** · Fri, May 22, 2026 3:00 AM

**kallisti5** wrote:
> This is awesome!   Any chance of adding a TCPServer filter?  I have to use TCPServer since Backbone isn&#039;t available yet in the Rust Reticulum implementation.
> 
> (*technically* you could just do Backbone as BackboneInterface || TCPServerInterface... they&#039;re the same thing)
> 
> Since i&#039;m contributing to the Rust reticulum implementation, it would be nice to see how my changes are making it more reliable :-)

Doh -- it is there, but I had mislabeled it as TCPClient. Any node that appears as `TCPClient` should actually be a TCPServer interface. I'll get that fixed up

---

## Reply 7

**x2tyfi** · Fri, May 22, 2026 3:03 AM

Made a few more updates to [rnsmetrics](https://rns.wirebase.org). 

The two biggest ones are a map view, and global metrics. 

- Map: I'm finding that when browsing nodes, its nice to be able to see where they are on a map after being in list view. Let me know if there's any feedback on the implementation! https://rns.wirebase.org/?view=map

- Global Metrics: A chart to track how many nodes are `Discoverable` over time, by interface type. It will be fun to watch this grow. https://rns.wirebase.org/global

---
