Argument description:
Create a new probe-monitor object with a name. If name is not given a unique name will be created for it automatically. The probe-monitor samples probes in the system either at a regular interval or when a notification is raised.
The sampling-mode argument specifies the mode used to perform sampling. Default is "realtime-sync" when the interval is in realtime (wallclock), but also synchronized so all processor have executed at least one quantum since last sample.
With the "realtime" sampling mode, sampling is based on the wallclock time only, without any synchronization. Some probes might yield strange results, when some processors have not executed at all since the last sample.
Mode can also be "virtual", where the virtual time is used to perform sampling. The time is based on the virtual time of the first processor found in the system, unless clock is set to override the default one with another clock or processor.
In "realtime-sync", "realtime" and "virtual" modes the interval is set in seconds by the interval argument.
Another available mode is "notifier" where sampling is performed each time a notification is raised. notifier-type specifies the notifier type and notifier-obj the object where the notifier is installed.
The timestamp-file specifies a file to be used recording specific timepoints when the sampling should take place. Together with realtime-sync the file will be created and filled with the cycle count from the clock argument, when the samples are taken.
With the time-stamp sampler, this file will instead be used as an input file, and the sampling will take place on the cycles specified in the file.
Probes to sample are added by the <probe-monitor>.add-probe command.
Output handling. By default, each sample measured by the probe-monitor, will print a table row on standard output. (A table row can consist of multiple lines being printed, including repeated headers).
The output-file argument specifies if the run-time table rows should be printed to a file, including any summary output.
The -window switch will cause the run-time samples to be printed in a separate console instead of the standard output.
The -print-no-samples switch specifies that no samples are printed to standard output, or a window, during execution. Any file output, with the output-file argument will still occur.
If -summary is given a summary of all sampled probes will be printed every time the simulation is stopped.
The sample data history is also stored in memory, so the data can be viewed at any time through the <probe-monitor>.print-table command. When sampling at a high frequency, it is recommended to not produce any sample output while running, reducing the overhead of the probe-monitor.