Click the Start a free trial link to start a 15-day SaaS trial of our product and join our community as a trial user. If you are an existing customer do not start a free trial.
AppDynamics customers and established members should click the sign in button to authenticate.
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?
Solved! Go to Solution.
By default, the AppDynamics auto-detection naming scheme identifies all WCF transactions using the service name and operation name:
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
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.
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:
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.
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
3. would like to see the count of each WCF service URL invoked.
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