| 587 | } |
| 588 | |
| 589 | private static Options buildOptions(XMLConfiguration pluginConfig) { |
| 590 | Options options = new Options(); |
| 591 | options.addOption( |
| 592 | "b", |
| 593 | "bench", |
| 594 | true, |
| 595 | "[required] Benchmark class. Currently supported: " |
| 596 | + pluginConfig.getList("/plugin//@name")); |
| 597 | options.addOption("c", "config", true, "[required] Workload configuration file"); |
| 598 | options.addOption(null, "create", true, "Initialize the database for this benchmark"); |
| 599 | options.addOption(null, "clear", true, "Clear all records in the database for this benchmark"); |
| 600 | options.addOption(null, "load", true, "Load data using the benchmark's data loader"); |
| 601 | options.addOption( |
| 602 | null, "anonymize", true, "Anonymize specified datasets using differential privacy"); |
| 603 | options.addOption(null, "execute", true, "Execute the benchmark workload"); |
| 604 | options.addOption("h", "help", false, "Print this help"); |
| 605 | options.addOption("s", "sample", true, "Sampling window"); |
| 606 | options.addOption("im", "interval-monitor", true, "Monitoring Interval in milliseconds"); |
| 607 | options.addOption("mt", "monitor-type", true, "Type of Monitoring (throughput/advanced)"); |
| 608 | options.addOption( |
| 609 | "d", |
| 610 | "directory", |
| 611 | true, |
| 612 | "Base directory for the result files, default is current directory"); |
| 613 | options.addOption(null, "dialects-export", true, "Export benchmark SQL to a dialects file"); |
| 614 | options.addOption("jh", "json-histograms", true, "Export histograms to JSON file"); |
| 615 | return options; |
| 616 | } |
| 617 | |
| 618 | public static XMLConfiguration buildConfiguration(String filename) throws ConfigurationException { |
| 619 | Parameters params = new Parameters(); |