Wrap calls in recordLatency in try-finally so that the endEpochUpdater gets updated regardless of the failure state of the internal calls