Windows Performance Monitor

Through the Windows Performance Monitor, AppMon monitors host system parameters that are running a Windows-based operating system.

Most other Measures are calculated by AppMon. Those retrieved by the Windows Performance Monitor are not retrieved by an Agent. They are directly calculated by the Monitor. Performance Counters is available on most versions of Windows starting with Windows 95 and Windows NT 4.0. Different Measures may be available for different operating systems.

Basic Configuration

To add a new Windows Performance Monitor to a System Profile follow these steps:

  1. Open the System Profile preferences.
  2. Select the Monitors tab.
  3. Click Create > Windows Performance Monitor.
  4. Specify a name and a description for the Monitor and configure the settings as described below.


The Translation check box enables the Performance Counter name translation. Select this check box if you notice missing Measures due to some target machines running a non-English language version of Windows.

Select host(s) that should be the target(s) of the monitor

A Monitor can be configured for multiple target hosts. Only one configuration is necessary; it is executed for all configured machines. This is especially useful in cluster environments that feature many similarly configured hosts.

Add Single hosts, hostgroups, or sites by clicking the + icon. Create a new host if the desired host is not shown. The Monitor runs for all contained hosts if you add a hostgroup or site.

Optionally, add an intersection of hostgroups or sites. The Monitor runs for all hosts that belong to all selected groups or sites. If the configuration would resolve a single host more than once (if Host1 is also contained in Hostgroup1), the Monitor is only executed once per host.

You can also add target hosts using the Server REST interface. The required POST request is located in the Tasks and Monitors group. The request documentation is based on the Swagger specification and embedded to the request form.

See Infrastructure configuration for more information on how to manage hosts and hostgroups.


Configured Hosts As Shown in Hosts Table Monitor
Host1 Host1
Host1 Host2 Host1 and Host 1
Hostgroup 1 Host2 All hosts from Hostgroup 1 and also Host 2
Hostgroup 1 Hostgroup 2 All hosts from Hostgroup 1 and also Hostgroup 2
Hosts belonging to Hostgroup 1, Hostgroup 2 Host 1 All hosts that are both in Hostgroup 1 and Hostgroup 2 (an intersection of Hostgroup 1 and Hostgroup 2), plus Host 1

Use the actual host name on Windows Vista instead of localhost.

Customizing the execution schedule

Open the Schedule tab, then choose a predefined schedule or create your own schedule if none fits. Any schedules you create are available for the whole System Profile.

Centrally deploying a monitor to different global locations

Open the Schedule tab, then select the desired AppMon Collector or AppMon Server from the Execute on list. Only currently connected AppMon Collectors are shown in this list. The selection appears as Embedded Dynatrace Collector.


If an AppMon Collector that is connected through a slow network or a Monitor that contains large library files is run on a remote machine, it is possible, though rare, that the first execution fails with a Missing Binaries error. This error should disappear on the next scheduled run of the Monitor.


Execute this Monitor on an AppMon Server or AppMon Collector that runs on Windows.

Authentication and permissions

Remote retrieval of Performance Counter data requires authentication to succeed. This means that the AppMon Collector service that runs the Monitor must run as a user that can query Performance Counters on the target machine. See How To Retrieve Performance Metrics with Windows Performance Monitor for more information.

Measure Configuration

Select the Measures tab to review the Measures currently subscribed by this Monitor. Click Add to add other pre-configured Measures. You can edit a newly added Measure to match a desired performance counter. Note that the parameters are case-sensitive.

How to configure additional metrics

To add Measures to a Monitor that is not predefined, you must define a matching metric first. To do this, follow these steps:

  1. From the Application menu, select Tools > Manage Plugins.
  2. Click the Development tab.
  3. Click New.

Follow the wizard to create a Metric Group Plugin. Click Browse to select the Windows Performance Monitor . Configure the desired Metric Groups and Metrics. Configure each Metric to match one of the desired Windows Performance Counters. Finish the wizard, and build and deploy the Metric Group Plugin to the AppMon Server.

More information about the PDE, see Developing a User Plugin.

To find out which Performance Counters are available, run the command perfmon on the target machine. Right-click on the list of configured Performance Counters to open the Add Counters dialog box. Use this dialog box to browse the available performance objects, the available counters per object and their instances. Select Explain to show an additional dialog box that contains information about the currently selected Performance Counter, if available.


