Forum Discussion

rsmccall33's avatar
rsmccall33
Helper II
10 years ago

Realtime, or near realtime, server telemetry dashboards

I connected PowerBI to Application Insights using the available Application Insights service available in PowerBI.  This works great to view web page related dashboards.  However, I also want to create dashboards using performance counters to report on CPU usage, as an example.

 

I turned my focus to continous export and stream analytics.  I was able to get this POC to work, however I cannot figure out how to build a query that will pass through the performancecounter[0].percentage_processor_total.value.  It pukes on the [0] part. 

The end result here is to provide to the customer a realtime dashboard of user activity and server performance. 

 

I can envision a gauge showing cpu utilization on a dashboard.

2 Replies

  • I now have data pushing into PowerBI, however I still need to figure out how to manipulate the data.  The utilization stats are all in 0.0####### format.  I need to figure out how to create a cpu utilization gauge.  Ideas how to do this?

  • SELECT
        flat.arrayvalue.categoryName as categoryName,
        flat.arrayvalue.instanceName as instanceName,
        e.context.location.continent as continent,
        e.context.location.country as country,
        e.context.location.clientip as clientIP,
        e.context.location.province as province,
        e.context.location.city as city,
        e.context.data.eventTime as eventTime,
        flat.arrayvalue.available_bytes.value as availableBytes,
        flat.arrayvalue.percentage_processor_total.value as percentageProcessorTotal,
        flat.arrayvalue.request_execution_time.value as requestExecutionTime,
        flat.arrayvalue.process_private_bytes.value as processPrivateBytes,
        flat.arrayvalue.io_data_bytes_per_sec.value as ioDataBytesPerSec,
        flat.arrayvalue.percentage_processor_time.value as percentageProcessorTime,
        flat.arrayvalue.requests_per_sec.value as requestsPerSec,
        flat.arrayvalue.number_of_exceps_thrown_per_sec.value as numberOfExcepsThrownPerSec
    INTO
        output
    FROM
        input AS e
    CROSS APPLY GetElements(e.performanceCounter) as flat