private void printMetrics(
      final Behavior behavior,
      final long startTime,
      final ResultsReporter results,
      final long endTime) {

    if (behavior instanceof Story) {
      System.out.println(
          (results.getFailedScenarioCount() == 0 ? "" : "FAILURE ")
              + this.getScenariosRunMessage(results)
              + ", Failures: "
              + results.getFailedScenarioCount()
              + ", Pending: "
              + results.getPendingScenarioCount()
              + (results.getIgnoredScenarioCount() > 0
                  ? ", Ignored: " + results.getIgnoredScenarioCount()
                  : "")
              + ", Time elapsed: "
              + (endTime - startTime) / 1000f
              + " sec\n");
    } else {
      System.out.println(
          (results.getFailedSpecificationCount() == 0 ? "" : "FAILURE ")
              + "Specifications run: "
              + results.getSpecificationCount()
              + ", Failures: "
              + results.getFailedSpecificationCount()
              + ", Pending: "
              + results.getPendingSpecificationCount()
              + ", Time elapsed: "
              + (endTime - startTime) / 1000f
              + " sec");
    }

    if (results.getFailedBehaviorCount() > 0) {
      handleFailurePrinting(results.getGenesisStep());
    }
  }