pantrace 0.6.0

Convert between traceroute formats.
Documentation

〰️ pantrace

Coverage crates.io docs.rs Tests

Pantrace converts between traceroute formats, in the same way as Pandoc converts between document formats.

Each format needs to implement only two conversions: to and from the internal format.

Formats

  • atlas: RIPE Atlas JSONL (read/write)
  • flat: JSONL with one document per reply (write-only)
  • internal: Pantrace internal format (read/write)
  • iris: Iris JSONL format (read/write)
  • scamper-trace-warts: Scamper traceroute in warts format (read/write)

Quickstart

Cargo

cargo install pantrace && pantrace --help

Docker

docker run ghcr.io/dioptra-io/pantrace:main --help

Nix

nix run github:dioptra-io/pantrace -- --help

Usage

# Fetch traceroute results from the RIPE Atlas API
curl -L -o example.ndjson \
    "https://atlas.ripe.net/api/v2/measurements/23119199/results/?start=1625097600&stop=1625788799&format=txt&probe_ids=6479"
  
# Convert from the standard input to the standard output
cat example.ndjson | pantrace --standalone --from atlas --to scamper-trace-warts > example.warts

# Convert from a file to a file
pantrace --standalone --from atlas --to scamper-trace-warts --input example.ndjson --output example.warts