This talk covers the general approach for building the microbenchmarks you can trust. We will cover lots of pitfalls that makes our lives harder, due to code mistakes, runtime optimizations and their interventions, hardware specifics, and other random noise. This session will also serve as the tutorial for Java Microbenchmark Harness (JMH), which is serving as the harness for performance research in OpenJDK.