void report()

in Extremem/src/main/java/com/amazon/corretto/benchmark/extremem/CustomerLog.java [171:372]


  void report(ExtrememThread t, String label, boolean reportCSV) {
    String s;
    int l;

    Report.output("");
    Report.output("Customer Thread ", label, " summary");
    Report.output("");

    s = Integer.toString(engagements);
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("Total engagements,", s);
    else
      Report.output(" Total engagements: ", s);
    Util.abandonEphemeralString(t, l);

    s = Integer.toString(total_purchased);
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("purchases,", s);
    else
      Report.output("         purchases: ", s);
    Util.abandonEphemeralString(t, l);
    
    s = Integer.toString(total_saved);
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("saves for later,", s);
    else
      Report.output("   saves for later: ", s);
    Util.abandonEphemeralString(t, l);
    
    s = Integer.toString(total_abandoned);
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("abandonments,", s);
    else
      Report.output("      abandonments: ", s);
    Util.abandonEphemeralString(t, l);
    
    s = Integer.toString(total_do_nothings);
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("do-nothings,", s);
    else
      Report.output("       do-nothings: ", s);
    Util.abandonEphemeralString(t, l);
    
    Report.output("");
    Report.output("Products matching all criteria:");

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

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

    if (engagements > 0)
      s = Float.toString(((float) total_all / engagements));
    else
      s = new String("0");
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("average,", s);
    else
      Report.output("           average: ", s);
    Util.abandonEphemeralString(t, l);
                  
    Report.output("");
    Report.output("Products matching any criteria:");

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

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

    if (engagements > 0)
      s = Float.toString(((float) total_any / engagements));
    else
      s = new String("0");
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("average,", s);
    else
      Report.output("           average: ", s);
    Util.abandonEphemeralString(t, l);

    Report.output("");
    Report.output("Products previously saved for now:");

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

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

    if (engagements > 0)
      s = Float.toString(((float) total_previously_saved / engagements));
    else
      s = new String("0");
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("average,", s);
    else
      Report.output("           average: ", s);
    Util.abandonEphemeralString(t, l);

    Report.output("");
    Report.output("Products available for selection:");
    
    s = Integer.toString(max_selection);
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("max,", s);
    else
      Report.output("               max: ", s);
    Util.abandonEphemeralString(t, l);

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

    if (engagements > 0)
      s = Float.toString(((float) total_selection / engagements));
    else
      s = new String("0");
    l = s.length();
    Util.ephemeralString(t, l);
    if (reportCSV)
      Report.output("average,", s);
    else
      Report.output("           average: ", s);
    Util.abandonEphemeralString(t, l);
    
    Report.output("");
    Report.output("Timeliness of preparation");
    preparer.report(t, reportCSV);
    Report.output("");
    Report.output("Timeliness of purchases");
    purchaser.report(t, reportCSV);
    Report.output("");
    Report.output("Timeliness of saves for later");
    saver.report(t, reportCSV);
    Report.output("");
    Report.output("Timeliness of abandonment");
    abandoner.report(t, reportCSV);
    Report.output("");
    Report.output("Timeliness of loss");
    loser.report(t, reportCSV);
    Report.output("");
  }