Monitor resources and collect results

System metrics

Note: this metrics collection implementation is being replaced by a new one which will be documented shortly.

The default Chameleon image is configured to send a selection of system metrics to the OpenStack Ceilometer service. Visualizing these metrics is not yet supported in the web interface. To collect metrics, use the ceilometer command line tool. First, install it on our own machine (laptop or workstation) by following the instructions of the OpenStack documentation.

Then, set up your environment for OpenStack command line usage, as described in the provisioning documentation.

Now, you can run the Ceilometer command line utility. To show the different kinds of metrics collected by Ceilometer, run: ceilometer meter-list -q 'resource_id=<instance_id>'

To get all the samples of a particular metric, run: ceilometer sample-list -m <meter_name> -q 'resource_id=<instance_id>'

The following metrics are collected by Ceilometer:

Energy and power consumption

Our CentOS 7 and Ubuntu 16.04 appliances now include support for reporting energy and power consumption of each CPU socket and of memory DIMMs. It is done with the etrace2 utility which relies on the Intel RAPL (Running Average Power Limit) interface:

# spawn your program and print energy consumption 
$ etrace2 your_program

# also print power consumption every 0.5 sec
$ etrace2 -i 0.5 your_program

# just print power consumption every 1sec for 10sec
$ etrace2 -i 1.0 -t 10

For example, to report energy consumption during the generation of a large RSA private key:

$ etrace2 openssl genrsa -out private.pem 4096
# ETRACE2_VERSION=0.1
Generating RSA private key, 4096 bit long modulus
..............................................................................................................................................................................................................................................................................................................++
.............................................................................................................................................................++
e is 65537 (0x10001)
# ELAPSED=2.579472
# ENERGY=365.788208
# ENERGY_SOCKET0=99.037841
# ENERGY_DRAM0=78.577698
# ENERGY_SOCKET1=109.230103
# ENERGY_DRAM1=80.336548

The energy consumption is reported in joules.

etrace2 reports power and energy consumption of CPUs and memory of the node during the entire execution of the program. This will include consumption of other programs running during this period, as well as power and energy consumption of CPUs and memory under idle load.

Note the following caveats:

This utility was contributed by Chameleon user Kazutomo Yoshii of Argonne National Laboratory.