diff --git a/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.h b/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.h index 1bc85ee3ce51a..f28cdca525165 100644 --- a/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.h +++ b/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.h @@ -29,6 +29,7 @@ #include "absl/base/thread_annotations.h" #include "absl/functional/any_invocable.h" +#include "absl/log/log.h" #include "absl/status/status.h" #include "absl/status/statusor.h" #include "absl/types/optional.h" @@ -314,8 +315,10 @@ class ThreadedFuzzingEventEngine : public FuzzingEventEngine { fuzzing_event_engine::Actions()), main_([this, max_time]() { while (!done_.load()) { - absl::SleepFor(absl::Milliseconds( - grpc_event_engine::experimental::Milliseconds(max_time))); + if (max_time > Duration::zero()) { + absl::SleepFor(absl::Milliseconds( + grpc_event_engine::experimental::Milliseconds(max_time))); + } Tick(); } }) {} diff --git a/test/cpp/performance/writes_per_rpc_test.cc b/test/cpp/performance/writes_per_rpc_test.cc index 7a24ebd917bbf..9bd8f00933470 100644 --- a/test/cpp/performance/writes_per_rpc_test.cc +++ b/test/cpp/performance/writes_per_rpc_test.cc @@ -61,7 +61,7 @@ using grpc_event_engine::experimental::URIToResolvedAddress; void* tag(intptr_t x) { return reinterpret_cast(x); } -constexpr int kIterations = 10000; +constexpr int kIterations = 1000; constexpr int kSnapshotEvery = kIterations / 10; } // namespace @@ -216,17 +216,20 @@ static double UnaryPingPong(ThreadedFuzzingEventEngine* fuzzing_engine, EchoTestService::NewStub(fixture->channel())); auto baseline = grpc_core::global_stats().Collect(); auto snapshot = grpc_core::global_stats().Collect(); + auto last_snapshot = absl::Now(); for (int iteration = 0; iteration < kIterations; iteration++) { - if (iteration % kSnapshotEvery == 0) { + if (iteration > 0 && iteration % kSnapshotEvery == 0) { auto new_snapshot = grpc_core::global_stats().Collect(); auto diff = new_snapshot->Diff(*snapshot); - gpr_log(GPR_DEBUG, - " SNAPSHOT: UnaryPingPong(%d, %d): writes_per_iteration=%0.3f " - "(total=%lu, i=%d) pings=%lu", - request_size, response_size, - static_cast(diff->syscall_write) / - static_cast(kSnapshotEvery), - diff->syscall_write, iteration, diff->http2_pings_sent); + auto now = absl::Now(); + LOG(ERROR) << " SNAPSHOT: UnaryPingPong(" << request_size << ", " + << response_size << "): writes_per_iteration=" + << static_cast(diff->syscall_write) / + static_cast(kSnapshotEvery) + << " (total=" << diff->syscall_write << ", i=" << iteration + << ") pings=" << diff->http2_pings_sent + << "; duration=" << now - last_snapshot; + last_snapshot = now; snapshot = std::move(new_snapshot); } recv_response.Clear(); @@ -238,7 +241,7 @@ static double UnaryPingPong(ThreadedFuzzingEventEngine* fuzzing_engine, response_reader->Finish(&recv_response, &recv_status, tag(4)); CHECK(fixture->cq()->Next(&t, &ok)); CHECK(ok); - CHECK(t == tag(0) || t == tag(1)); + CHECK(t == tag(0) || t == tag(1)) << "Found unexpected tag " << t; intptr_t slot = reinterpret_cast(t); ServerEnv* senv = server_env[slot]; senv->response_writer.Finish(send_response, Status::OK, tag(3));