Skip to content

Conversation

@Frando
Copy link
Member

@Frando Frando commented Jan 28, 2026

Description

More improvements to our transport example to ease dogfooding:

  • new --logs flag (for both provide and fetch) for simple file logging:
    • without further config, creates a directory ./logs/transfer-{cmd}-{date}-{endpoint_id} and saves logs with iroh=trace,transfer=trace to a logs file in that directory.
    • different log level can be set with RUST_LOG
    • different path can be set with --logs-path
    • qlog files are also written to that directory if the qlog feature is enabled
  • New --mode ping option for fetch command: instead of transferring as much data as possible, this just keeps the connection open until the --duration is expired (default: 10s). This gives much smaller log files (both tracing and qlog) so easier to debug when looking for connection changes only.
  • Regular output now includes the time since start after each line. Useful to interpret the "switched to direct" etc lines after the fact (they didn't have any time indication so far)
  • Better formatting for durations
  • Better spans on accept side. Each connection gets an id now that easily allows to grep for that connection through both iroh and quinn logs
  • Print path ids with the paths stats and changes. This allows to correlate with the tracing logs now.

With both logs and qlog in a single dir it's now really straightforward to share it eg with sendme.

Breaking Changes

Notes & open questions

Should --logs include iroh_quinn=trace by default or not?

Change checklist

  • Self-review.
  • Documentation updates following the style guide, if relevant.
  • Tests if relevant.
  • All breaking changes documented.
    • List all breaking changes in the above "Breaking Changes" section.
    • Open an issue or PR on any number0 repos that are affected by this breaking change. Give guidance on how the updates should be handled or do the actual updates themselves. The major ones are:

@github-actions
Copy link

github-actions bot commented Jan 28, 2026

Documentation for this PR has been generated and is available at: https://n0-computer.github.io/iroh/pr/3893/docs/iroh/

Last updated: 2026-02-09T15:03:58Z

@n0bot n0bot bot added this to iroh Jan 28, 2026
@github-project-automation github-project-automation bot moved this to 🚑 Needs Triage in iroh Jan 28, 2026
@Frando Frando changed the title examples(iroh): improve transport example examples(iroh): improve transport example more Jan 28, 2026
@Frando Frando changed the title examples(iroh): improve transport example more examples(iroh): add --logs and --mode ping features to transfer examle Jan 28, 2026
@Frando Frando changed the title examples(iroh): add --logs and --mode ping features to transfer examle examples(iroh): add --logs and --mode ping features to transfer example Jan 28, 2026
@dignifiedquire dignifiedquire added this to the iroh: v0.97 milestone Feb 3, 2026
@dignifiedquire dignifiedquire moved this from 🚑 Needs Triage to 🏗 In progress in iroh Feb 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 🏗 In progress

Development

Successfully merging this pull request may close these issues.

2 participants