Not a customer? Click the 'Start a free trial' link to begin a 30-day SaaS trial of our product and to join our community.
Existing Cisco AppDynamics customers should click the 'Sign In' button to authenticate to access the community
08-16-2022 04:56 AM - edited 08-16-2022 05:00 AM
Hi All,
AppDynamics is able to discover one business transaction end point but this URL is having multiple methods/operations and I need to have metrics for individual operation
For example URL: myserver/service
Operations: query , discovery , activate
Each operation is having its own payload but same URL
What I want to do is to see myserver/service-query , myserver/service-discovery , myserver/service-activate
08-16-2022 07:32 AM
Hi Hany
Is the operations values(query , discovery , activate ) available within the headers, parameters or cookies? If so, you can create a new transaction detection rule and use the option - Split transactions using Request data), very simple, this will then create separate transactions depending on the Unique Header, Cookie, parameter Value.
If the values are only available within the payload of the request, you can also create a new servlet transaction detection rule and use one of the options available under the section - Split transactions using payload, whichever works best for you
Ciao
08-16-2022 08:04 AM - edited 08-16-2022 08:05 AM
Hi Mario,
Operation name and value is part of payload body section.
Can you share more details with steps
08-17-2022 12:53 AM - edited 08-17-2022 01:35 AM
Hi Hany
I will explain one we did recently, by using the Split request using Payload, using the Pojo Method Split Mechanism
Within your code, it will obviously go through several classes & methods to process each request.
We checked and found that their was the following
Class - com.ecom.requests, that had this Method - waitForReply(com.ecom.task)
What the above means is that the initial class's method has another class as an input parameter called com.ecom.task
When we had a look at the com.ecom.task class, we could see it had a method called - getRequest()
We then had a look at this class and method, which we could then see the payload, all you then do is configure the getter chain to extract the operation name out of this method and class and use it in teh configuration.
This will then create a BT per operation
You can also use the JSON Splitting method depending on what frameowrk your application is using
Hope this makes sense
08-24-2022 02:22 PM - edited 08-25-2022 02:07 AM
Thanks Mario for your feedback. but in this case I should have source code of my application or get a help from the developer.
As for me, I'm just managing this system and I don't have visibility to the code.
Is there a way to get such kind of class structure and pick correct class name from AppDynamics agent logs
08-25-2022 01:59 AM
Hi Hany
As it's a Java Application, you can do the following
1. Look through the business transaction stack trace, use a full snapshot
2. See where there is a possible class/method that might hold the data for the payload
3. Use the Live preview option to check how the class and method are called and see if there is an option to use an input to one of the classes.
That's how we normally do it, if the developers are not available or can't assist
Ciao
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 | |
1 |
Thank you! Your submission has been received!
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form