@ -61,7 +61,7 @@ using grpc_event_engine::experimental::URIToResolvedAddress;
void * tag ( intptr_t x ) { return reinterpret_cast < void * > ( 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 < double > ( diff - > syscall_write ) /
static_cast < double > ( 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 < double > ( diff - > syscall_write ) /
static_cast < double > ( 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 < intptr_t > ( t ) ;
ServerEnv * senv = server_env [ slot ] ;
senv - > response_writer . Finish ( send_response , Status : : OK , tag ( 3 ) ) ;