Skip to content

Commit

Permalink
feat(perf): support iperf-style intermittent results
Browse files Browse the repository at this point in the history
Pull-Request: #4382.
  • Loading branch information
mxinden authored Oct 25, 2023
1 parent fcd410a commit d15bb69
Show file tree
Hide file tree
Showing 15 changed files with 974 additions and 831 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
run: cargo build --package "$CRATE" --no-default-features

- name: Enforce no dependency on meta crate
if: env.CRATE != 'libp2p-server'
if: env.CRATE != 'libp2p-server' && env.CRATE != 'libp2p-perf'
run: |
cargo metadata --format-version=1 --no-deps | \
jq -e -r '.packages[] | select(.name == "'"$CRATE"'") | .dependencies | all(.name != "libp2p")'
Expand Down
7 changes: 4 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ libp2p-metrics = { version = "0.14.0", path = "misc/metrics" }
libp2p-mplex = { version = "0.41.0", path = "muxers/mplex" }
libp2p-muxer-test-harness = { path = "muxers/test-harness" }
libp2p-noise = { version = "0.44.0", path = "transports/noise" }
libp2p-perf = { version = "0.2.0", path = "protocols/perf" }
libp2p-perf = { version = "0.3.0", path = "protocols/perf" }
libp2p-ping = { version = "0.44.0", path = "protocols/ping" }
libp2p-plaintext = { version = "0.41.0", path = "transports/plaintext" }
libp2p-pnet = { version = "0.24.0", path = "transports/pnet" }
Expand Down
8 changes: 7 additions & 1 deletion protocols/perf/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
## 0.2.0
## 0.3.0 - unreleased

- Continuously measure on single connection (iperf-style).
See https://github.com/libp2p/test-plans/issues/261 for high level overview.
See [PR 4382](https://github.com/libp2p/rust-libp2p/pull/4382).

## 0.2.0

- Raise MSRV to 1.65.
See [PR 3715].
Expand Down
11 changes: 6 additions & 5 deletions protocols/perf/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "libp2p-perf"
edition = "2021"
rust-version = { workspace = true }
description = "libp2p perf protocol implementation"
version = "0.2.0"
version = "0.3.0"
authors = ["Max Inden <[email protected]>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
Expand All @@ -12,25 +12,26 @@ categories = ["network-programming", "asynchronous"]

[dependencies]
anyhow = "1"
async-trait = "0.1"
clap = { version = "4.4.6", features = ["derive"] }
env_logger = "0.10.0"
futures = "0.3.28"
futures-bounded = { workspace = true }
futures-timer = "3.0"
instant = "0.1.12"
libp2p = { workspace = true, features = ["tokio", "tcp", "quic", "tls", "yamux", "dns"] }
libp2p-core = { workspace = true }
libp2p-dns = { workspace = true, features = ["tokio"] }
libp2p-identity = { workspace = true, features = ["rand"] }
libp2p-tls = { workspace = true }
libp2p-quic = { workspace = true, features = ["tokio"] }
libp2p-request-response = { workspace = true }
libp2p-swarm = { workspace = true, features = ["macros", "tokio"] }
libp2p-tcp = { workspace = true, features = ["tokio"] }
libp2p-tls = { workspace = true }
libp2p-yamux = { workspace = true }
log = "0.4"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "1.0"
tokio = { version = "1.33.0", features = ["full"] }
tokio = { version = "1.33", default-features = false, features = ["macros", "rt", "rt-multi-thread"] }
void = "1"

[dev-dependencies]
Expand Down
Loading

0 comments on commit d15bb69

Please sign in to comment.