| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Backport of commit e0ca74e9c9f7f83a9db08d062b5ca8bdf05ff748 from v1.3x
Signed-off-by: Clark Williams <clark.williams@gmail.com>
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
| |
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This module runs in parallel with cyclictest and will every minute
use sysstat/sadc to collect all available system statistics. These
statistics is both added as a single file to the tarball and embedded
into the summary.xml.
Also changed the polling time which checks if measurement and load modules
are alive from every second to every minute.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
| |
This adds a dependency of the trace-cmd package as well, but it will
improve the ability to better understand what happened when this the
threshold broke.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The data used to do the mathematical reporting is based on histogram data,
where the calculated variance will be rather pointless to gather.
Imagine you have 3 samples in the historgram in the 2000µs slot, even if
you have quite a lot of data with the average measurements around 50µs,
the calculated "variance" for that time slot will be (1950^2)*3. Even
though the final variance calculation will divide on number of samples
gathered, it will take an enormous amount of samples within a the lower
time slots to make this value interesting.
So rather, don't report or save the calculated variance. However, the
standard deviation is based on the variance, that value is far more sane
due to the needed square root function on the final variance value. So
it gives a far more sane and interesting value. The applied math in the
cyclictest module should be fine itself, it's just the variance value
that isn't much interesting on this kind of data source.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
| |
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
| |
Currently ignoring load modules in general, as the <loads/> tags
isn't easily extended. Not convinced it makes any sense to
track these time stamps on load modules anyway.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
| |
To avoid depending on libxslt-python, use the more standard Python lxml
module for XSLT processing.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
| |
Ensure that hackbench really is stopped before continuing further.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
As the rtevalModulePrototype::run() method will call Hackbench::_WorkloadTask()
every second without ensuring hackbench is running first - wait for hackbench
to complete before returning from _WorkloadTask().
This approach was chosen here as Hackbench is normally a shortliving process
anyway.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
| |
Also resolvs some potential naming conflicts with the 'id' and 'type'
variables.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
| |
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
|
| |
- Updated the GPLv2 license text to match the latest GPLv2 from FSF
- Updated all FSF addresses in all copyright notices in source files
- Updated copyright years for all contributors to include 2013
- Removed all #!/usr/bin/python lines in files which does not need it
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
| |
Avoids saving misinformation in the report, by just reporting the latency
statistics when samples have been collected. In addition also avoid
displaying these empty fields in the summary report.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
| |
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
| |
Adds a note in the summary report if breaktrace was triggered with
some info related to that.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using subprocess.PIPE doesn't allow cyclictest to completely exit
before the pipe is emptied. When using cyclictest with --breaktrace,
rteval will then not see that cyclictest isn't measuring and will
wait until the complete measurement duration has completed instead
of doing an earlier exit.
By using tempfile.SpooledTemporaryFile(), subprocess have a valid
file descriptor it can write the stdout data too. This makes also
cyclictest exit instantly when it needs to.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
| |
As rteval depends on cyclictest running in histogram mode, the
distance argument doesn't make sense as cyclictest enforces it to 0.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
| |
This enables the --breaktrace feature in the cyclictest tool, but
rteval will also collect the trace data and put it in the resulting
tarball.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
| |
Modules doesn't start running instantly, but they start preparing to
be kicked off.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
| |
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This is to help the system to settle down before kicking off the
realtime measurement workload. Otherwise some abnormal latency
spikes might be logged, which would be false alarms. Considering
that the a measurement run should run for several hours, this
time-shifting for 30 seconds shouldn't really change the overall
results.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
| |
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
If a module sets the self._donotrun flag to True, the module logic will
take care of not running this module at all.
This also sorts out some issues when hackbench is not run, where some of
the log file descriptors are not found when cleaning up in the end.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
| |
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
| |
If rteval is used as a library, it would easily throw an exception
due to the wrong data type. This patch makes it a bit more flexible.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is to avoid having massive build requirements just to retrieve
the rteval version.
The version string is also still available via the rteval module as
well, to avoid other external implementations to fail with this change.
But that variable is basically just a "re-export" of the value found
in rteval/version.py
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
directory without options
This commit introduce a new method default_config_search to search, for
each file needed in the configuration, the better default place. This place
can be the rteval file directory, the rteval file directory appended with the
'rteval' directory, the ~/.rteval directory of the user, the /etc/rteval
directory, or the /usr/share/rteval directory.
Signed-off-by: Raphaël Beamonte <raphael.beamonte@gmail.com>
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
| |
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
| |
This also renames the _XMLreport() method to GetXMLreport()
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
| |
This is to make it easier to apply default values when importing the rteval
module from other places than rteval-cmd.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
| |
Signed-off-by: Raphaël Beamonte <raphael.beamonte@gmail.com>
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, when a module was raising a RuntimeError, parent threads weren't
using it to stop the execution of the program. As RuntimeError are frequently
fatal for what we want to set for the execution of rteval, this patches proposes
to use a new rtevalRuntimeError which will set a flag on a module when raised to
allow its parent to raise a RuntimeError to the main thread.
Signed-off-by: Raphaël Beamonte <raphael.beamonte@gmail.com>
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
| |
module error
Signed-off-by: Raphaël Beamonte <raphael.beamonte@gmail.com>
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
| |
Signed-off-by: Raphaël Beamonte <raphael.beamonte@gmail.com>
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
| |
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
| |
This is to avoid an annoying DMI warning if the RtEval() class is
not going to be used.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
| |
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
| |
Just a type, used 'ms' instead of 'us'
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
| |
Added proper breakpoints when the hwlatdetect module did not load,
to ensure rteval can complete without any errors. Also added a
warning note in the summary report if this module failed to run.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
| |
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
| |
The iterator loop exited one too early, so one module was always missing.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
| |
This cleans up the API a little bit, and lets the configuration access
become a bit easier in the load and measurement classes.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
| |
If a section was missing in the config file when being set from the command
line, an exception would occur. In these cases, create the section
"on-the-fly" in the configuration object.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
| |
Try to grab the values from the config file instead of the defaults from
the module, if it is present.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
| |
Removed all the module defaults from rteval-cmd and updated
the modules' default values to the same values. Now module defaults are
only managed inside the module.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
| |
Now all the command line argument modifications will update the
configuration object. Command line arguments will override any
default or configuration variables.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
| |
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All rteval modules must now provide a ModuleParameters() function
which returns a dictionary containing the option setup it expects.
Each module will get a separate option group, and all its options
will be prefixed with the module name. These option variables will
be stored as well, prefixed with the module name. So if the a module
'dummy' configures an option 'value1', it will be stored as
'dummy_value1' in the option container. To set this option, you
will need to use --dummy-value1 from the command line.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
| |
Signed-off-by: David Sommerseth <davids@redhat.com>
|