The AppDynamics .NET Machine Agent uses Microsoft Performance Counters to gather and report .NET metrics. You can manage the metrics that the agent collects as follows:
- 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 set.
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.
Click here to view the default metric priorities...
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 Entires | 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 Compliation | 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 Sate Server Connections Total | 3 - Low |
ASP.NET Applications | Sessions Abandoned | 3 - Low |
ASP.NET Applications | Sessions Active | 3 - Low |
ASP.NET Applications | Sessiosn 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 |
Hardware Resources -> System | RQ | 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 |
If you want to reduce the number of metrics that the agent sends to the Controller, or if your are not interested in the 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. For specific instructions about how to configure the agent, see "Perf-metrics Element" on .NET Agent Configuration Properties.
If the agent doesn't 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 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>
Create 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 doesn't have an instance name, leave an empty string ""
.
If a particular performance counter has many instances you can specify the following options:
For example, to add the performance counter for measuring CPU Idle time(%), add the following element in the <perf-counters> block:
- Save config.xml.
- Start the AppDynamics.Agent.Coordinator service.
After you enable Performance Counter metrics, they appear under the Custom Metrics tree in the Metric Browser.
<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>