Provided by: xenomai-runtime_184.108.40.206-1ubuntu2_amd64
xeno-test - Tests and measures the performance of a Xenomai installation
xeno-test [-v] [-w workloads] [-d device] [-W command] [-p command] [-L] [-N prefix] [-m | -M email | -U url] [-s] [-l samples] [-h [-H categories] [-B granularity]] [-T seconds [-q]] [--] [args] ...
xeno-test measures the performance of Xenomai, by executing Xenomai's latency tests while generating a high workload on the system. The default command that is executed to simulate workload (if no alternate command is specified with a -W command option) is: dd if=/dev/zero of=/dev/null The executed latency tests periodically (every second) sample and print out the minimum, average, and maximum latency. However, by default, if no option is specified to xeno-test, those tests are executed with the -q option (see below), which disables the printing of samples. If the -q option is not specified, samples are printed in groups separated by headers. In addition, latency print statistics for all samples before terminating, and can also optionally print statistics for every group of samples (see the -s option), and distribution histograms (see the -h option).
If an invalid option is specified, xeno-test prints out an usage help message and exits. You are strongly encouraged to use the -m option, to anonymously help the Xenomai team collecting statistics about Xenomai's performance on the widest range of systems. The following options are specific to xeno-test: -v Produces more verbose tests results. -w workloads The number of workload commands to execute simultaneously. By default, this number is 1. -d device If the default workload command is to be executed, sets the input device to be read by dd to device instead of /dev/zero. For instance, specifying the device of a real hard-drive (e.g. /dev/hda1) is useful for generating interrupts with I/O. The specified device must be mounted, and cannot be an NFS mount. -W command Executes the specified command to generate workload, instead of the default dd if=/dev/zero of=/dev/null command. If the command requires arguments, the command and its arguments must be quoted and passed as a single command argument. In addition to such static arguments, the args optional arguments passed to xeno-test are appended to command to execute it. -p command Makes xeno-test execute the specified command before and after all the latency executions. -L Activates logging of the tests results. The log file is created in the /tmp/ directory, and is named test-kernel_release-timestamp, where kernel_release is the release number of the running Linux kernel (as determined by executing uname -r), and timestamp is a textual representation of the current date and time (as determined by executing date) used to reduce the risk of file name collisions. The log file name can be customized by using the -N option instead of, or in conjunction with this option. -N prefix Activates logging of the tests results. If the -L option is also specified, prepends prefix to the log file name, hence the log file name is prefixtest-kernel_release-timestamp. If the -L option is not specified, the log file name is prefix-timestamp. This option is useful to create the log file in a different directory than /tmp/ (default prefix when using the -L option), by specifying a prefix which starts with an absolute directory path or a directory path relative to the working directory. -m Sends the tests results to the Xenomai team's email address (email@example.com), to help collecting statistics about Xenomai's performance. The email is sent using the system's mail command. The email's sender address is firstname.lastname@example.org, and the email's subject is "xeno-test results". -M email Similar to the -m option, but sends the tests results to the specified email address instead of the default one. -U url Uploads the tests results to the specified URL. If there is no file part in the specified url, and the -L or -N option is also specified, the log file name is appended to it to form the URL used for upload. The tests results are transmitted as the contents of an HTTP request using the PUT method. The upload is performed using the curl command. This option fails silently (i.e. the tests results are not sent) if curl is not available. The following options are directly passed to the latency test command executed by xeno-test. If no such options are specified, the -s -T 120 -q options are implicitly passed by default by xeno-test. Any user-specified set of options overrides this default set of options. -s Displays statistics (minimum, average, and maximum latencies) for every group of samples. The number of samples in each group is determined by the -l samples option (default is 21 samples). -l samples The number of samples in every group of samples. This number is the number of sample lines displayed between every header line, and is the number of samples used to calculate intermediate statistics if the -s option is specified. By default, this number is 21. -h Displays histograms of all sampled data, at the end of tests. The number of categories - or value intervals - of each histogram is determined by the -H categories option (default is 100 categories). The granularity - or bucket size -, used to separate latency samples into categories, is determined by the -B granularity option (default is 1000 ns). This option implies -s. -H categories The number of categories - or value intervals - of histograms to display if the -h option is specified. By default, this number is 100. -B granularity The granularity - or bucket size -, in nanoseconds, used to discriminate between the categories of latency samples in histograms (to be printed if the -h option is specified). By default, this number is 1000 ns. -T seconds The period, in seconds, during which latency tests are executed. If that option is not specified, the tests execute infinitely until the user types CONTROL-C (i.e. sends a SIGINT signal to them). -q Disables the printing of samples and sample group statistics (hence this overrides the -s option), and only global statistics and histograms are being printed. The default behaviour, if this option is not specified, is to display every sample (measured minimum, average, and maximum latency) and optionally sample group statistics (if -s is specified). -- Indicates the end of options. This must be specified before args arguments if the first argument starts with -, so that it is not considered as an option.
0 The tests executed successfully. 1 An invalid option was specified.
latency allows to specify the -H categories and -B granularity options without the -h option, in which case they have no effect. It is possible to specify the period between samples (default is 1 second) using the latency command's -p option, but this option cannot be passed through xeno-test (this conflicts with xeno-test's own -p option). The workload generation task (e.g., the default dd if=/dev/zero of=/dev/null command) may terminate before the tests are finished, which may produce inaccurate tests results. It may be necessary to specify an alternate command which lasts longer, using the -W command option. Workload processes may not be properly killed when xeno-test terminate.