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

Is collating transaction errors possible?

felix.ugoji
Voyager

As I drill down through Application to Business Transactions and finally Errors I have found that it only seems possible to Export Grid Data to get an overview of errors being recorded.

 

As I drill down into each error I get more verbose detail of the specific error.

 

Is there any way to get a full printout of these more verbose specific error messages without having to copy/paste each individual error? I'd like to be able to capture all of the verbose errors and start to filter them to see if there's any trends.

 

Maybe AppDynamics already has a way of simplifying this and I'm trying to reinvent the wheel?

 

I've attached screenshots

1. ExportGridData.PNG - Summary that I can generate already - It's not verbose

2. VerboseTransactionError.PNG - I want all of these verbose errors collated into one big file that can be filtered.

 

I hope this all makes sense!

3 REPLIES 3

Brian.Wheeldon
AppDynamics Team (Retired)

Hi Felix,

 

It sounds like you would like to create a report based on the set of unique values of error messages that occurred in a given time range.

One approach to do that is to leverage the REST API to collect the set of matching diagnostic snapshots with errors, then extract the set of distict values from the <errorDetails> block.

 

The REST call would look something like this:

http://controller1.appdynamics.com/controller/rest/applications/RegisterApp/request-snapshots?time-r...

 

The output looks like this:

 

<request-segment-datas>
<request-segment-data>
<id>0</id>
<archived>false</archived>
<requestGUID>70f16d2d-18ba-48bc-b148-058e403eb76c</requestGUID>
<businessTransactionId>1014</businessTransactionId>
<applicationId>66</applicationId>
<applicationComponentId>184</applicationComponentId>
<applicationComponentNodeId>203</applicationComponentNodeId>
<async>false</async>
<threadID>4165</threadID>
<threadName>ajp-bio-8009-exec-24</threadName>
<localStartTime>1501691252861</localStartTime>
<serverStartTime>1501691252861</serverStartTime>
<firstInChain>true</firstInChain>
<callChain>Component:184</callChain>
<localID>0</localID>
<errorOccured>true</errorOccured>
<hasDeepDiveData>false</hasDeepDiveData>
<userExperience>ERROR</userExperience>
<timeTakenInMilliSecs>630</timeTakenInMilliSecs>
<cpuTimeTakenInMilliSecs>58</cpuTimeTakenInMilliSecs>
<warningThreshold>
25692 ms. 3.0x of standard deviation [6279.3 ms] for moving average [6854.3 ms] (minimum baseline: 200 ms) for the last 333 minutes.
</warningThreshold>
<criticalThreshold>
31971 ms. 4.0x of standard deviation [6279.3 ms] for moving average [6854.3 ms] (minimum baseline: 600 ms) for the last 333 minutes.
</criticalThreshold>
<summary>
[Error] - IOException: Server returned HTTP response code: 500 for URL: http://api.shipping.com:3000/checkInventory/id/46212 com.appdynamicspilot.action.CartAction : Server returned HTTP response code: 500 for URL: http://api.shipping.com:3000/checkInventory/id/46212
</summary>
<errorSummary/>
<diagnosticSessionGUID/>
<delayedDeepDive>false</delayedDeepDive>
<delayedDeepDiveOffSet>0</delayedDeepDiveOffSet>
<exitCallsDataTruncated>false</exitCallsDataTruncated>
<URL>/appdynamicspilot/ViewCart!sendItems.action</URL>
<httpSessionID>466B430B3E415DC2F02404810BA8DC8D.route2</httpSessionID>
<errorIDs>
<long>4880</long>
<long>9110</long>
</errorIDs>
<errorDetails>
<name-value>
<id>0</id>
<name>1. com.appdynamicspilot.action.CartAction</name>
<value>
com.appdynamicspilot.action.CartAction : Server returned HTTP response code: 500 for URL: http://api.shipping.com:3000/checkInventory/id/46212
</value>
</name-value>
<name-value>
<id>0</id>
<name>IOException:</name>
<value>
java.io.IOException Server returned HTTP response code: 500 for URL: http://api.shipping.com:3000/checkInventory/id/46212 at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1627) at ...
Once filtered, you'd organize these error messages into a meaningful report, by count, BT, etc.
 
 
Regards,
Brian Wheeldon
 

Brian Wheeldon, Solution Engineer, NYC




Found something helpful? Click the Accept as Solution button to help others find answers faster.
Liked something? Click the Thumbs Up button.

Thanks for that detailed reply. I will investigate and update the thread. Much appreciated!

Daniel.Odievich
AppDynamics Team (Retired)

What you want to do is not easy in AppDynamics UI.

 

However, newly available https://www.appdynamics.com/community/exchange/extension/appdynamics-dexter-data-extraction-enhanced... extension can give you exactly what you want



Found something helpful? Click the Accept as Solution button to help others find answers faster.
Liked something? Click the Thumbs Up button.