As we were building the NATS Java client we realized we wanted code to run the client through its paces. We built unit tests, example code and added basic functionality to our existing benchmarking tool. As we talked to prospective users, they were asking for benchmarks across the variety of different ways we can publish and subscribe.