DX Application Performance Management

 View Only
  • 1.  How to add WCF Performance Counters to Introscope monitoring (ServiceModelService: Calls, Calls outstanding, Calls failed, and Instances)?

    Posted Oct 28, 2015 10:33 AM

    I'm still learning a lot of the basics of APM Introscope and was wondering if anyone here knows how to enable WCF Performance monitoring in APM Introscope for WCF Service Performance Counters (https://msdn.microsoft.com/en-us/library/vstudio/ms731087(v=vs.100).aspx)

    such as: Calls, Calls outstanding, Calls failed, and Instances.

     

    Would it be something I add to my introscope.agent.perfmon.metric.filterPattern? Or do I need to edit/add a specific .PBD file?

     

    Thank you!



  • 2.  Re: How to add WCF Performance Counters to Introscope monitoring (ServiceModelService: Calls, Calls outstanding, Calls failed, and Instances)?
    Best Answer

    Broadcom Employee
    Posted Oct 28, 2015 01:04 PM

    Hi Brian,

     

    assuming that the counters are enabled in your application and in PerfMon you woudld just have to add them to introscope.agent.perfmon.metric.filterPattern.

     

    Ciao,

    Guenter



  • 3.  Re: How to add WCF Performance Counters to Introscope monitoring (ServiceModelService: Calls, Calls outstanding, Calls failed, and Instances)?

    Posted Oct 28, 2015 02:15 PM

    Thanks for your reply.

     

    My next question may be more difficult to answer, but I'll ask it anyways and hope someone may know:

     

    I believe the performance counters need the ServiceName & ServiceBaseAddress in order to know which service to collect the counters for. For example, in Powershell it needs to be formatted as such:

     

    get-counter -Counter "\ServiceModelService 4.0.0.0(*)\ServiceName@ServiceBaseAddress\Counter*"

     

    How would this translate into the introscope.agent.perfmon.metric.filterPattern field? My best guess would be

     

    introscope.agent.perfmon.metric.filterPattern=|ServiceModelService 4.0.0.0*|*|Counter*

     

    Or do I need to just hardcode the specific ServiceName and ServiceBaseAddress in there? I am unable to test at the moment, and don't think the * wildcard will work.



  • 4.  Re: How to add WCF Performance Counters to Introscope monitoring (ServiceModelService: Calls, Calls outstanding, Calls failed, and Instances)?

    Broadcom Employee
    Posted Oct 28, 2015 03:09 PM

    Hi Brian,

     

    wildcards do work. An example is introscope.agent.perfmon.metric.filterPattern=|Processor|*|*,|.NET Data Provider*|*|*,|.NET CLR*|{osprocessname}|*,|.NET CLR Data|*|*,|Process|{osprocessname}|*,|ASP.NET|*

     

    Just append your string there.

     

    See Properties of the .NET Agent - CA Application Performance Management - 10.1 - CA Technologies Documentation for the documentation.

     

    Ciao,

    Guenter



  • 5.  Re: How to add WCF Performance Counters to Introscope monitoring (ServiceModelService: Calls, Calls outstanding, Calls failed, and Instances)?

    Posted Oct 28, 2015 03:44 PM

    I know wildcards work for the other counters, but I have a feeling they won't work with this as the command errors out in Powershell if I don't specify the ServiceName@ServiceBaseAddress.

     

    From the manual you linked: "Using filter |*|* is equal to asking Performance Monitor to enumerate all counters as instance-less. This setting is not valid for certain counters."

     

    I believe this is an instance-based counter. Any suggestions on how to deal with this would be appreciated!

     

    Thanks again



  • 6.  Re: How to add WCF Performance Counters to Introscope monitoring (ServiceModelService: Calls, Calls outstanding, Calls failed, and Instances)?

    Broadcom Employee
    Posted Oct 28, 2015 06:52 PM

    Hard to say. I don't have an environment to test with WCF counters.

     

    I have recently worked with PerfMonAgent and from what I know it simple iterates over all categories and tries to match the patterns from the property. For each matched category it gets the instance names and the counters for each instance. If there are no instances it gets the counters.

     

    Just test it with introscope.agent.perfmon.metric.filterPattern=|ServiceModelService 4.0.0.0|*|* [Edit: corrected pattern]. You can set the log level to DEBUG or TRACE to get output of all the categories it enumerates.

     

    I'm waiting for your response!



  • 7.  Re: How to add WCF Performance Counters to Introscope monitoring (ServiceModelService: Calls, Calls outstanding, Calls failed, and Instances)?

    Broadcom Employee
    Posted Oct 29, 2015 07:17 PM

    Your filterpattern should look like this:

     

    introscope.agent.perfmon.metric.filterPattern=|ServiceModelService 4.0.0.0|*|*


    The first wildcard will account for all instances of the counter group.


    There are no counters that starts with "Counter". If you want to specify a particular group of counters, such as "Calls", then you would remove the last wildcard in the above example and replace it with "Calls*" (without double-quotes).



  • 8.  Re: How to add WCF Performance Counters to Introscope monitoring (ServiceModelService: Calls, Calls outstanding, Calls failed, and Instances)?

    Posted Oct 30, 2015 10:21 AM

    Looks good! My issue has been solved. Thank you both very much