Application performance management (APM) counters

Last Update: 12/5/2016

api-version = 1.0

Application Performance Management (APM) systems are commonly used in conjunction with load testing solutions to monitor performance and availability of software applications under realistic load scenarios, and helps in diagnosing and fixing problems to maintain an expected level of service.

If you haven't already, look at the information on getting started with these APIs.

Get a list of counters

GET https://{account}.vsclt.visualstudio.com/_apis/clt/apm/counters

Returns counters for application component that can be monitored by load test runs.

Parameter Type Notes
account string Visual Studio Team Services account.
Query
applicationId string Filter by APM application identifier. See APM Applications. applicationId should be of the form pluginType~YourSpecificApplicationId

Sample request

GET https://fabrikam.vsclt.visualstudio.com/_apis/clt/apm/counters?applicationId=ApplicationInsights~myfirstapp

Sample response

Status code: 200
{
  "count": 13,
  "value": [
    {
      "applicationId": "ApplicationInsights~myfirstapp",
      "id": "APM_InstanceCount",
      "path": "\\myfirstapp\\Default Metrics\\Application Instance Count\\Average",
      "description": "Number of instances running an application",
      "name": "Application Instance Count",
      "isDefault": false
    },
    {
      "applicationId": "ApplicationInsights~myfirstapp",
      "id": "APM_AvgTimeInMs",
      "path": "\\myfirstapp\\Default Metrics\\Average Response Time\\Average",
      "description": "Average Response Time measures the average time required to process transactions on the server in milliseconds.",
      "name": "Average Response Time",
      "isDefault": false
    },
    {
      "applicationId": "ApplicationInsights~myfirstapp",
      "id": "APM_ExceptionEventsInSec",
      "path": "\\myfirstapp\\Default Metrics\\Exception Rate\\Average",
      "description": "Exception Rate is the rate of exceptions as configured to be monitored by the agent. It is measured in exceptions per second.",
      "name": "Exception Rate",
      "isDefault": true
    },
    {
      "applicationId": "ApplicationInsights~myfirstapp",
      "id": "APM_NetworkInBPerSec",
      "path": "\\myfirstapp\\Default Metrics\\Network IO\\Average",
      "description": "Network IO is the rate of traffic sent and received through the network. This is measured in bytes per second.",
      "name": "Network IO",
      "isDefault": true
    },
    {
      "applicationId": "ApplicationInsights~myfirstapp",
      "id": "APM_PerformanceIndex",
      "path": "\\myfirstapp\\Default Metrics\\Performance Index\\Average",
      "description": "Performance Index is the percentage of requests which do not exceed the configured threshold for the monitored application.",
      "name": "Performance Index",
      "isDefault": false
    },
    {
      "applicationId": "ApplicationInsights~myfirstapp",
      "id": "APM_PerformanceEventsInSec",
      "path": "\\myfirstapp\\Default Metrics\\Performance Violation Rate\\Average",
      "description": "Performance Violation Rate is the rate of requests which exceed the configured threshold for the monitored application. This is measured in number of performance events per second.",
      "name": "Performance Violation Rate",
      "isDefault": true
    },
    {
      "applicationId": "ApplicationInsights~myfirstapp",
      "id": "APM_CPU",
      "path": "\\myfirstapp\\Default Metrics\\Process CPU\\Average",
      "description": "Process CPU is determined by the % Processor Time for an application�s process, divided by the number of processor cores.",
      "name": "Process CPU",
      "isDefault": true
    },
    {
      "applicationId": "ApplicationInsights~myfirstapp",
      "id": "APM_DiskIOInBPerSec",
      "path": "\\myfirstapp\\Default Metrics\\Process IO Rate\\Average",
      "description": "Process IO Rate is the rate at which the process is reading and writing bytes in I/O operations. This counter counts all I/O activity generated by the process to include file, network and device I/Os. This is measured in bytes/second.",
      "name": "Process IO Rate",
      "isDefault": true
    },
    {
      "applicationId": "ApplicationInsights~myfirstapp",
      "id": "APM_MemoryInB",
      "path": "\\myfirstapp\\Default Metrics\\Process Private Bytes\\Average",
      "description": "Process Private Bytes is the size of memory that the monitored application�s process has allocated that cannot be shared with other processes. This is measured in bytes.",
      "name": "Process Private Bytes",
      "isDefault": true
    },
    {
      "applicationId": "ApplicationInsights~myfirstapp",
      "id": "APM_ReliabilityRate",
      "path": "\\myfirstapp\\Default Metrics\\Reliability Index\\Average",
      "description": "Reliability Index is the percentage of requests which are processed without exceptions as configured to be monitored by the agent.",
      "name": "Reliability Index",
      "isDefault": false
    },
    {
      "applicationId": "ApplicationInsights~myfirstapp",
      "id": "APM_MonitoredRequestsInSec",
      "path": "\\myfirstapp\\Default Metrics\\Request Rate\\Average",
      "description": "Request Rate is the rate of all requests to the application configured to be monitored by the agent. This is measured in requests per second.",
      "name": "Request Rate",
      "isDefault": false
    },
    {
      "applicationId": "ApplicationInsights~myfirstapp",
      "id": "GSMT_Av15",
      "path": "\\myfirstapp\\Synthetic Transactions\\Application Availability\\Average",
      "description": "Application availability is defined as the percentage of successful monitoring tests run against this application during a 15 minute interval.  A new availability value is reported every 15 minutes.",
      "name": "Application Availability",
      "isDefault": false
    },
    {
      "applicationId": "ApplicationInsights~myfirstapp",
      "id": "GSMT_RtAgg",
      "path": "\\myfirstapp\\Synthetic Transactions\\Application Response Time\\Average",
      "description": "Response time (in milliseconds) is the average across all monitoring tests run against the application during a 15 minute interval.  A new response time is reported every 15 minutes.",
      "name": "Application Response Time",
      "isDefault": false
    }
  ]
}