namespace NATS.Server.Benchmark.Tests.Harness; /// /// Captures the results of a single benchmark run against one server. /// public sealed record BenchmarkResult { public required string Name { get; init; } public required string ServerType { get; init; } public required long TotalMessages { get; init; } public required long TotalBytes { get; init; } public required TimeSpan Duration { get; init; } /// Latency percentiles in microseconds, if measured. public LatencyPercentiles? Latencies { get; init; } public double MessagesPerSecond => TotalMessages / Duration.TotalSeconds; public double BytesPerSecond => TotalBytes / Duration.TotalSeconds; public double MegabytesPerSecond => BytesPerSecond / (1024.0 * 1024.0); } public sealed record LatencyPercentiles( double P50Us, double P95Us, double P99Us, double MinUs, double MaxUs);