The following measure can be subscribed:

  • Windows CPU Usage
    • Processor Time: The percentage of elapsed time that the processor spends to execute a non-idle thread. It is calculated by measuring the duration of the idle thread that is active in the sample interval, and subtracting that time from interval duration. Each processor has an idle thread that consumes cycles when no other threads are ready to run. This counter is the primary indicator of processor activity, and displays the average percentage of busy time observed during the sample interval. It is calculated by monitoring the time that the service is inactive, and subtracting that value from 100%.
    • User Time: The percentage of elapsed time the processor spends in the user mode. User mode is a restricted processing mode designed for applications, environment subsystems, and integral subsystems. The alternative, privileged mode, is designed for operating system components and allows direct access to hardware and all memory. The operating system switches application threads to privileged mode to access operating system services. It displays the average busy time as a percentage of the sample time.
    • Idle Time: The percentage of time the processor is idle during the sample interval.
  • Windows Memory Usage
    • Free Memory: The amount of physical memory, in bytes, available to processes currently running. It is calculated by adding the amount of space on the Zeroed, Free, and Standby memory lists. Free memory is ready for use; Zeroed memory consists of pages of memory filled with zeros to prevent subsequent processes from seeing data used by a previous process; Standby memory is memory that has been removed from a process' working set (its physical memory) on route to disk, but is still available to be recalled. It displays the last observed value only; it is not an average.
  • Windows Disk Usage
    • Custom Disk Free Space: The percentage of total usable space on the configured logical disk drive that is free. Configure this with a disk drive letter.
  • Windows Network Usage
    • Custom Network Bytes Received/sec: The rate at which bytes are received over a single network adapter, including framing characters. Configure this with the exact interface name to monitor.
    • Custom Network Bytes Sent/sec: The rate at which bytes are sent over a single network adapter, including framing characters. Configure this with the exact interface name to monitor.
    • Custom Network Bytes Total/sec: The rate at which bytes are sent and received over a single network adapter, including framing characters. Configure this with the exact interface name to monitor.
  • Windows Performance Monitor
    • Process Count: The number of processes at the time of data collection. This is an instantaneous count, not an average over the time interval.
    • Process Memory Usage: The current size, in bytes, of the working set of all processes. The working set is the set of memory pages touched recently by the threads in the process. If free memory is above a threshold, pages are left in the working set of a process even if they are not in use. When free memory falls below a threshold, pages are trimmed from working sets. If they are necessary, they are soft-faulted back into the working set before leaving the main memory.
    • Run Queue, current: The number of threads in the processor queue. It shows ready threads only, not running threads. There is a single queue for processor time, even on computers with multiple processors. Therefore, if a computer has multiple processors, divide this value by the number of processors servicing the workload.
    • Pages/Sec: The average number of pages faulted per second. It is measured by the number of pages faulted per second because only one page is faulted in each fault operation. This is also equal to the number of page fault operations. This counter includes both hard faults (those that require disk access) and soft faults (the faulted page is found elsewhere in physical memory.) Most processors can handle a large number of soft faults without significant consequence. However, hard faults, which require disk access, can cause significant delays.
    • Pages Input: The rate at which pages are read from disk to resolve hard page faults. Hard page faults occur when a process refers to a page in virtual memory that is not in its working set or elsewhere in physical memory, and must be retrieved from disk. When a page is faulted, the system tries to read multiple contiguous pages into memory to maximize the benefit of the read operation.
    • Pages Output: The rate at which pages are written to disk to free up space in physical memory. Pages are written back to disk only if they are changed in physical memory, so they are likely to hold data, not code. A high rate of pages output might indicate a memory shortage. Windows writes more pages back to disk to free up space when physical memory is in short supply.
    • Free Diskspace: The unallocated space, in megabytes, on the disk drive in megabytes. One megabyte is equal to 1,048,576 bytes.
    • Disk Reads/sec: The rate of read operations on the disk.
    • Disk Writes/sec: The rate of write operations on the disk.
    • PhysicalDisk Read: The rate at which bytes are transferred from the disk during read operations.
    • PhysicalDisk Write: The rate at which bytes are transferred to the disk during write operations.
    • LogicalDisk Free Percentage: The percentage of total usable space on all logical disc drives that is free.