<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Calibri" size="2"><span style="font-size:11pt;">
<div>Hi,</div>
<div> </div>
<div>My company used to use a VB Script to monitor ASP.NET Requests, but updating to .NET 4.5 will mess up your perf counters, which results in all data being displayed as 0. I have a C# script I want to use to use on servers by putting it in the ext directory
of a local machine. I was wondering if maybe anyone had any resources I could use to see how to integrate my script into Xymon. Or maybe if someone has an example C# script that has been integrated with xymon. Thank you</div>
<div> </div>
<div> </div>
<div><font face="Consolas" size="2" color="blue"><span style="font-size:9.5pt;">using<font color="black"> System;</font></span></font></div>
<div><font face="Consolas" size="2" color="blue"><span style="font-size:9.5pt;">using<font color="black"> System.Collections.Generic;</font></span></font></div>
<div><font face="Consolas" size="2" color="blue"><span style="font-size:9.5pt;">using<font color="black"> System.Linq;</font></span></font></div>
<div><font face="Consolas" size="2" color="blue"><span style="font-size:9.5pt;">using<font color="black"> System.Text;</font></span></font></div>
<div><font face="Consolas" size="2" color="blue"><span style="font-size:9.5pt;">using<font color="black"> System.Threading.Tasks;</font></span></font></div>
<div><font face="Consolas" size="2" color="blue"><span style="font-size:9.5pt;">using<font color="black"> System.Diagnostics;</font></span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;"> </span></font></div>
<div><font face="Consolas" size="2" color="blue"><span style="font-size:9.5pt;">namespace<font color="black"> PerfCounterQuery</font></span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">{</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">    <font color="blue">class</font> <font color="#2B91AF">Program</font></span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">    {</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">        <font color="blue">static</font> <font color="blue">void</font> Main(<font color="blue">string</font>[] args)</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">        {</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">            <font color="#2B91AF">IntPtr</font> userHandle = <font color="blue">new</font> <font color="#2B91AF">IntPtr</font>(0);</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">            <font color="blue">string</font> hostName = <font color="#A31515">"."</font>;</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">            <font color="blue">string</font> categoryName = <font color="#A31515">"ASP.NET Applications"</font>;</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">            <font color="blue">string</font> instanceName = <font color="#A31515">"__Total__"</font>;</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">            <font color="blue">string</font>[] counterNames = { <font color="#A31515">"Requests Executing"</font> , <font color="#A31515">"Request Wait Time"</font> , <font color="#A31515">"Requests
In Application Queue"</font> , <font color="#A31515">"Request Execution Time"</font> };</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">            <font color="#2B91AF">PerformanceCounterCategory</font> cat = <font color="blue">new</font> <font color="#2B91AF">PerformanceCounterCategory</font>(categoryName, hostName);</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">            <font color="#2B91AF">List</font><<font color="#2B91AF">PerformanceCounter</font>> counters = <font color="blue">new</font> <font color="#2B91AF">List</font><<font color="#2B91AF">PerformanceCounter</font>>();</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">            <font color="blue">foreach</font> (<font color="blue">string</font> counterName <font color="blue">in</font> counterNames)</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">            {</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">                <font color="blue">if</font> (!<font color="#2B91AF">PerformanceCounterCategory</font>.CounterExists(counterName, categoryName, hostName))</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">                {</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">                    <font color="#2B91AF">Console</font>.WriteLine(<font color="#A31515">"perf counter \""</font> + counterName + <font color="#A31515">"\" does not exist"</font>);</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">                    <font color="blue">return</font>;</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">                }</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">                counters.Add(<font color="blue">new</font> <font color="#2B91AF">PerformanceCounter</font>(categoryName, counterName, instanceName, hostName));</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">            }</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">            <font color="blue">foreach</font> (<font color="#2B91AF">PerformanceCounter</font> counter <font color="blue">in</font> counters)</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">                <font color="#2B91AF">Console</font>.WriteLine(counter.CategoryName + <font color="#A31515">" - "</font> + counter.CounterName + <font color="#A31515">" : "</font> + counter.NextValue());</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">            <font color="#2B91AF">Console</font>.ReadLine();</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">        }</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">    }</span></font></div>
<div><font face="Consolas" size="2"><span style="font-size:9.5pt;">}</span></font></div>
<div> </div>
<div> </div>
<div style="margin-top:2pt;margin-bottom:2pt;"><font face="Arial" size="4" color="#FF6600"><span style="font-size:13.5pt;">Foster Patch</span></font></div>
<div style="margin-top:2pt;margin-bottom:2pt;"><font face="Arial" size="2"><span style="font-size:9pt;">Web Server Technician</span></font></div>
<div style="margin-top:2pt;margin-bottom:2pt;"><font face="Arial" size="4" color="#FF6600"><span style="font-size:13.5pt;">AccuWeather</span></font></div>
<div> </div>
<div> </div>
<div> </div>
</span></font>
</body>
</html>