void function ( ) { long loc0 = nanoTime ( ) - startTimeNanos ; Preconditions . checkState ( closed . compareAndSet ( false , true ) ) ; elapsedTimeReceiver . accept ( loc0 ) ; }
automatically completes the profiling . at most one of #complete , #completeandgetelapsedtimenanos and #close may be called . concode_field_sep LoggingElapsedTimeReceiverFactory FACTORY concode_elem_sep String taskDescription concode_elem_sep Logger logger concode_elem_sep long startTimeNanos concode_elem_sep ElapsedTimeReceiver elapsedTimeReceiver concode_elem_sep ElapsedTimeReceiver firstReceiver concode_elem_sep ProfilerTask profilerTaskType concode_elem_sep long minNanosForLogging concode_elem_sep ElapsedTimeReceiver NULL_RECEIVER concode_elem_sep AtomicBoolean closed concode_elem_sep AtomicReference<LoggingElapsedTimeReceiverFactory> LOGGING_ELAPSED_TIME_RECEIVER_FACTORY_REF concode_elem_sep ElapsedTimeReceiver secondReceiver concode_elem_sep AtomicReference<Clock> CLOCK_REF concode_elem_sep TimeUnit timeUnit concode_elem_sep Object object concode_field_sep AutoProfiler profiledAndLogged concode_elem_sep AutoProfiler timed concode_elem_sep AutoProfiler logged concode_elem_sep AutoProfiler logged concode_elem_sep AutoProfiler logged concode_elem_sep long nanoTime concode_elem_sep ElapsedTimeReceiver create concode_elem_sep AutoProfiler create concode_elem_sep ElapsedTimeReceiver create concode_elem_sep void setLoggingElapsedTimeReceiverFactory concode_elem_sep AutoProfiler profiled concode_elem_sep String loggingMessage concode_elem_sep void complete concode_elem_sep long completeAndGetElapsedTimeNanos concode_elem_sep void setClock concode_elem_sep void accept concode_elem_sep void accept concode_elem_sep void accept concode_elem_sep void accept concode_elem_sep void accept