6. Change log

6.1. Version 0.6.0

Released: 2020-12-07

Bug fixes:

  • Docs: Fixed the names of the Prometheus metrics of the line cord power metrics. (see issue #89)
  • Added missing dependency to ‘urllib3’ Python package.
  • README: Fixed the links to the metric definition and HMC credentials files (see issue #88).
  • Dockerfile: Fixed that all files from the package are included in the Docker image (see issue #91).


  • Added support for specifying a new optional property if in the definition of metric groups in the metric definition file, which specifies a Python expression representing a condition under which the metric group is fetched. The HMC version can be specified in the expression as a hmc_version variable. (see issue #77)


  • The metric definition and HMC credentials YAML files are now validated using a schema definition (using JSON schema). This improved the ability to enhance these files, and allowed to get rid of error-prone manual validation code. The schema validation files are part of the installed Python package. This adds a dependency to the ‘jsonschema’ package. (see issue #81)

6.2. Version 0.5.0

Released: 2020-12-03

Incompatible changes:

  • The sample metric definition file has changed the metric names that are exported, and also the labels. This is only a change if you choose to use the new sample metric definition file; if you continue using your current metric definition file, the exported metrics will be as before.


  • The packages needed for installation are now properly reflected in the package metadata (part of issue #55).

  • Improved the metric labels published along with metric values in multiple ways. The sample metric definition file has been updated to exploit all these new capabilities:

    • The type of resource to which a metric value belongs is now identified in the label name e.g. by showing a label ‘cpc’ or ‘adapter’ instead of the generic label ‘resource’.
    • Resources that are inside a CPC (e.g. adapters, partitions) now can show their parent resource (the CPC) as an additional label, if the metric definition file specifies that.
    • Metrics that identify the resource (e.g. ‘channel-id’ in the ‘channel-usage’ metric group now can used as additional labels on the actual metric value, if the metric definition file specifies that.

    Note that these changes will only become active if you pick them up in your metric definition file, e.g. by using the updated sample metric definition file. If you continue to use your current metric definition file, nothing will change regarding the labels.

  • The published metrics no longer contain empty HELP/TYPE comments.

  • Metrics with the special value -1 that are returned by the HMC for some metrics in case the resource does not exist, are now suppressed.

  • Disabled the Platform and Python specific additional metrics so that they are not collected or published (see issue #66).

  • Overhauled the complete documentation (triggered by issue #57).

  • Added a cache for looking up HMC resources from their resource URIs to avoid repeated lookup on the HMC. This speeds up large metric retrievals from over a minute to sub-seconds (see issue #73).

  • Added a command line option -v / –verbose to show additional verbose messages (see issue #54).

  • Showing the HMC API version as a verbose message.

  • Removed ensemble/zBX related metrics from the sample metric definition file.

  • Added all missing metrics up to z15 to the sample metric definition file.

  • Added support for additional labels to be shown in every metric that is exported, by specifying them in a new extra_labels section of the HMC credentials file. This allows providing some identification of the HMC environment, if needed. (see issue #80)


  • Removed the use of ‘pbr’ to simplify installation and development (see issue #55).

6.3. Version 0.4.1

Released: 2020-11-29

Bug fixes:

  • Fixed the error that only a subset of the possible exceptions were handled that can be raised by the zhmcclient package (i.e. only ConnectionTimeout and ServerAuthError). This lead to lengthy and confusing tracebacks being shown when they occurred. Now, they are all handled and result in a proper error message.
  • Added metadata to the Pypi package declaring a development status of 4 - Beta, and requiring the supported Python versions (3.4 and higher).


  • Migrated from Travis and Appveyor to GitHub Actions. This required several changes in package dependencies for development.
  • Added options –help-creds and –help-metrics that show brief help for the HMC credentials file and for the metric definition file, respectively.
  • Improved all exception and warning messages to be better understandable and to provide the context for any issues with content in the HMC credentials or metric definition files.
  • Expanded the supported Python versions to 3.4 and higher.
  • Expanded the supported operating systems to Linux, macOS, Windows.
  • Added the sample HMC credentials file and the sample metric definition file to the appendix of the documentation.
  • The sample metric definition file ‘examples/metrics.yaml’ has been completed so that it now defines all metrics of all metric groups supported by HMC 2.15 (z15). Note that some metric values have been renamed for clarity and consistency.

6.4. Version 0.4.0

Released: 2019-08-21

Bug fixes:

  • Avoid exception in case of a connection drop error handling.
  • Replace yaml.load() by yaml.safe_load(). In PyYAML before 5.1, the yaml.load() API could execute arbitrary code if used with untrusted data (CVE-2017-18342).

6.5. Version 0.3.0

Released: 2019-08-11

Bug fixes:

  • Reconnect in case of a connection drop.

6.6. Version 0.2.0

Released: 2018-08-24

Incompatible changes:

  • All metrics now have a zhmc_ prefix.

Bug fixes:

  • Uses Grafana 5.2.2.

6.7. Version 0.1.2

Released: 2018-08-23


  • The description now instructs the user to pip3 install zhmc-prometheus-exporter instead of running a local install from the cloned repository. It also links to the stable version of the documentation rather than to the latest build.

6.8. Version 0.1.1

Released: 2018-08-23

Initial PyPI release (0.1.0 was for testing purposes)

6.9. Version 0.1.0

Released: Only on GitHub, never on PyPI

Initial release