void report()

in Extremem/src/main/java/com/amazon/corretto/benchmark/extremem/ConcurrencyControl.java [174:289]


  void report(ExtrememThread t, boolean reportCSV) {
    String s = Long.toString(total_reader_requests);
    int l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("Total reader requests,", s);
    else
      Report.output("       Total read requests: ", s);
    Util.abandonEphemeralString(t, l);
    
    s = Long.toString(total_reader_waits);
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("requiring this many waits,", s);
    else
      Report.output(" requiring this many waits: ", s);
    Util.abandonEphemeralString(t, l);

    float average;
    int min, max;
    if (total_reader_requests > 0) {
      average = ((float) total_reader_waits) / total_reader_requests;
      min = min_waits_per_read;
      max = max_waits_per_read;
    } else {
      average = 0f;
      min = 0;
      max = 0;
    }
    
    s = Float.toString(average);
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("average waits,", s);
    else
      Report.output("             average waits: ", s);
    Util.abandonEphemeralString(t, l);

    s = Integer.toString(min);
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("ranging from,", s);
    else
      Report.output("              ranging from: ", s);
    Util.abandonEphemeralString(t, l);
    
    s = Integer.toString(max);
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("to,", s);
    else
      Report.output("                        to: ", s);
    Util.abandonEphemeralString(t, l);

    Report.output("");
    s = Long.toString(total_writer_requests);
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("Total writer requests,", s);
    else
      Report.output("     Total writer requests: ", s);
    Util.abandonEphemeralString(t, l);
    
    s = Long.toString(total_writer_waits);
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("requiring this many waits,", s);
    else
      Report.output(" requiring this many waits: ", s);
    Util.abandonEphemeralString(t, l);

    if (total_writer_requests > 0) {
      average = ((float) total_writer_waits) / total_writer_requests;
      min = min_waits_per_write;
      max = max_waits_per_write;
    } else {
      average = 0f;
      min = 0;
      max = 0;
    }

    s = Float.toString(average);
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("average waits,", s);
    else
      Report.output("             average waits: ", s);
    Util.abandonEphemeralString(t, l);
    
    s = Integer.toString(min);
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("ranging from,", s);
    else
      Report.output("              ranging from: ", s);
    Util.abandonEphemeralString(t, l);
      
    s = Integer.toString(max);
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("to,", s);
    else
      Report.output("                        to: ", s);
    Util.abandonEphemeralString(t, l);

    Report.output("");
  }