29 Commits

Author SHA1 Message Date
589e5217f5 feat(runner,common): add protocol-aware benchmark execution 2026-03-09 18:39:35 +02:00
7a3a5bc3ae feat(runner): add protocol mode to CLI and benchmark config 2026-03-09 16:52:58 +02:00
6198e3ab2e feat(common,server): add ProtocolMode and route server through protocol dispatch 2026-02-26 14:50:49 +02:00
0ea39e7663 refactor(common): add prelude module 2026-02-26 14:20:47 +02:00
99f2e0bb72 refactor(runner): separate into smaller modules 2026-02-25 17:23:20 +02:00
31f5fc5b44 refactor(runner): bound memory usage with FuturesUnordered worker pool 2026-02-25 17:13:36 +02:00
b519c4f059 refactor(runner): remove unused variables 2026-02-25 16:52:14 +02:00
082add6be0 refactor(runner): remove test connection 2026-02-25 16:40:37 +02:00
c0886a454d feat(runner): separate TLS and TCP handshake latency 2026-02-25 16:37:36 +02:00
a5e166e0b0 feat(runner): disable certificate caching 2026-02-25 16:26:28 +02:00
ea2a07d5aa feat(runner): use per-benchmark TLS mode instead of global mode 2026-02-25 16:18:20 +02:00
07cae6df55 refactor(runner): replace miette! with into_diagnostic and contex 2026-02-25 13:16:33 +02:00
b16b591580 test: add payload protocol tests and refactor write_results 2026-02-24 14:00:32 +02:00
439eaa46c0 test: add unit tests for config, errors, and records 2026-02-13 22:57:12 +02:00
f836bdf6c4 refactor(runner): reorganize config module 2026-02-11 17:53:42 +02:00
cfdcd983e0 feat(runner): add detailed TOML config validation with miette errors
- Use miette's NamedSource and SourceSpan for precise error locations
    - Implement field-level validation (mode, payload, iters, concurrency)
    - Show exact line and field causing validation errors in CLI output
2026-02-11 17:47:09 +02:00
818cfd5598 refactor(server,common): introduce custom error types with thiserror and miette 2026-02-11 16:29:59 +02:00
cda6024062 refactor(runner): use custom error types with thiserror and miette 2026-02-11 15:53:38 +02:00
cf8c1d9f84 feat(runner): add TOML matrix benchmark config support 2026-02-11 15:29:28 +02:00
1c6625a04c feat(runner): add TOML config file support for matrix benchmarks
- Add toml and serde dependencies
- Create config module with Config and BenchmarkConfig structs
- Add --config CLI option for matrix benchmarks
- Refactor `run_benchmark()` to accept BenchmarkConfig
2026-02-06 17:43:46 +02:00
e2dda3ee83 feat(runner): log negotiated cipher once before benchmark 2026-02-05 15:03:22 +02:00
d235a5d2c7 feat(server): log negotiated cipher suite after handshake 2026-02-05 13:09:56 +02:00
46bc7960c1 feat(server): add structured logging with tracing 2026-02-04 15:53:20 +02:00
2972163055 feat(runner): add structured logging with tracing
- Add tracing, tracing-subscriber, uuid dependencies
- Replace eprintln! with info! for structured logs
- Add run_id, rust_version, os, arch to benchmark start log
2026-02-04 11:53:40 +02:00
0da83f231b feat(runner): implement concurrent benchmark execution
- Add tokio::Semaphore for bounded parallelism
- Split benchmark into sequential warmup and parallel measured phases
- Refactor to spawn_benchmark_tasks() and spawn_single_iteration()
- Add write_results() to aggregate and output records
- Use u32 for CLI arguments (iters, warmup, concurrency, payload_bytes)
2026-02-04 10:27:37 +02:00
27e1cbe98b feat: add hybrid PQ key exchange support (X25519MLKEM768)
- Update server and runner to use X25519MLKEM768 kx group from aws_lc_rs
- Both --mode x25519 and --mode x25519mlkem768 now work
- Integration tested end-to-end with both modes
2026-02-03 14:00:53 +02:00
b03cc2a386 feat(runner): add TLS 1.3 client with X25519
- Configure rustls client with aws_lc_rs, X25519-only key exchange
- Skip certificate verification for benchmarking (NoVerifier)
- Measure TLS handshake latency (TCP + TLS combined)
- TLS 1.3 protocol enforced
2026-01-28 18:30:40 +02:00
e07d16644e chore: add LICENSE
Create LICENSE-APACHE

Create LICENSE-MIT
2026-01-26 16:23:31 +02:00
d128816956 refactor: rename crates 2026-01-26 16:17:04 +02:00