Adding New Column to PerformanceCountersTable

Topics: Windows Azure Integration Pack
Jun 6, 2012 at 7:28 AM

I am using Autoscaling application Block "wasabi " for scaling my application.

I am logging different Performance Counters in storage table under "WADPerformanceCountersTable "

by adding DataSources like 

config.PerformanceCounters.DataSources.Add

(               

new PerformanceCounterConfiguration               

{                   

CounterSpecifier = @"\Memory\Available Mbytes",

SampleRate = TimeSpan.FromSeconds(30)                                                       

});

Here I have a requirement to add new column to this table like "Total" which will have a value against which we are comparing.

For example, in the above case I am capturing Available Mbytes ,but here  I am not clear about the total Mbytes the Instance has, as it can varies depending on the VM selected.

And I can't just add a column to table with a static value as this total value can be vary for different Counter Specifiers.

Can we override PerformanceCounterConfiguration class ?

Suggest me some solution

 

Regards

Mohan

Jun 7, 2012 at 4:19 AM

I don't think you can add a column to the WADPerformanceCountersTable as this table is created by Windows Azure.

Probably the easiest the way to compare the available MBytes to the max RAM would be to create a custom performance counter that stores the instance size/available RAM.  Then create an operand for your custom performance counter and then use an operand expression to set your rule (See Expression Syntax Rules in Defining Reactive Rules for the expression syntax).  To determine the RAM you can get the instance size from the Get Deployment operation and then determine the RAM based on the compute instance resources.

Another alternative would be to create a custom operand that does exactly what you want but that is probably more effort.

--
Randy Levy
Enterprise Library support engineer
entlib.support@live.com