We have an IIS application which exposes all API functionality using same URL and the requests are differentiated by a command type parameter which is part of the body. Note that we use ASP.NET and WCF.
The default Auto Discovery Rule name business transactions for WebServices “ServiceName.OperationName”.
The challenge is that since all functionality is exposed using only one URL we end up having only one business transaction but in reality this is a group of many business transactions.
We are uncertain as to how to split this into a bunch of business transactions. Due to security requirements all data is encrypted by custom encryption therefore rendering the “Name Transaction dynamically using part of the request” unusable which can be seen below. I am not sure if this can be used since the naming is caused by WCF rule and not the ASP.NET rule.
What we have done instead is to create an POCO rule and we have managed to have the application create a business transaction based on the class name and Method Name.
The issue with this approach is that it does not solve the issue that we have multiple business transactions grouped into one. We can use the different options to split the business transactions but unfortunately the application structure renders these options inadequate. The application is heavily based on IOC.
I assume that we would have used the Method Parameters option or the Getter chain to run on POCO objects normally but unfortunately the value(which holds information regarding the command) is never stored in a property or as an parameter. All Parameter calls are using a base class which unfortunately does not have the command type as a property. The baseclass is casted to a specific class in code and from there the command type can be extracted. This information is only stored in a local variable.
It is possible to do some regex matching on log statements maybe extrapolate the business transaction? Is it possible to run custom code as part of the naming business transactions?
... View more