In rare cases, there may be reason to start() a TimingMetric instance but ultimately throw away the measurement due to error handling or developer choice.
We should consider adding a reset() or cancel() method that sets startTime back to null without recording the sample.
Thanks @Tarrow for the suggestion!