code: private <T> T call(UfsCallable<T> callable) throws IOException {
      LOG.debug("Enter: {}", callable);
      String methodName = callable.toString().split(NAME_SEPARATOR)[0];
      try (Timer.Context ctx = MetricsSystem.timer(getQualifiedMetricName(methodName)).time()) {
        T ret = callable.call();
        LOG.debug("Exit (OK): {}", callable);
        return ret;
      } catch (IOException e) {
        MetricsSystem.counter(getQualifiedFailureMetricName(methodName)).inc();
        LOG.debug("Exit (Error): {}, Error={}", callable, e.getMessage());
        throw e;
      }
    }
docs: A wrapper for invoking an {@link UfsCallable} with enter/exit point logging.
  
  @param callable the callable to invoke
  @param <T> the return type
  @return the result of the callable