The .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.
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 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"
For example, to add the performance counter for measuring CPU Idle time(%), add this element in the <perf-counters> block: