WCAT 6.3 Performance Counters are only being read onceRSS

18 replies

Last post Oct 10, 2013 04:29 AM by ksjoberg

  • WCAT 6.3 Performance Counters are only being read once

    Jan 06, 2012 11:30 AM|Didrik Finne|LINK

    The problem

    I'm successfully using WCAT 6.3 to issue requests to my web server but it does not seem to be reading performance counters while the load test is running.

    When the controller starts,  I get Performance counter initialization complete messages (shown below) written to standard output, listing all the counters I have configured but when the test completes, the "Performance Counters" section of the XML output log (also shown below) suggests that each counter was only read once, instead of being sampled throughout the duration of the test. I presume that these solo readings correspond to the Performance counter initialization complete mesages already mentioned.

    Can anyone suggest what is going wrong for me?

    Thanks.

    Didrik

     

    My  controller settings file

    settings
    {
        server = "MYWEBSERVER";
        virtualclients = 10;
        counters
        {
            interval = 8;
            counter = "Process(w3wp)\\Working Set";
        }

        counters
        {
            interval = 5;
            host = "ARBITRARYOTHERMACHINE";
            counter = "Process(w3wp)\\Working Set";
        }
    }
     

     

    Extract from my client scenario file

    I don't think this file is relevant to the problem so I've edited out some details (replacing them with "...etc.") but I include it here mostly to illustrate that I have specified warmup, duration and cooldown intervals:

    scenario
    {
      name    = "My WCAT Script";
      warmup      = 10;
      duration    = 20;
      cooldown    = 10;

      default
      {
        version = HTTP11;

        setheader
        {
          name    = "Connection";
          value   = "keep-alive";
        }
        setheader
        {
          name="Accept";
          value="*/*";
        }
        setheader
        {
          name="Accept-Language";
          value="en-gb";
        }

        ...etc.

        close = ka;
      }

      transaction                       
      {                                 
        id = "Login page and images";
        weight = 1;
        request
        {
          url     = "/Login.aspx";
          setheader
          {
            name="Accept";
            value="image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-silverlight, */*";
          }
          setheader
          {
            name="Host";
            value="url.of.web.server";
          }
          setheader
          {
            name="Connection";
            value="Keep-Alive";
          }
        }
        request
        {
          url     = "/images/banner.jpg";
          setheader
          {
            name="Referer";
            value="http://url.of.web.server/Login.aspx";
          }
          setheader
          {
            name="Connection";
            value="Keep-Alive";
          }
          setheader
          {
            name="Host";
            value="url.of.web.server";
          }
        }
       
        ...etc.
       
      }

      transaction                       
      {                                 
        id = "Login page, no images";
        weight = 100;
        request
        {
          url     = "/Login.aspx";
          setheader
          {
            name="Accept";
            value="image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-silverlight, */*";
          }
          setheader
          {
            name="Host";
            value="url.of.web.server";
          }
          setheader
          {
            name="Connection";
            value="Keep-Alive";
          }
        }
      }
    }


    Console window showing wcctl.exe command line and output

    C:\Program Files\wcat> wcctl.exe -t ClientScenario.txt -f ControllerSettings.txt -s MYWEBSERVER -c 1 -o wcat_log.xml -x
    Initializing performance counters...
    '\\MYWEBSERVER\Processor(_Total)\% Processor Time'... Success!
    '\\MYWEBSERVER\Processor(_Total)\% User Time'... Success!
    '\\MYWEBSERVER\Processor(_Total)\% Privileged Time'... Success!
    '\\MYWEBSERVER\System\Context Switches/sec'... Success!
    Performance counter initialization complete.

    Initializing performance counters...
    '\\MYWEBSERVER\Process(w3wp)\Working Set'... Success!
    Performance counter initialization complete.

    Initializing performance counters...
    '\\ARBITRARYOTHERMACHINE\Process(w3wp)\Working Set'... Success!
    Performance counter initialization complete.

    Server: MYWEBSERVER
    Clients: 1
    (1)     MYDESKTOPPC

    All clients connected, Test beginning. Beginning collecting statistics.
    ******************************************************************************
    WARMUP   10/10 secs                             0 hours, 0 minutes, 10 seconds
    ******************************************************************************
             Connections =                       10 (                       1/sec)
             Disconnects =                        0 (                       0/sec)
            Socket Sends =                        0 (                       0/sec)
         Socket Receives =                        0 (                       0/sec)
         Full Handshakes =                        0 (                       0/sec)
    Reconnect Handshakes =                        0 (                       0/sec)
              Bytes Sent =                     6640 (                     664/sec)
          Bytes Received =                        0 (                       0/sec)
        Bytes Sent (SSL) =                        0 (                       0/sec)
    Bytes Received (SSL) =                        0 (                       0/sec)
      Time To First Byte =                        0 (                     Minimum)
      Time To First Byte =                        0 (                     Maximum)
      Time To First Byte =                        0 (                     Average)
       Time To Last Byte =                        0 (                     Minimum)
       Time To Last Byte =                        0 (                     Maximum)
       Time To Last Byte =                        0 (                     Average)
            Transactions =                        0 (                       0/sec)
         Normal Requests =                       10 (                       1/sec)
         Secure Requests =                        0 (                       0/sec)
        Normal Responses =                        0 (                       0/sec)
        Secure Responses =                        0 (                       0/sec)
            Total Errors =                        0 (                       0/sec)
          Connect Errors =                        0 (                       0/sec)
             Send Errors =                        0 (                       0/sec)
          Receive Errors =                        0 (                       0/sec)
          Parsing Errors =                        0 (                       0/sec)
       Unexpected Status =                        0 (                       0/sec)

    ******************************************************************************
    DURATION 10/20 secs                             0 hours, 0 minutes, 20 seconds
    ******************************************************************************
             Connections =                        0 (                       0/sec)
             Disconnects =                        0 (                       0/sec)
            Socket Sends =                        0 (                       0/sec)
         Socket Receives =                        0 (                       0/sec)
         Full Handshakes =                        0 (                       0/sec)
    Reconnect Handshakes =                        0 (                       0/sec)
              Bytes Sent =                        0 (                       0/sec)
          Bytes Received =                        0 (                       0/sec)
        Bytes Sent (SSL) =                        0 (                       0/sec)
    Bytes Received (SSL) =                        0 (                       0/sec)
      Time To First Byte =                        0 (                     Minimum)
      Time To First Byte =                        0 (                     Maximum)
      Time To First Byte =                        0 (                     Average)
       Time To Last Byte =                        0 (                     Minimum)
       Time To Last Byte =                        0 (                     Maximum)
       Time To Last Byte =                        0 (                     Average)
            Transactions =                        0 (                       0/sec)
         Normal Requests =                        0 (                       0/sec)
         Secure Requests =                        0 (                       0/sec)
        Normal Responses =                        0 (                       0/sec)
        Secure Responses =                        0 (                       0/sec)
            Total Errors =                        0 (                       0/sec)
          Connect Errors =                        0 (                       0/sec)
             Send Errors =                        0 (                       0/sec)
          Receive Errors =                        0 (                       0/sec)
          Parsing Errors =                        0 (                       0/sec)
       Unexpected Status =                        0 (                       0/sec)

    Finished collecting statistics.
    ******************************************************************************
    DURATION 20/20 secs                             0 hours, 0 minutes, 30 seconds
    ******************************************************************************
             Connections =                        0 (                       0/sec)
             Disconnects =                        0 (                       0/sec)
            Socket Sends =                        0 (                       0/sec)
         Socket Receives =                        0 (                       0/sec)
         Full Handshakes =                        0 (                       0/sec)
    Reconnect Handshakes =                        0 (                       0/sec)
              Bytes Sent =                        0 (                       0/sec)
          Bytes Received =                        0 (                       0/sec)
        Bytes Sent (SSL) =                        0 (                       0/sec)
    Bytes Received (SSL) =                        0 (                       0/sec)
      Time To First Byte =                        0 (                     Minimum)
      Time To First Byte =                        0 (                     Maximum)
      Time To First Byte =                        0 (                     Average)
       Time To Last Byte =                        0 (                     Minimum)
       Time To Last Byte =                        0 (                     Maximum)
       Time To Last Byte =                        0 (                     Average)
            Transactions =                        0 (                       0/sec)
         Normal Requests =                        0 (                       0/sec)
         Secure Requests =                        0 (                       0/sec)
        Normal Responses =                        0 (                       0/sec)
        Secure Responses =                        0 (                       0/sec)
            Total Errors =                        0 (                       0/sec)
          Connect Errors =                        0 (                       0/sec)
             Send Errors =                        0 (                       0/sec)
          Receive Errors =                        0 (                       0/sec)
          Parsing Errors =                        0 (                       0/sec)
       Unexpected Status =                        0 (                       0/sec)

    Logging results...
    Test finished.

    Perfmon section of XML output log as raw XML

    <section name="perfmon" key="400">
        <table name="MYWEBSERVER" level="1" key="410">
            <header>
                <sort field="counter" type="text" order="ascending"/>
                <data name="counter" class="string"/>
                <data name="avg" class="number"/>
                <data name="min" class="number"/>
                <data name="max" class="number"/>
                <data name="delta" class="number"/>
                <header>
                    <sort field="time" type="number" order="ascending"/>
                    <data name="time" class="number"/>
                    <data name="current" class="number"/>
                </header>
            </header>
            <item>
                <data name="counter">\Process(w3wp)\Working Set</data>
                <data name="avg">53690368.00</data>
                <data name="min">53690368.00</data>
                <data name="max">53690368.00</data>
                <data name="delta">0.00</data>
                <item>
                    <data name="time">0.00</data>
                    <data name="current">53690368.00</data>
                </item>
            </item>
        </table>
        <table name="ARBITRARYOTHERMACHINE" level="1" key="410">
            <header>
                <sort field="counter" type="text" order="ascending"/>
                <data name="counter" class="string"/>
                <data name="avg" class="number"/>
                <data name="min" class="number"/>
                <data name="max" class="number"/>
                <data name="delta" class="number"/>
                <header>
                    <sort field="time" type="number" order="ascending"/>
                    <data name="time" class="number"/>
                    <data name="current" class="number"/>
                </header>
            </header>
            <item>
                <data name="counter">\Process(w3wp)\Working Set</data>
                <data name="avg">9408512.00</data>
                <data name="min">9408512.00</data>
                <data name="max">9408512.00</data>
                <data name="delta">0.00</data>
                <item>
                    <data name="time">0.00</data>
                    <data name="current">9408512.00</data>
                </item>
            </item>
        </table>
    </section>


    Counters WCAT 6.3

  • Re: WCAT 6.3 Performance Counters are only being read once

    Jan 06, 2012 05:09 PM|HCamper|LINK

    Hello,

    I would check the settings for the counter.

    My understanding Page Faults and Commits are part of a working set. http://en.wikipedia.org/wiki/Process_Explorer .

    I would check and verify this:

     "counter = "Process(w3wp)\\Working Set";"

    You should be able to verify the counter.

    Download and install System Internals Process Explorer http://technet.microsoft.com/en-us/sysinternals/bb896653 .

    or Process Monitor http://technet.microsoft.com/en-us/sysinternals/bb896645 .

    The tools should help in setttings and verification.

    You could change the counter being used

     "Counter counter = "Memory\\Available MBytes";" http://blogs.iis.net/mukhtard/archive/2009/04/02/sample-wcat-script-files.aspx .

    HTH 

    Martin

     

     


     

    Windows and Linux work Together IT-Pros
    Community Member Award 2011
  • Re: WCAT 6.3 Performance Counters are only being read once

    Jan 09, 2012 04:12 AM|Didrik Finne|LINK

    Thanks for your suggestion, Martin, but I don't think it's the answer.

    I had previously included "Memory\\Available MBytes" and several others in my settings file but took them out to simplify the situation. Whatever counter I choose the result is the same: WCAT seems to read the counter successfully before the test begins but for reasons I don't understand it does not then read it every few seconds throughout the duration of my test.

    I expected that my configuration below should result in the counters I configured for machine MYWEBSERVER being sampled at 8 second intervals throughour the duration of the test and those I configured for machine ARBITRARYOTHERMACHINE being sampled at 5 second intervals.

     counters
        {
            interval = 8;
            counter = "Process(w3wp)\\Working Set";
        }

        counters
        {
            interval = 5;
            host = "ARBITRARYOTHERMACHINE";
            counter = "Process(w3wp)\\Working Set";
        }

    I presume that if I had everything working correctly then my XML output log would contain additional item elements per counter.

          <data name="counter">\Process(w3wp)\Working Set</data>
                <data name="avg">53690368.00</data>
                <data name="min">53690368.00</data>
                <data name="max">53690368.00</data>
                <data name="delta">0.00</data>
                <item>
                    <data name="time">0.00</data>
                    <data name="current">53690368.00</data>
                </item>
                [I presume I should be seeing additional items here with different time offsets]

     

  • Re: WCAT 6.3 Performance Counters are only being read once

    Jan 09, 2012 04:25 AM|HCamper|LINK

    Hello,

    What does Wcat show using these settings:

    settings
    {
        counters
        {
            interval = 10;
            counter = "Memory\\Available MBytes";
        }
    }

    Show ?

    Martin

     

    Windows and Linux work Together IT-Pros
    Community Member Award 2011
  • Re: WCAT 6.3 Performance Counters are only being read once

    Jan 09, 2012 04:42 AM|Didrik Finne|LINK

     Here are my results when I use the Available MBytes counter.

     <section name="perfmon" key="400">
        <table name="MYWEBSERVER" level="1" key="410">
            <header>
                <sort field="counter" type="text" order="ascending"/>
                <data name="counter" class="string"/>
                <data name="avg" class="number"/>
                <data name="min" class="number"/>
                <data name="max" class="number"/>
                <data name="delta" class="number"/>
                <header>
                    <sort field="time" type="number" order="ascending"/>
                    <data name="time" class="number"/>
                    <data name="current" class="number"/>
                </header>
            </header>
            <item>
                <data name="counter">\Memory\Available MBytes</data>
                <data name="avg">427.00</data>
                <data name="min">427.00</data>
                <data name="max">427.00</data>
                <data name="delta">0.00</data>
                <item>
                    <data name="time">0.00</data>
                    <data name="current">427.00</data>
                </item>
            </item>
        </table>
        <table name="ARBITRARYOTHERMACHINE" level="1" key="410">
            <header>
                <sort field="counter" type="text" order="ascending"/>
                <data name="counter" class="string"/>
                <data name="avg" class="number"/>
                <data name="min" class="number"/>
                <data name="max" class="number"/>
                <data name="delta" class="number"/>
                <header>
                    <sort field="time" type="number" order="ascending"/>
                    <data name="time" class="number"/>
                    <data name="current" class="number"/>
                </header>
            </header>
            <item>
                <data name="counter">\Memory\Available MBytes</data>
                <data name="avg">264.00</data>
                <data name="min">264.00</data>
                <data name="max">264.00</data>
                <data name="delta">0.00</data>
                <item>
                    <data name="time">0.00</data>
                    <data name="current">264.00</data>
                </item>
            </item>
        </table>
    </section>
     
  • Re: WCAT 6.3 Performance Counters are only being read once

    Jan 09, 2012 05:08 AM|HCamper|LINK

    Hi,

    Look at Mark's " Pushing the Limits of Windows series"

    this one  http://blogs.technet.com/b/markrussinovich/archive/2009/07/08/3261309.aspx.

    Martin

     

    Windows and Linux work Together IT-Pros
    Community Member Award 2011
  • Re: WCAT 6.3 Performance Counters are only being read once

    Jan 09, 2012 07:12 AM|Didrik Finne|LINK

    Martin,

    I don't understand why you think an article on Window resource limits is relevant to my problem.  Are you suggesting that one of the machines involved in my test configuration has insufficient resources for me to read the value of Windows performance counters?

    I have three machines involved here:

    • MYDESKTOPPC , on which I run both wcctl.exe and wcclient.exe;
    • MYWEBSERVER, which hosts the web resources that my test is requesting;
    • ARBITRARYOTHERMACHINE, which is utterly unconnected with my tests but illustrates that I can't get WCAT to keep sampling performance counters at regular intervals.

    I don't think it's a problem with resources on MYDESKTOPPC because I regularly run the machine with masses of applications (including an extremely large solution in Visual Studio) running simultaneously and my WCAT results are the same even when I close all but a handful of apps.

    I can imagine that if my test were putting MYWEBSERVER under a heavy load then that machine might conceivably struggle to return performance counters but I cannot see how ARBITRARYOTHERMACHINE would have insufficient resources to allow me to query its counters more than once.

    Didrik

  • Re: WCAT 6.3 Performance Counters are only being read once

    Jan 09, 2012 07:30 AM|HCamper|LINK

    Didrik,

    The machines are fine. The insufficient resource are what is being measure ?

    The web server under a heavy load ?

     MSDN library http://msdn.microsoft.com/en-us/library/cc441804(v=VS.85).aspx The working set of a process.

    Process Explorer http://technet.microsoft.com/en-us/sysinternals/bb896653 look at the process and resouces

    being use page faults commits.

    Martin

     

     

     

    Windows and Linux work Together IT-Pros
    Community Member Award 2011
  • Re: WCAT 6.3 Performance Counters are only being read once

    Jan 09, 2012 08:08 AM|Didrik Finne|LINK

    Martin,

    None of the machines involved here have insufficient resources for what I am currently attempting and none of them is under a heavy load.

    When I get WCAT working properly then I will be using it to put a heavy load on MYWEBSERVER (by increasing the number of physical and virtual clients) so that I can monitor its perfomance counters to see how it fares under that load.  Some of the values in which I may be interested at that time are available memory, bytes sent/received per second, memory consumed by the w3wp process (IIS), and so on.

    Right now, all I want is for WCAT to sample any machine's performance counters at a specified interval throughout the duration of a test. Why, given a test that runs for 20 seconds (preceded by 10 seconds warming up time) and a settings file that says a performance counter should be measured every 5 seconds, do I get only one measurement of that counter?

    Didrik

  • Re: WCAT 6.3 Performance Counters are only being read once

    Jan 09, 2012 12:52 PM|Didrik Finne|LINK

    I've found some warnings squirelled away in the XML output log. They look like this:

    <warnings>
        <warning name="testhaderrors" type="warning">This test contained errors.</warning>
        <warning name="wmierror" type="warning">An error occured collecting server information data. Check that WMI is available.</warning>
        <warning name="badvalue" type="warning">An error was encountered querying remote server information. This value may be wrong.</warning>
        <warning name="countererror" type="warning">An error occured during the collection of this counter.</warning>
        <warning name="perfmonerror" type="warning">An error occured during the collection of performance counters.</warning>
    </warnings>

    I didn't see them originally because I've been viewing the log in its XSL-transformed guise (courtesy of the report.xsl file supplied with WCAT) and unfortunately warnings are omitted.

    So it looks as though my problem may be connected with WMI but I still don't understand why WCAT can successfully query performance counters (presumaby via WMI) during initialisation but not once the test is running.

  • Re: WCAT 6.3 Performance Counters are only being read once

    Jan 09, 2012 02:44 PM|alftoo|LINK

    Hi, I've been having the same problem, and now that you mention those warnings, I found exactly the same set in all my xml-repots. I've been running heavy load testing (CPU utilization shoots up to 100% if I follow from perfmon myself), the CPU% reading in the reports is usually about 70-80% so perhaps it is being read during the warmup phase when load is gradually increasing, or during the cooldown period. If you ever find out what the cause is, please come back and share (will do the same)!
  • Re: WCAT 6.3 Performance Counters are only being read once

    Jan 09, 2012 03:28 PM|HCamper|LINK

    Hi,

    You may have a WMI problem http://learn.iis.net/page.aspx/265/get-to-know-the-iis-wmi-provider-using-cim-studio/

     http://learn.iis.net/page.aspx/163/managing-applications-and-application-pools-on-iis-with-wmi/ .

    WCAT can successfully query performance counters:

     http://learn.iis.net/page.aspx/154/walkthrough-iis-output-caching/  the test is running.

    Using Process Monitor or Process Explorer ( Steve's Guide for Process Monitor)

    Locate the w3wp process in task manager.

     Look at the Working Set and what has been selected.

    The Worker Process  http://learn.iis.net/file.axd?i=15 image link Figure 1.

    "The following list describes the request-processing flow that is shown in Figure 1:

     

    IIS Server References:

    http://learn.iis.net/page.aspx/101/introduction-to-iis-architecture/

    http://learn.iis.net/page.aspx/710/configure-iis-7-output-caching/ 

    Steve's Guide http://www.iislogs.com/articles/processmonitorw3wp/ .

    I hope this helps,

    Martin

     

     

     

     

     

    Windows and Linux work Together IT-Pros
    Community Member Award 2011
  • Re: WCAT 6.3 Performance Counters are only being read once

    Jan 11, 2012 02:22 AM|mayerberneto|LINK

    I am having the same issue.  Log.xml shows these warnings:

      <warnings>
      <warning name="testhaderrors" type="warning" >This test contained errors.</warning>
      <warning name="wmierror" type="warning" >An error occured collecting server information data. Check that WMI is available.</warning>
      <warning name="badvalue" type="warning" >An error was encountered querying remote server information. This value may be wrong.</warning>
      <warning name="countererror" type="warning" >An error occured during the collection of this counter.</warning>
      <warning name="perfmonerror" type="warning" >An error occured during the collection of performance counters.</warning>
     </warnings>

    Apparently perf. counters are only read once.

  • Re: WCAT 6.3 Performance Counters are only being read once

    Jan 14, 2012 01:31 AM|HCamper|LINK

    Hello,

    WMI Administrative Tools http://www.microsoft.com/download/en/details.aspx?id=24045

     "WMI Event Viewer: displays events for all instances of registered consumers."

    So it looks as though my problem may be connected with WMI

    I still don't understand why WCAT can successfully query performance counters

    Performance Counters

    http://geekswithblogs.net/robz/archive/2008/08/10/possible-performance-counter-corruption-or-performance-counters-are-just-disabled.aspx

     (presumaby via WMI).

    Permissions for CIM Name Space Enable your Account.

    Firewall for blocking ports.

    If may help to explain the problems.

     

    Martin

     

    Windows and Linux work Together IT-Pros
    Community Member Award 2011
  • Re: WCAT 6.3 Performance Counters are only being read once

    Jan 16, 2012 09:27 AM|Didrik Finne|LINK

    I'm afraid I've given up trying to solve this problem but if I ever do randomly find the answer one day, I'll certainly remember to post it here.

  • Re: WCAT 6.3 Performance Counters are only being read once

    Aug 03, 2012 09:32 AM|claire.allali|LINK

    Hi, Did you solve the problem ? I'm facing the same issue, and can't find any help ... Claire
  • Re: WCAT 6.3 Performance Counters are only being read once

    Jan 17, 2013 09:50 AM|adolfo_foliaco69|LINK

    I'm using version 6.3 and what I tried on my settings.ubr file was add the actual computer name not the IP or the resolved name or localhost. By default the WCAT add a few counters and used the server name those are not working for me because is doing \\localhost\Process(w3wp)\Working Set. what I did was to replace the localhost with the actual machine name, not sure if there is a way to override that. 

     

        clientfile     = "home.ubr";

        server         = "REALMACHINENAME";

        clients        = 10;

        virtualclients = 100;

                   

        counters

        {

                 interval = 10;

                 counter = "\\Processor(_Total)\\% Processor Time";

            counter = "Processor(_Total)\\% Privileged Time";

            counter = "Processor(_Total)\\% User Time";

            counter = "Processor(_Total)\\Interrupts/sec";

     

            counter = "Memory\\Available KBytes";

     

            counter = "Process(w3wp)\\Working Set";

     

            counter = "System\\Context Switches/sec";

            counter = "System\\System Calls/sec";

     

            counter = "Web Service(_Total)\\Bytes Received/sec" ;

            counter = "Web Service(_Total)\\Bytes Sent/sec" ;

            counter = "Web Service(_Total)\\Connection Attempts/sec" ;

            counter = "Web Service(_Total)\\Get Requests/sec" ;

                 counter = "Web Service(_Total)\\Post Requests/sec" ;          

                 host = "REALMACHINENAME";                      

     

        }


    I hope this help you to move forward. This tool is poorly documented a we get little help from the community and I not sure if you have problem with the XSLT but it doesn’t not even compile, how a Microsoft team give the community a product that it’s does not work a 100%.

    Adolfo Foliaco
    Back to 7
  • Re: WCAT 6.3 Performance Counters are only being read once

    Jun 19, 2013 10:57 AM|Jero_IIS|LINK

    Same problem here, I can't find a solution.

    Counters WCAT 6.3

  • Re: WCAT 6.3 Performance Counters are only being read once

    Oct 10, 2013 04:29 AM|ksjoberg|LINK

    Hi Didrik,

     

    Thank you for writing this thread. If you didn't I wouldn't have gone down the route I did...

    To go to the bottom of this issue, I brought out the IDA debugger Demo version and loaded the wcctl.exe for a debugging session. When Wcat launches, it creates one thread for every set of counters (=performance counter query) it is retrieving, and then lets the threads wait until the test passes the warmup phase. Then it uses the current time and adds on two variables to it to set the end time for the data capture. However, in my setup, there is something wrong with how these variables are being set, so the end time is merely one second after the start time. What gets captured, is captured within this timeframe, and then the capturing threads are shut down. This is why the capturing is only done once.

    HOWEVER, specifying the --duration (-u) parameter to the wcctl.exe command line sets the variable that is used for the calculation of the capturing thread running time. Since you are probably launching wcctl.exe with the help of wcat.wsf, you may specify the argument to wcat.wsf since it forwards all unknown parameters to wcctl.exe.

    Counters WCAT 6.3 solved