Download PDF
Download page Manage Windows Performance Metrics.
Manage Windows Performance Metrics
The AppDynamics .NET Machine Agent uses Microsoft Performance Counters to gather and report .NET metrics. To manage the metrics that the agent collects:
- Tune the set of metrics that the agent automatically collects
- Configure the agent to collect metrics from additional counters that are not part of the default settings
Tune the Default Performance Metrics for the .NET Agent
The .NET Agent prioritizes the default set of Performance Counters into three categories: low, medium, and high. By default, the agent is set to collect metrics for all three categories.
Metric Browser Location | Metric | Priority |
---|---|---|
ASP.NET | Application Restarts | 3 - Low |
ASP.NET | Applications Running | 3 - Low |
ASP.NET | Request Wait Time | 2 - Medium |
ASP.NET | Requests Disconnected | 3 - Low |
ASP.NET | Requests Queued | 1 - High |
ASP.NET | Requests Rejected | 3 - Low |
ASP.NET | Worker Process Restarts | 3 - Low |
ASP.NET Applications | Anonymous Requests | 3 - Low |
ASP.NET Applications | Anonymous Requests/Sec | 3 - Low |
ASP.NET Applications | Cache API Entries | 3 - Low |
ASP.NET Applications | Cache API Hit Ratio | 3 - Low |
ASP.NET Applications | Cache API Turnover Rate | 3 - Low |
ASP.NET Applications | Cache Total Entries | 3 - Low |
ASP.NET Applications | Cache Total Hit Ratio | 3 - Low |
ASP.NET Applications | Cache Total Turnover Rate | 3 - Low |
ASP.NET Applications | Errors During Compilation | 3 - Low |
ASP.NET Applications | Errors During Execution | 3 - Low |
ASP.NET Applications | Errors During Preprocessing | 3 - Low |
ASP.NET Applications | Errors Total | 2 - Medium |
ASP.NET Applications | Errors Total/sec | 2 - Medium |
ASP.NET Applications | Errors Unhandled During Execution | 3 - Low |
ASP.NET Applications | Errors Unhandled During Execution/sec | 3 - Low |
ASP.NET Applications | Output Cache Entries | 3 - Low |
ASP.NET Applications | Output Cache Hit Ratio | 3 - Low |
ASP.NET Applications | Output Cache Turnover Rate | 3 - Low |
ASP.NET Applications | Pipeline Instance Count | 3 - Low |
ASP.NET Applications | Requests Executing | 3 - Low |
ASP.NET Applications | Requests Failed | 3 - Low |
ASP.NET Applications | Requests in Applicaton Queue | 1 - High |
ASP.NET Applications | Requests Not Authorized | 3 - Low |
ASP.NET Applications | Requests Not Found | 3 - Low |
ASP.NET Applications | Requests Succeeded | 3 - Low |
ASP.NET Applications | Requests Timed Out | 2 - Medium |
ASP.NET Applications | Requests Total | 2 - Medium |
ASP.NET Applications | Requests/sec | 2 - Medium |
ASP.NET Applications | Session SQL Server Connections Total | 3 - Low |
ASP.NET Applications | Session State Server Connections Total | 3 - Low |
ASP.NET Applications | Sessions Abandoned | 3 - Low |
ASP.NET Applications | Sessions Active | 3 - Low |
ASP.NET Applications | Sessions Timed Out | 3 - Low |
ASP.NET Applications | Sessions Total | 3 - Low |
ASP.NET Applications | Transactions Aborted | 3 - Low |
ASP.NET Applications | Transactions Committed | 3 - Low |
ASP.NET Applications | Transactions Pending | 3 - Low |
ASP.NET Applications | Transactions Total | 3 - Low |
ASP.NET Applications | Transactions/sec | 3 - Low |
CLR | Process CPU Burnt % | 2 - Medium |
CLR -> Classes | Current Loaded Class Count | 3 - Low |
CLR -> Classes | Total Classes Loaded | 3 - Low |
CLR -> Locks and Threads | Contention Rate Per Sec | 2 - Medium |
CLR -> Locks and Threads | Current Logical Threads | 2 - Medium |
CLR -> Locks and Threads | Current Physical Threads | 2 - Medium |
CLR -> Locks and Threads | Sink Blocks in Use | 2 - Medium |
CLR -> Memory -> Heap | Committed (bytes) | 1 - High |
CLR -> Memory -> Heap | Current Usage (bytes) | 1 - High |
CLR -> Memory -> Heap | Gen 0 Usage (bytes) | 1 - High |
CLR -> Memory -> Heap | Gen 1 Usage (bytes) | 1 - High |
CLR -> Memory -> Heap | Gen 2 Usage (bytes) | 1 - High |
CLR -> Memory -> LOH | Current Usage (bytes) | 1 - High |
Hardware Resources -> CPU | %Busy | 1 - High |
Hardware Resources -> CPU | %Idle | 3 - Low |
Hardware Resources -> Disks | %Free | 1 - High |
Hardware Resources -> Disks | KB read/sec | 3 - Low |
Hardware Resources -> Disks | KB written/sec | 3 - Low |
Hardware Resources -> Disks | MB Free | 1 - High |
Hardware Resources -> Disks | Reads/sec | 1 - High |
Hardware Resources -> Disks | Writes/sec | 1 - High |
Hardware Resources -> Memory | Free % | 3 - Low |
Hardware Resources -> Memory | Free (MB) | 3 - Low |
Hardware Resources -> Memory | Total (MB) | 1 - High |
Hardware Resources -> Memory | Used % | 1 - High |
Hardware Resources -> Memory | Used (MB) | 2 - Medium |
Hardware Resources -> Network | Incoming KB/sec | 2 - Medium |
Hardware Resources -> Network | Incoming packets/sec | 3 - Low |
Hardware Resources -> Network | Outgoing KB/sec | 2 - Medium |
Hardware Resources -> Network | Outgoing packets/sec | 3 - Low |
IIS | CPU % | 1 - High |
IIS | Number of Working Processes | 3 - Low |
IIS | Working Set | 1 - High |
IIS -> Application Pools -> <name> | CPU % | 1 - High |
IIS -> Application Pools -> <name> | Number of Working Processes | 3 - Low |
IIS -> Application Pools -> <name> | Working Set | 1 - High |
IIS -> INFO | VersionMajor | 3 - Low |
IIS -> INFO | VersionMinor | 3 - Low |
To reduce the number of metrics that the agent sends to the Controller, or to view less than a full set of metrics, you can configure that agent to collect fewer performance metrics. You can also set the agent to only collect specific metrics from the list. See .NET Agent Configuration Properties.
Configure Additional Performance Counters for .NET
If the agent does not monitor performance counters you are interested in, you can add additional performance counters.
- Shut down the
AppDynamics.Agent.Coordinator
service. Open the
config.xml
file for editing as an administrator. See 'Where to Configure Agent Properties' on Administer the .NET Agent.Add the Performance Counters block as a child of the Machine Agent element.
<perf-counters> <perf-counter cat="" name="" instance=""/> </perf-counters>
CODECreate a Performance Counter element for each performance counter you want to add. Use any of the performance counters as specified in Performance Counters in .NET Framework.
- Set the
cat
attribute to the category of the performance counter. - Set the
name
attribute to the performance counter name. - Set the
instance
attribute to the instance of the performance counter.
If the counter does not have an instance name, leave an empty string""
.
If a particular performance counter has many instances, you can specify the following options to report the sum of all instances:- instance =
"*"
OR instance =
"all"
- instance =
For example, to add the performance counter for measuring CPU Idle time(%), add this element in the
<perf-counters>
block:<perf-counter cat="Processor" name="% Idle Time" instance="_Total"/>
- Set the
- Save the
config.xml
file. - Start the
AppDynamics.Agent.Coordinator
service.
After you enable Performance Counter metrics, they display under the Custom Metrics tree in the Metric Browser.
Sample .NET Machine Agent Configuration with Performance Counters
<machine-agent>
<!-- Additional machine level Performance Counters -->
<perf-counters>
<perf-counter cat="Processor" name="% Idle Time" instance="_Total"/>
<!-- Perf counter with no instance name -->
<perf-counter cat="Memory" name="Available MBytes" instance="" />
</perf-counters>
</machine-agent>