Releases: distributed-system-analysis/pbench
v0.69.2-server
Adding PR #1690 to 0.69.1-server.
v0.69.1-server
This release adds two features:
- a reindex feature allowing reindexing of existing tarballs without impeding the indexing of new ones
- indexing fixes for pbench-user-benchmark
There are also some bug fixes and improvements in packaging.
v0.69-server
Server release.
V0.68
An agent-only release. The release contains a large number of changes, most of which are invisible from the outside but some of which are very visible.
The first such change is that the configtools
package is now incorporated into pbench-agent
. That means that if you have a configtools
package already installed (which you probably do), you need to uninstall it:
-
The current
pbench-agent
RPM explicitly conflicts with theconfigtools
package, so unless you uninstallconfigtools
, you will not be able to install pbench-agent -
If you have installed
configtools
from PyPI, (e.g. v0.67 did that) you need to uninstall that also:yum erase configtools -y pip3 uninstall -y configtools
On RHEL 7, you need an extra step (see Python3 on RHEL 7 for details):
scl enable rh-python36 bash pip3 uninstall -y configtools
The second major change is that the CONFIG
environment variable that configtools
used is no longer used by the pbench-agent
. There is a new environment variable that is set when you login to a host after you install pbench-agent
: _PBENCH_AGENT_CONFIG
. That variable is set by /etc/profile.d/pbench-agent.sh
which is executed automatically when you login.
The agent is using python3 for all its python needs now. On RHEL 7, python3 is provided by scl-utils
(the Software Collections Library package) and the associated rh-python36
package. If you are running pbench-agent
, all of that should stay invisible in the background: you should not even notice. But if there are problems, it helps to know what's going on underneath in order to debug and fix any problems. See Python3 on RHEL 7 for some tips if you have problems.
The pbench-agent
scripts no longer install packages behind the scenes. We used to check for and install packages that were needed for bench-scripts. We still check, but do not install, those packages. If you run a script and you get a failure, you will have to install the required package before re-running the script.
Installation
There are ansible playbooks to install the pbench-agent
and the pieces needed (key and config files) to be able to send results to a server.
There are no other installation changes in this release: see the Installation Instructions for how to install or update.
After installation or update, you should have version 0.68-1gf4c94b4d
of the pbench-agent
RPM installed.
Agent
In addition to the comments above about pbench-agent
behaviors, there are a few other changes to be noted.
Running the pbench-fio
bench-script now requires that the 3.19 release of upstream fio
be installed. Previous releases required the 3.12 release. You will need to install the current version via yum install/update pbench-fio
and make sure that you are installing the 3.19 release.
There was a long-standing problem with fio: when you request latency logs be collected, the resulting logs frequently contain multiple entries per timestamp. This causes the pbench post-processing code to emit warnings about the duplicate timestamps, e.g.:
...
[WARNING] fio_slat.3.log: timestamp 8612 for rwtype 0 found multiple times, values [16195, 4000, 4000] will be averaged
[WARNING] fio_slat.3.log: timestamp 9397 for rwtype 0 found multiple times, values [122900, 5571] will be averaged
[WARNING] fio_slat.3.log: timestamp 9397 for rwtype 1 found multiple times, values [8021, 13000] will be averaged
[WARNING] fio_slat.4.log: timestamp 2054 for rwtype 1 found multiple times, values [27133, 4750] will be averaged
...
That was the case in earlier releases and is still the case now. We have opened an issue in upstream fio to try to get to the bottom of this problem.
The tools code was thoroughly roto-tilled in preparation for the upcoming Tool Meister changes (PR #1248), but the visible effects of that should be nil.
The uperf
bidirec
test case was fixed to implement the expected behavior correctly.
pbench-user-benchmark
has undergone considerable improvement in order to allow the results to be indexed in certain cases.
linpack
workloads have been added and linpack
is now supported by pbench-run-benchmark
.
pbench-specjbb2005
has seen a number of fixes.
We are moving towards an all-python implementation of the agent. To that end, we are now checking the code automatically with flake8
and reformatting it with black
through a commit hook.
Server
This is an agent-only release. There are several changes to server code, however we are not ready to make a release yet.
Web Server
There are no changes and no new web-server
RPMs have been produced.
Pbench Dashboard
The development of the dashboard is not tracked in these release notes. The dashboard has been moved into its own git repo.
ChangeLog
This is the list of visible commits since v0.67:
f4c94b4 v0.68: Version bump
4273ae1 process-iteration-samples: ensure strings are being compared
11b6187 pbench-trafficgen: harden post processing
549eb51 Make sure pidstat-datalog does not use exec
f07759f Bump fio version to 3.19.
78ee7b2 Fix kvmtrace & cpuacct -stop-postprocess
1da70e4 Change the fio version that pbench will use
ece06e0 Fix pidstat and turbostat datalogs
e9a3b3f Capture new .screen.d with tool data
b0f25fe Rename screen directory to .screen.d to avoid confusion with tools
8349098 Use dedicated directory for screen logs
746efbc Fix uperf XML for bidirec test type
e4ae832 Drop use of screen -Logfile for old screen vers
f463f83 Separate run benchmark iteration names by a space
d454cb4 Modify pbench-user-benchmark to use iteration names
ed4f319 Fix pbench-specjbb2005's iteration handling
69dcbea Add missing package names for a few tools
5cb312d Use exec instead of fork for tools were possible
d385df4 Add single quotes to perf tool options
64cb494 Fix tool stop/postprocess handling
8a44178 S3 backup: Large object fixes
8070e70 Delay formatting logging strings.
19ffd31 Tighten down flake8
85b1dcf Refactor indexer module functions into class methods
53dba5f Refactor tool-scripts to use one script
c790d63 Fix .pre-commit-config.yaml YAML signature
e36de35 Add pre-commit hooks for black
2e47cbf Remove unused job_pool.sh
fbfcc61 Bump the mapping versions to accommodate changes
2a38590 Add parent field to table-of-contents JSON docs
f90e4fc Remove list of accepted benchmarks for indexing
d1ae4db Fix bad assertion checks
6fe7c7d Add support for linpack workloads
21f9f9e Allow indexing of results without tool data
0bb101c Enhance indexing to handle pbench-run-benchmark
97f7bea Restore the perf tool to the default tool set
ebef660 Add flake8 support
adf7286 Fix getconf.py and activation script invocations.
429faa0 Refactor variables to isolate site-specific information:
6432ba0 Correctly invoke pbench-metadata-log 'beg'
7e598b8 Don't emit messages directly to the tty
3e08159 Remove the dashboard code given it has its own repo
5a8812e Preparations for move the dashboard to a new repo
627c713 Show favorite user records
e1a945a fixes test fail
59ed4c9 Adds unit test for Search Bar component
f2aee7b Renders breadcrumbs onto the PageHeader
4830986 Pass route through the context
2c2a819 import link and fix sidebar collapse issue
deb5df2 siderMenu collapse action check
54be3d8 adds unit test for SiderMenuWrapper Component
bcea998 fix maximum depth error on Explore page
0ccc226 add pbench-run-benchmark support for linpack
dced777 pbench-run-benchmark: remove '/' characters from iteration labels
69c4f99 pbench-run-benchmark-sample: bug fixes for controller pre/post scripts
7561dc7 pbench-run-benchmark: optimizations and improvements for postprocessing and postprocessing only mode
d7502f0 pbench-run-benchmark: properly handle return codes and capture STDERR
f03fc3e pbench-gen-iterations: bug fix for multiple parameter sets
658ebf7 fix pagination e2e bug
ec6fb64 Add –iteration-list option to pbench-user-benchmark
ebfb35d Fix pbench-trafficgen defaults in help text
e2bf154 S3 backup fixes for large objects.
d3bef96 rename CONFIG to their respective environment var
c92d4b4 Add Marker to sosreport if Hostname not found
933ac9a Upgrade and lock eslint dependencies for consistent linting between local and TravisCI environments
8d822e3 Minor specjbb usage cleanup.
5d8c2a6 Update README.org
4c88741 clicks on the current pagination value
90aaffa Merge Configtools into Pbench
5a4201b Corrections to the main README ahead of DevConf.cz
d84e370 Refactor e2e tests to support multiple records
fad5125 Enable pagination for every Table component in pbench
daac79d Fix specjbb2005 bugs
3fb4270 small fixes
babdb33 minor changes to explore model
6c569db adds unit test
ddc315d Merging table cells
50b4ac3 Implements the feature to delete created sessions
v0.67
v0.66
v0.65-2
v0.65
v0.64
The primary focus of this release is to deliver a working pbench-run-benchmark
in the pbench-agent, along with fixes for the on-going CDM work.
The secondary focus is to deliver a significant set of performance improvements and fixes for the pbench-server indexing sub-system. Along with those changes comes a change to improve the indexing of tar ball table-of-contents data to use the "path tokenizer" to facilitate queries that enable a more efficient display of tar ball contents in the pbench dashboard.