public static void main(String[] args) {
        boolean displayChartsOnScreen = args.length > 0 && Objects.equals(args[0], "show-gui");
        Journal journal = new Journal();

        List<ExperimentDef> experiments = Arrays.asList(
            //1GB total data written, will take 210s
            new ExperimentDef("Experiment1", 5, 20, 1 * K, 500, 100 * 1000),
            //5GB total data written, will take 110s
            new ExperimentDef("Experiment2", 5, 50, 10 * K, 1000, 100 * 1000),
            //5GB total data written, will take 110s
            new ExperimentDef("Experiment3", 50, 50, 2 * K, 1000, 100 * 1000),
            //10GB total data written, will take 110s
            new ExperimentDef("Experiment4", 25, 100, 4 * K, 1000, 100 * 1000),
            //10GB total data written, will take 80s
            new ExperimentDef("Experiment5", 5, 50, 50 * K, 4000, 100 * 1000)
        );
        experiments.forEach(def -> run(def, journal, displayChartsOnScreen));

        if (!displayChartsOnScreen)
            Exit.exit(0, Option.empty());
    }
Test rig for measuring throttling performance. Configure the parameters for a set of experiments, then execute them
and view the html output file, with charts, that are produced. You can also render the charts to the screen if
you wish.

Currently you'll need about 40GB of disk space to run these experiments (largest data written x2). Tune the msgSize
& #partitions and throttle to adjust this.
tools/src/test/java/org/apache/kafka/tools/other/ReplicationQuotasTestRig.java