Dmitrij Kultasev
Dmitrij Kultasev

Reputation: 5787

Dynamic multi instance performance counters are not transfered from Azure diagnostic to Application insights

I've faced the problem that all the dynamically multi instance counters are collected successfully but are not sent to Application Insights. For example if I specify \LogicalDisk(*)\Disk Read Bytes/sec then I see 3 records (C:, D:, _Total) in the Azure Diagnostics storage table, however none of them appear in the Application Inisghts. But if I specify all 3 counters explicitly (i.e. \LogicalDisk(C:)\Disk Read Bytes/sec) then it appear both in Azure Diagnostics and Application Insights tables.

Upvotes: 0

Views: 197

Answers (1)

Nizar Qamar
Nizar Qamar

Reputation: 151

This happens because wildcards are not supported for perf counters in the component that sends Windows Azure Diagnostics data to AI (WAD2AI). The data collection agent writes the counter values to local tables on disk with the specific counter name (C:, D:, _Total). From the local disk there are two transfer processes:

  1. That writes to storage tables - this is a blind process, it takes everything in the local tables and transfers them to azure table storage.
  2. That writes to AI - this process does some filtering. AI is relatively more expensive than storage, so the contention is that the user might want to opt out of things being sent to AI. The config allows a turn on/off knob for everything. So there is some logic to lookup what's in the local table against what's configured to be sent to AI.

The filter that determines whether the counter read from the local file should be sent to AI is a simplistic string compare against the counter provided in the config. Unfortunately, there is no way around it but what you are already doing (provide counters explicitly).

Upvotes: 1

Related Questions