public void endFunctionExecutionWithElapsedTime(long elapsedNanos, boolean haveResult) {
    // Increment number of function executions completed
    _stats.incInt(_functionExecutionsCompletedId, 1);

    // Decrement function Executions running.
    _stats.incInt(_functionExecutionsRunningId, -1);

    // Increment function execution complete processing time
    _stats.incLong(_functionExecutionsCompletedProcessingTimeId, elapsedNanos);

    if (haveResult) {
      // Decrement function Executions with haveResult = true running.
      _stats.incInt(_functionExecutionsHasResultRunningId, -1);

      // Increment function execution with haveResult = true complete processing time
      _stats.incLong(_functionExecutionsHasResultCompletedProcessingTimeId, elapsedNanos);
    }
  }
Increments the "functionExecutionsCompleted" and "functionExecutionCompleteProcessingTime"
stats.

@param elapsedNanos The elapsed time for function execution in nanoseconds
@param haveResult haveResult=true then update the _functionExecutionHasResultRunningId and
       _functionExecutionHasResultCompleteProcessingTimeId
geode-core/src/main/java/org/apache/geode/internal/cache/execute/metrics/FunctionServiceStats.java