Skip to main content

Alive v0.2 is released

During my commuting, I've been able to pick up the most critical issues with Alive and fix them. Sadly, there's no easy fix to support any other browsers than Chrome at the moment. I'm just going to say it out loud.

  • Alive v0.2 is Chrome only. I will attend to this issue in v0.3.

Here comes a list of changes. Note that configuration is a breaking change, and you will have to address it if you're upgrading.

The release may be downloaded from

Google Code

NuGet - LiteMedia Alive

Changes

New configuration schema

The configuration schema of version 1.1 didn't make much sense, so I sharpened it a bit. These are the major changes

  • No section groups, but only one section handler.
  • Configuration section handler name has become lower case.
  • Previous "group" element has been renamed to "chart".
  • Previous "groups" element has been renamed to "group.

Here's an example of the new schema.

<alive>
  <settings columns="3" />
  <counters>
    <group name="Hardware">
      <chart name="CPU" updateLatency="1000">
        <counter name="CPU" categoryName="Processor" counterName="% Processor Time" instanceName="Total" />
      </chart>
      <chart name="Memory Activity" updateLatency="1000">
        <counter name="Memory" categoryName="Memory" counterName="Pages/sec" />
      </chart>
      <chart name="Memory Usage" updateLatency="5000">
        <counter name="RAM" categoryName="Memory" counterName="% Committed Bytes In Use" />
        <counter name="Page file" categoryName="Paging File" counterName="% Usage" instanceName="Total" />
      </chart>
 </group>
 <group name="IIS">
      <chart name="ASP.NET Performance" updateLatency="1000">
        <counter name="Requests/sec" categoryName="ASP.NET Applications" counterName="Requests/Sec" instanceName="Total" />
      </chart>
      <chart name="Session state server" updateLatency="5000">
        <counter name="Active" categoryName="ASP.NET" counterName="State Server Sessions Active" />
      </chart>
    </group>
  </counters>
</alive>

Scaling 100, 250, 500, 1000

When a data point reaches above the limit, the chart will scale itself, to be able to display all the values. In previous version it would scale from 100 directly to 500 which made smaller values very hard to intepret if some data point was 101. That is why 101 now scales the chart to a max value of 250. This makes the chart easier to read.

Writing 1000 as 1K and 1000000 as 1M

Some performance counters may have very large values. In order to make it easier to read, we're now writing 1000 as 1K and 1 million as 1M.

Define max value on chart element

In the configuration you can specify the default max value for a chart. When the chart loads, it will have this as its highest value until a data point forces it to scale. This is useful when you know that you will only have values below 10.

<chart name="Shopping Cart" updateLatency="1000" max="10">
  ...
</chart>

Remote performance counters

This is a major feature. You may track counters on other computers. You do this by adding "machine" to the counter element in configuration. Here's an example.

<group name="SQL Server">
 <chart name="CPU" updateLatency="1000">
  <counter name="CPU" categoryName="Processor" counterName="% Processor Time" instanceName="_Total" machine="SQLSERVER1" />
 </chart>
</group>

That was the easy part. Now you need to make sure that your application pool identity has the required permissions to read that performance counter.

  • Make sure that the remote machine is running "remote registry service".
  • Add the application pool identity to the "Performance Monitor Users" group on the remote machine.
  • Use regedt32.exe to give your application pool identity read access to following keys
    HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg
    HKEYLOCALMACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
  • Also give your application pool identity read access to the following files
    %SystemRoot%\System32\Perfc009.dat
    %SystemRoot%\System32\Perfh009.dat
comments powered by Disqus