Releases: bgpkit/peer-stats
Releases · bgpkit/peer-stats
Release list
v0.3.0
New Features
- Add collector-aware AS relationship output alongside classic aggregate (#13)
as2rel-indexnow produces per-collector provenance files (*-collector-latest.json.bz2)- Classic output unchanged — no breaking changes to existing data pipeline
- Single file pass produces both outputs for all three prefixes (as2rel, as2rel-v4, as2rel-v6)
- Memory-efficient flat-vector + sort approach (~1.7GB peak RSS for 21M records)
Performance
- Switch to route-level BGP parser (
into_route_iter) from bgpkit-parser v0.18.0 (#14)- ~19% faster on RIPE RIS bview files; larger gains expected on full RIB dumps
- Eliminates per-path allocation by borrowing AS path via
Arc
Algorithm Changes
- Added two-tier transit detection:
TRUE_TIER1(14 ASes always valid) vs candidate tier-1 ASes (Zayo, Hurricane Electric) that are only valid transit providers when their next hop is also a tier-1 - Hurricane Electric (AS 6939) is treated as a candidate tier-1 for IPv6 only, reducing its downstream count by ~70% at tested collectors
- Zayo (AS 6461) is treated as a candidate tier-1 for both IPv4 and IPv6, reducing its downstream count by 14-18%
Code Refactoring
- Refactored lib.rs into dedicated modules (as2rel, peer_stats, pfx2as) with processor pattern
- Moved types and constants into their corresponding processor modules
- Removed unnecessary internal function exports from public API
Dependencies
- bgpkit-parser: 0.11.0 → 0.18.0 (route-level parser, AS4_PATH merge fix, new attribute parsers)
- bgpkit-broker: 0.7.5 → 0.11.0 (new collectors: locix.fra, ixpn.lagos, decix.fra, crix.sjo; SDK caching)
Bug Fixes
- Removed AS 1239 (Sprint) from tier-1 ASN list to match bgp.tools definition
- Removed unnecessary ASN 0 placeholder from TIER1_V4 array
- Fix candidate tier-1 transit detection to stop at failing candidates (#12)
- Fix clippy warnings in bootstrap.rs (useless borrows in format! macros)
v0.2.1
Highlights
- make sure we don't use more threads than the system has available
- update dependencies