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("");
}