List of Performance Counters for Windows Azure Web roles

Here
is a list of performance counters, which you can use with Windows Azure Web
Role:

 

// .NET 3.5 counters

@"\ASP.NET Apps v2.0.50727(__Total__)\Requests Total"

@"\ASP.NET Apps v2.0.50727(__Total__)\Requests/Sec"

@"\ASP.NET v2.0.50727\Requests Queued"

@"\ASP.NET v2.0.50727\Requests Rejected"

@"\ASP.NET v2.0.50727\Request Execution Time"

@"\ASP.NET v2.0.50727\Requests Queued"

// Latest .NET Counters (4.0)

@"\ASP.NET Applications(__Total__)\Requests Total"

@"\ASP.NET Applications(__Total__)\Requests/Sec"

@"\ASP.NET\Requests Queued"

@"\ASP.NET\Requests Rejected"

@"\ASP.NET\Request Execution Time"

@"\ASP.NET\Requests Disconnected"

@"\ASP.NET v4.0.30319\Requests Current"

@"\ASP.NET v4.0.30319\Request Wait Time"

@"\ASP.NET v4.0.30319\Requests Queued"

@"\ASP.NET v4.0.30319\Requests Rejected"

@"\Processor(_Total)\% Processor Time"

@"\Memory\Available MBytes

@"\Memory\Committed Bytes"

@"\TCPv4\Connections Established"

@"\TCPv4\Segments Sent/sec"

@""\TCPv4\Connection Failures"

@""\TCPv4\Connections Reset"

@"\Network Interface(Microsoft Virtual Machine Bus Network Adapter _2)\Bytes Received/sec"

@"\Network Interface(Microsoft Virtual Machine Bus Network Adapter _2)\Bytes Sent/sec"

@"\Network Interface(Microsoft Virtual Machine Bus Network Adapter _2)\Bytes Total/sec"

@"\NetworkInterface(*)\Bytes Received/sec"

@"\NetworkInterface(*)\Bytes Sent/sec"

@"\.NET CLR Memory(_Global_)\% Time in GC"

 

You
can define "AddAzurePerformanceCounter" class in your Web Role as below:

 

public class AddAzurePerformanceCounter

{

private IList<PerformanceCounterConfiguration> _perfCounters;

       public AddAzurePerformanceCounter (IList<PerformanceCounterConfiguration> counterCollection)

      {

       _perfCounters = counterCollection;

      }

      public void AddPerformanceCounter(string counterName, int minuteInterval)

      {

      PerformanceCounterConfiguration perfCounter = new PerformanceCounterConfiguration();

      perfCounter.CounterSpecifier =counterName;

      perfCounter.SampleRate = System.TimeSpan.FromMinutes(minuteInterval);

      _perfCounters.Add(perfCounter);

      }

}

Add Performance Counters as
Below:

AddAzurePerformanceCounter counters = new AddAzurePerformanceCounter(diagConfig.PerformanceCounters.DataSources);

counters.AddPerformanceCounter(@"\Processor(_Total)\% Processor Time", 5);

counters.AddPerformanceCounter(@"\Memory\Available MBytes", 5);

counters.AddPerformanceCounter(@"\ASP.NET v4.0.30319\Requests Current", 5);

counters.AddPerformanceCounter(@"\TCPv4\Connections Established", 5);

counters.AddPerformanceCounter(@"\TCPv4\Segments Sent/sec", 5);

counters.AddPerformanceCounter(@"\Network Interface(Microsoft Virtual Machine Bus Network Adapter _2)\Bytes Received/sec", 5);

counters.AddPerformanceCounter(@"\Network Interface(Microsoft Virtual Machine Bus Network Adapter _2)\Bytes Sent/sec", 5);

counters.AddPerformanceCounter(@"\Network Interface(Microsoft Virtual Machine Bus Network Adapter _2)\Bytes Total/sec", 5);

counters.AddPerformanceCounter(@"\.NET CLR Memory(_Global_)\% Time in GC", 5);

counters.AddPerformanceCounter(@"\ASP.NET Applications(__Total__)\Requests/Sec", 5);