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

# pmdatxmon(1)

txmon performance metrics domain agent (PMDA)

## NAME

**pmdatxmon**, **txrecord**, **genload** - txmon performance metrics domain agent (PMDA)

## SYNOPSIS

**$PCP\_PMDAS\_DIR/txmon/pmdatxmon** \[**-D** *debug*\] \[**-d** *domain*\] \[**-l** *logfile*\] \[**-U** *username*\] *tx\_type* ...\
 **$PCP\_PMDAS\_DIR/txmon/txrecord** \[**-l**\]\
 **$PCP\_PMDAS\_DIR/txmon/txrecord** *tx\_type servtime* \[*tx\_type servtime* ... \]\
 **$PCP\_PMDAS\_DIR/txmon/genload**

## DESCRIPTION

**pmdatxmon** is an example Performance Metrics Domain Agent (PMDA) which exports a small number of performance metrics from a simulated transaction monitor.

The txmon PMDA is shipped as both binary and source code and is designed to be an aid for PMDA developers; the txmon PMDA demonstrates how performance data can be exported from an application (in this case **txrecord**) to the PCP infrastructure via a shared memory segment. As a matter of convenience, **pmdatxmon** creates (and destroys on exit) the shared memory segment.

The *tx\_type* arguments are arbitrary unique tags used to identify different transaction types.

The **txrecord** application simulates the processing of one or more transactions identified by *tx\_type* and with an observed service time of *servtime .*

With the **-l** option, **txrecord** displays the current summary of the transaction activity from the shared memory segment.

**genload** is a shell and [**awk**(1)](/awk/1.md) script that acts as a front-end to **txrecord** to generate a constant load of simulated transaction activity.

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

- **-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 *txmon.log* is written in the current directory of [**pmcd**(1)](/pmcd/1.md) when **pmdatxmon** 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.

- **-U**

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

## INSTALLATION

If you want access to the names, help text and values for the txmon performance metrics, do the following as root:

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

You will be prompted for the *tx\_type* tags.

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

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

**pmdatxmon** 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 **pmdatxmon**

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

  default help text file for the txmon metrics

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

  installation script for the **pmdatxmon** agent

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

  undo installation script for the **pmdatxmon** agent

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

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

## 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 **pmdatxmon** are as follows:

| | |
| --- | --- |
| Option | Description |
| appl0 | shared memory operations |

## SEE ALSO

[**PCPIntro**(1)](/PCPIntro/1.md), [**pmcd**(1)](/pmcd/1.md), [**pmdasample**(1)](/pmdasample/1.md), [**pmdatrivial**(1)](/pmdatrivial/1.md), **txmonvis**(1) and [**PMDA**(3)](/PMDA/3.md).
