---
name: "pmdashping"
section: "1"
platform: "linux"
package: "pcp"
version: "7.2.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pmdashping"
---

# pmdashping(1)

"shell-ping" performance metrics domain agent

## NAME

**pmdashping** - "shell-ping" performance metrics domain agent

## SYNOPSIS

**$PCP\_PMDAS\_DIR/shping/pmdashping** \[**-C**\] \[**-D** *debug*\] \[**-d** *domain*\] \[**-l** *logfile*\] \[**-I** *interval*\] \[**-t** *timeout*\] \[**-U** *username*\] *configfile*

## DESCRIPTION

**pmdashping** is a Performance Metrics Domain Agent (PMDA) which exports quality of service and response time measurements for arbitrary commands as might be run from a shell such as [**sh**(1)](/sh/1.md).

These measurements are intended to be used to quantify service quality and service availability for those services that are either mission critical or act as early indicators of adverse system performance.

The sample configuration monitors simple shell commands (**exit** and [**date**(1)](/date/1.md)), a short computationally intensive task using [**sum**(1)](/sum/1.md), a short C compilation, DNS lookup via [**nslookup**(1)](/nslookup/1.md), YP lookup via [**ypcat**(1)](/ypcat/1.md), bind/portmapper service using **rpcbind**(1), SMTP by connecting to telnet port 25 and sending an \`\`expn root'' request, and NNTP by connecting to telnet port 119 and running a \`\`listgroup'' command.

It is expected that other commands would follow the examples in the sample configuration file, and most deployments of the **pmdashping** PMDA are expected to use a customized configuration file.

A brief description of the **pmdashping** command line options follows:

- **-C**

  Parse *configfile*, reporting any errors and exiting with non-zero status if the file contains syntactical errors.

- **-d**

  It is absolutely crucial that the performance metrics *domain* number specified here is unique and consistent. That is, *domain* should be different for every PMDA on the one host, and the same *domain* number should be used for the same PMDA on all hosts.

- **-l**

  Location of the log file.  By default, a log file named *shping.log* is written in the current directory of [**pmcd**(1)](/pmcd/1.md) when **pmdashping** is started, i.e. **$PCP\_LOG\_DIR/pmcd**. If the log file cannot be created or is not writable, output is written to the standard error instead.

- **-I**

  Amount of time (in seconds) between subsequent executions of the list of commands provided via the configuration file *configfile*. The default is 2 minutes.

- **-t**

  Amount of time (in seconds) to wait before timing out awaiting a response for a command from *configfile*. The default is 20 seconds.

- **-U**

  User account under which to run the agent and all commands. The default is the unprivileged "pcp" account in current versions of PCP, but in older versions the superuser account ("root") was used by default.

The required *configfile* specifies \`\`tag'' and \`\`command'' pairs, each on a separate line. All of the commands are run one after another, with the whole group rescheduled to be run once per *interval*. For each command that is run, **pmdashping** records information related to the success (or timeout), exit status, elapsed time and CPU time (system and user), and this information is exported by the PMDA. The tags are used to identify the individual commands amongst the values exported by the PMDA, and form the external instance domain identifiers for the **pmdashping** metrics which relate to each command.

## INSTALLATION

In order for a host to export the names, help text and values for the shping performance metrics, do the following as root:

```
# cd $PCP_PMDAS_DIR/shping
# ./Install
```

The set of \`\`tag'' and \`\`command'' pairs may be specified from a default (sample) configuration file, a customized file or entered interactively as part of the **Install** script.

If you want to undo the installation, do the following as root:

```
# cd $PCP_PMDAS_DIR/shping
# ./Remove
```

**pmdashping** is launched by [**pmcd**(1)](/pmcd/1.md) and should never be executed directly. The Install and Remove scripts notify [**pmcd**(1)](/pmcd/1.md) when the agent is installed or removed.

## FILES

- **$PCP\_PMCDCONF\_PATH**

  command line options used to launch **pmdashping**

- **$PCP\_PMDAS\_DIR/shping/help**

  default help text file for the shping metrics

- **$PCP\_PMDAS\_DIR/shping/sample.conf**

  example configuration file with a number of common commands

- **$PCP\_PMDAS\_DIR/shping/Install**

  installation script for the **pmdashping** agent

- **$PCP\_PMDAS\_DIR/shping/Remove**

  undo installation script for **pmdashping**

- **$PCP\_LOG\_DIR/pmcd/shping.log**

  default log file for error messages and other information from **pmdashping**

## PCP ENVIRONMENT

Environment variables with the prefix **PCP\_** are used to parameterize the file and directory names used by PCP. On each installation, the file **/etc/pcp.conf** contains the local values for these variables. The **$PCP\_CONF** variable may be used to specify an alternative configuration file, as described in [**pcp.conf**(5)](/pcp.conf/5.md).

## DEBUGGING OPTIONS

The **-D** or **--debug** option enables the output of additional diagnostics on *stderr* to help triage problems, although the information is sometimes cryptic and primarily intended to provide guidance for developers rather than for end-users. *debug* is a comma separated list of debugging options; use [**pmdbg**(1)](/pmdbg/1.md) with the **-l** option to obtain a list of the available debugging options and their meaning.

Debugging options specific to **pmdashping** are as follows:

| | |
| --- | --- |
| Option | Description |
| appl0 | exit handling |
| appl1 | *configfile* parsing, timeouts, refresh cycle |
| appl2 | append commands and arguments to *shping.out* as they are executed |

## SEE ALSO

[**PCPIntro**(1)](/PCPIntro/1.md), [**pmcd**(1)](/pmcd/1.md) and [**pcp-shping**(1)](/pcp-shping/1.md).
