Splunk AppDynamics

WCF calls in Asp.net monitoring

Esko_Jaakkola
Explorer

Hello,

How can I get wcf calls monitored by asp.net monitoring? Problem is that all wcf calls are displayed under two or three call like RESTService.JsonRequest(), but there is lot of calls with different url. Wcf autodiscovery maps them all under RESTService.xxx calls.. It can't separate them by url. Calls are however separated by url in snapshot list. That is why I would like to disable wcf monitoring and watch only asp.net calls. The wcf calls should be visible in asp.net monitoring. How can I do that?

Esko

Labels (1)
0 Karma
1 Solution

Esko_Jaakkola
Explorer

Hello,

We got solution for that from AppDynamics support. It was like this:

In a match rule define:

Match class: class name equals: System.ServiceModel.Dispatcher.ChannelHandler

Method name: equals: HandleRequest

Transaction splitting: Split: Class/Method: Parameter index: 0, GetterChain: RequestMessage.Headers.To.AbsolutePath

View solution in original post

Ashish_Singh
Communicator

Hi Esko,

By default, the AppDynamics auto-detection naming scheme identifies all WCF transactions using the service name and operation name: 

ServiceName.OperationName

For example, a web service for a travel website books reservations from client front ends: "TravelService.BookTravel". For more details, you can refer to the below section and document

Automatic Naming for WCF Transactions

https://docs.appdynamics.com/display/PRO45/WCF+Entry+Points

From the following details "Problem is that all wcf calls are displayed under two or three call like RESTService.JsonRequest()".Looks like RESTService is a service name and JsonRequest is a method name and from the following sentence "there is a lot of calls with different URL", Are you trying to access or invoking this WCF service from different asp.net applications URL? If yes, do you see the different BTs for those application's URL and Exit call?

OR, there are different -2 WCF URLs in which you have the same Service name and Method name? Could you please confirm.

Also, if you do not want to identify service as WCF service and want to identify as an asp.net URL and transaction, you can disable the WCF Transaction Monitoring Enabled and Discover Transactions automatically for WCF requests. For reference see the attached screenshot.

Let us know if you have any question.

Thanks,

Ashish.

0 Karma

Esko_Jaakkola
Explorer

I tried according to your instructions, so that wcf monitoring is off and asp.net monitoring is on with autodiscovery. Asp.net autodiscovery don't find any transactions. When I look at with browser's network monitoring tool it shows me request url like:

https://utu-ht.tulli.fi/utufrontend/RESTService.svc/IB400A

When I switch wcf monitoring on with autodiscovery, then I can see merely RESTService.JSONrequest in transaction list. When I open that line in list, I can see snapshots listed according to url. Those urls are just like one above. 

Why wcf match rule don't have splitting posibility? If I could make splitting according to url, this would't be problem at all. Wcf-call snapshots are anyway arranged according to url.

0 Karma

Ashish_Singh
Communicator

Hi @Esko.Jaakkola  @Paul.Mateos 

 

When you invoke the WCF service call from any of the parent applications ( or UPStream ), this invoked WCF service call will be a part of the BT only, you will not see any of the new BT registered.

InCase, there is no instrumented UPStream application is present and you are  directly instrumenting and calling the WCF service URL, so in this case, you would see the BT related to the downstream WCF service ( OOTB discovery)

Regarding the BT discovery part:

As you are seeing the BT name as "RESTService.JSONrequest", it points that the service name is RESTService and the Method name is "JSONrequest"

Currently, for WCF there is no Split condition available you can only configure with the multiple match condition on the service name as well as the Method name.

Could you please help us with the exact use case are looking for For example 

1. Different BT registration based on each different WCF URLs

2. Snapshot for each of the WCF URLs execution separately 

OR

3. would like to see the count of each WCF service URL invoked.

For Example

Count of -> https://utu-ht.tulli.fi/utufrontend/RESTService.svc/IB400A 

Count of  -> https://utu-ht.tulli.fi/utufrontend/RESTService.svc/IB400B 

 

Thanks,

Ashish.

 

Esko_Jaakkola
Explorer

Hello,

We got solution for that from AppDynamics support. It was like this:

In a match rule define:

Match class: class name equals: System.ServiceModel.Dispatcher.ChannelHandler

Method name: equals: HandleRequest

Transaction splitting: Split: Class/Method: Parameter index: 0, GetterChain: RequestMessage.Headers.To.AbsolutePath

Paul_Mateos
Explorer

Has this been resolved? What was the outcome? I have a similar issue with IIS web service

0 Karma
Get Updates on the Splunk Community!

Splunk AI Assistant for SPL | Key Use Cases to Unlock the Power of SPL

Splunk AI Assistant for SPL | Key Use Cases to Unlock the Power of SPL  The Splunk AI Assistant for SPL ...

Buttercup Games: Further Dashboarding Techniques (Part 5)

This series of blogs assumes you have already completed the Splunk Enterprise Search Tutorial as it uses the ...

Customers Increasingly Choose Splunk for Observability

For the second year in a row, Splunk was recognized as a Leader in the 2024 Gartner® Magic Quadrant™ for ...