I have an internal requirement that could be adressed: we are using azure sql database, and performance counters for the database are only available through the sys.dm_od_performance_counters view.
My idea is to add an abstraction around performance counters to allow arbitrary providers to provide counters values.
It is similar to issues #28 and #46, but I do not want (for now) to expose them as performance counters for the system. It seems to be a lot easier to just provide IPerformanceCounterInfos instead of registering in the system new performance counters (it requires some admin rights and configuration to works).
This work will requires some steps:
I will track this work in my own "abstract-perfcounterbusiness" branch for now.
I will try to fix the issues #28 and #46 with this work. The plugin feature could requires some big changes in the code (copy/paste plugin assemblies, dynamic registration, dependency injection, etc.)
I have an internal requirement that could be adressed: we are using azure sql database, and performance counters for the database are only available through the
sys.dm_od_performance_countersview.My idea is to add an abstraction around performance counters to allow arbitrary providers to provide counters values.
It is similar to issues #28 and #46, but I do not want (for now) to expose them as performance counters for the system. It seems to be a lot easier to just provide IPerformanceCounterInfos instead of registering in the system new performance counters (it requires some admin rights and configuration to works).
This work will requires some steps:
ICounterGroupintoIPerformanceCounterInfoPerformanceCounterProvider. For simplicity, hard-code usage of thie provider into CounterBusinessSqlDmvPerformanceCounterProviderwhich will create IPerformanceCounterInfo based on an sql server statementI will track this work in my own "abstract-perfcounterbusiness" branch for now.
I will try to fix the issues #28 and #46 with this work. The plugin feature could requires some big changes in the code (copy/paste plugin assemblies, dynamic registration, dependency injection, etc.)