public static <R, T extends Throwable> R trace(final ThrowingCallable<R, T> callable,
    final String spanName) throws T {
    return trace(callable, () -> createSpan(spanName));
  }
A {@link Callable} that may also throw.
@param <R> the result type of method call.
@param <T> the type of {@link Throwable} that can be produced.
hbase-common/src/main/java/org/apache/hadoop/hbase/trace/TraceUtil.java