geopmsession(1) – Command line interface for the GEOPM service batch read features

Synopsis

geopmsession [-h] [-v] [-t TIME] [-p PERIOD] [--pid PID] [--print-header]

Command line interface for the geopm service batch read features. This command can be used to read signals by opening a session with the geopm service.

Read a signal

echo "SIGNAL_NAME DOMAIN DOMAIN_IDX" | geopmsession

Read a signal at a specific period for a specific timeout

geopmsession -p PERIOD_IN_SECONDS -t TIMEOUT_IN_SECONDS
geopmsession --period PERIOD_IN_SECONDS --time TIMEOUT_IN_SECONDS

Read a set of signals

echo -e 'TIME board 0\nCPU_FREQUENCY_STATUS package 0' | geopmsession
70.250978379,2434090909.090909

Get Help or Version

geopmsession -h
geopmsession --help

Description

Command line interface for the GEOPM service read features.

This command can be used to read signals by opening a session with the geopm service. The user specifies which signals to read with standard input. When no command line options are provided, a single read of the signals requested though standard input is made and the results are printed to the screen.

Options

-h, --help

Print help message and exit

-v, --version

Print version and exit

-t TIME, --time TIME

Total run time of the session to be opened in seconds

-p PERIOD, --period PERIOD

When used with a read mode session reads all values out periodically with the specified period in seconds

--pid PID

Stop the session when the given process PID ends

--print-header

Print a CSV header before printing any sampled values

Examples

Some examples of how to use the geopmsession command line tool are provided.

Reading a signal

The input to the command line tool has one request per line. A request for reading is made of up three strings separated by white space. The first string is the signal name, the second string is the domain name, and the third string is the domain index. An example where the entire THERM_STATUS model specific register is read from core zero:

$ echo "MSR::THERM_STATUS# core 0" | geopmsession
0x0000000088430800

This will execute one read of the signal.

Reading a signal periodically

Both a polling period and timeout must be specified. The polling period must be shorter than the timeout specified.

A 100ms polling period with a 300ms timeout is shown below:

echo -e 'MSR::THERM_STATUS# core 0' | geopmsession -p 0.1 -t 0.3
0x0000000088410000
0x0000000088420000
0x0000000088420000
0x0000000088420000

Reading a set of signals

Multiple signals may be specified by separating them with a newline.

echo -e 'TIME board 0\nCPU_FREQUENCY_STATUS package 0\nCPU_FREQUENCY_STATUS package 1\nCPU_ENERGY package 0\nCPU_ENERGY package 1' | geopmsession
70.250978379,2434090909.090909,2775000000,198575.8842163086,88752.19470214844

See Also

geopm(7), geopm_pio(7), geopmread(1), geopmwrite(1),