cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

This product reached the end of support date on March 31, 2021.

What is it that makes a method argument measure always fail. I have a have an application whereby web requests come in and can be identified as specific to particular content and as a result exposes a business transaction

jmitchell321
Newcomer

So business transaction is a webservice by method call

The splitting is on a filenet method call - typcal ones are add document, retieve document etc....

.The purepath has a web request with a synchronous invocaltoin with a synchonous path with a do Post method call and a invoke(HttpServlet Request)

the particular node i want filter these purepaths on is a method call to getOutputStream. This method call has the argument i want to use for a measure. What steps have a missed off in making this simple measure work I hve added this method as a senosr to be included in the system profilefileter-info1.jpgfilter-info2.jpg

4 REPLIES 4

jmitchell321
Newcomer

here is a.dts for anyone to have ecm-extrract-purepaths.dtsa look at.....

Radu
Dynatrace Pro
Dynatrace Pro

Hi Jon,

I see your PurePath starts with a POST call to /ECM-SVC/document-v2_1, it then progresses to your Java tier where it is translated into a servlet call to the same endpoint, and there is the waiting for information via getOutputStream for the next endpoint which is /wsi/FNCEWS40MTOM/. Continuing down the PurePath this call is caught in the next web server down the line where it looks like a POST call to the /wsi/FNCEWS40MTOM/.

Since you want to create a business transaction where you filter on the invocation of this service, I suggest you create a WebRequest - URI Pattern measure. This can be used as a filter and it means that that URI was matched on the PurePath. You can get to this screen if you right click on the web server node and create measure from there:

Also, you can't capture the argument of getOutputStream() as it takes no arguments. This method is called when reading from a URL call, and we simply list the URL in the argument column, although, by implementation, this method does not take an argument.

Let me know if this works for you.

Best regards,

Radu

jmitchell321
Newcomer

That option will not work as the wsi call is not unique to the transaction, Only the host it is being called from is the unique part but I do not see any option for capturing that value by that method, and I am unsure what you mean by not being able to get an argument form the getOutputStream method as it is taking an argument which is in the purepath tree so why can I not use this argument value?

What I mean is that that method ("sun.net.www.protocol.http.HttpURLConnection.getOutputStream()") literally, by definition and implementation (check the docs here) does not take in any arguments. You call that method upon a connection object. We simply list the URL in the Argument column of the PurePath dashlet for convenience and readability.

Unfortunately we cannot use the host it came from as a filter to the Business Transaction, but there might be another way to narrow down the dataset.

How about instrumenting the "service(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)" node and creating a Method - Invocation measure? would that be specific enough?

are any of the above highlighted details unique to this type of transaction so that we can use them in filtering?