SilverBullet, Silverlight

SilverBullet #9 – System.Windows.Analytics

silverbullet I’d like to provide you with a SilverBullet™, a small snippet of Silverlight, a class or namespace hidden in the silverlight .NET framework, to help you out in times of need. It’s not to learn, but something to keep in your pocket. Just remember it’s there and you’re safe.

When developing applications, especially graphic intensive web applications you want to monitor the performance when running. The System.Windows.Analytics class can help you with that.

The class has no methods of any significance and only three read-only properties:

 

Using these properties is very simple as this example will show:

This example uses a timer to display and update the values from the properties in the System.Windows.Analytics class.

To display the various values added a couple of text boxes and a listbox to stackpanel. Too keep things simple for this example, just add the stackpanel to MainPage.xaml in a new silverlight project.

<StackPanel x:Name="LayoutRoot" Orientation="Vertical">
    <TextBlock x:Name="AverageProcessLoad" />
    <TextBlock x:Name="AverageProcessorLoad" />
    <ListBox x:Name="GpuInfo" />
    <TextBlock x:Name="Time"/>
</StackPanel>

 

 

Next, add the following to the codebehind, MainPage.xaml.cs

 public MainPage()
        {            
            InitializeComponent();
            var t = new DispatcherTimer();
            t.Tick += TickHandler;
            t.Interval = new TimeSpan(0,0,1);
            t.Start();
        }
 
        void TickHandler(object sender, EventArgs e)
        {
            Time.Text = DateTime.Now.ToLongDateString()+ " -- "+ 
                            DateTime.Now.ToLongTimeString();           
            var an = new Analytics();
 
            AverageProcessLoad.Text = 
                an.AverageProcessLoad.ToString();
            AverageProcessorLoad.Text = 
                an.AverageProcessorLoad.ToString();
 
            GpuInfo.Items.Clear();
            foreach (var gpuInformation in an.GpuCollection)
            {
                GpuInfo.Items.Add(string.Format(
                    "ID:{0}, Version:{1}, vendorId{2} ", 
                    gpuInformation.DeviceId,
                    gpuInformation.DriverVersion,
                    gpuInformation.VendorId)
                );
            }
        }

 

 

Shout it
Tags van Technorati:
dotNed blogger
kick it on DotNetKicks.com

Leave a Reply

Seo wordpress plugin by www.seowizard.org.
%d bloggers like this: