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
04-27-2021 10:41 AM - last edited on 04-02-2024 05:56 PM by Ryan.Paredez
hi
Has anyone every tried to set up their data collectors so that it only displays when values are present or how did you work your analytic queries to show this. We have a search form with several different fields that can be used...ie data range, ID, payment method etc. We want to be able to trend what performance is like when the different searches are used. The only way I have been able to do this is to have a bunch of different searchs where I list out each data collector is not null. Is this the best way to get this done? Has anyone had any luck with this?
Solved! Go to Solution.
04-27-2021 10:29 PM
Hi Sean
If you are referring to MIDC's, you can use the "match condition" option to set something like where a certain value is not null.
This will then only collect the data collector when it has a value.
If it is for headers/params etc. You would need to understand which of them are used for which BT's and set them exclusively to avoid them trying to be collected where there are no values.
I believe within the analytics query, the null values are removed for all widgets except the table widget
Ciao
04-30-2021 09:40 AM
Hi Mario
What would that look like? Would that only pick up those transactions which meet that criteria?
Thanks
04-30-2021 09:59 AM
What I am looking to do is pull out the field name that is in bold below. I dont care about the input data just the field name, but like i stated this could be one of 10 possible inputs.
<MembershipSearchInput inSyncReferenceResolution="false" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<maxRows>1</maxRows>
<membershipIdentifier>123456</membershipIdentifier>
<sortBy>
<SortColumn>
<columnName>conceptFulfilledCode</columnName>
<isDescending>false</isDescending>
</SortColumn>
04-30-2021 11:02 AM
Hi Sean
Just a question, what does the xml look like for the different searches? is it always prefixed by the maxrows line?, and only the value changes e.g membershipIdentifier or paymentMethod etc.
<MembershipSearchInput inSyncReferenceResolution="false" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<maxRows>1</maxRows>
<membershipIdentifier>123456</membershipIdentifier>
<sortBy>
<SortColumn>
<columnName>conceptFulfilledCode</columnName>
<isDescending>false</isDescending>
</SortColumn>
If only the field name changes depending on the search, you can just use a single data collector like below
toString().split(</maxRows>).[1].split(<).[1].split(>).[0]
This will capture whichever value is then in that spot, but depends on what the other search xml looks like if this will work.
The other way would be to setup a single data collector for each value that it can be, with a match condition where the payload contains the "search value", and set the data collector field name the same for each Data collector per search.
This will then happen, e.g if the payload is as follows
<MembershipSearchInput inSyncReferenceResolution="false" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<maxRows>1</maxRows>
<paymentmethod>card</membershipIdentifier>
<sortBy>
<SortColumn>
<columnName>conceptFulfilledCode</columnName>
<isDescending>false</isDescending>
</SortColumn>
Only the Data Collector with the match condition where payload contains "paymentmethod" will trigger and set the Type to that value
I hope I understood what you are trying to achieve:)
Ciao
04-30-2021 11:24 AM
This was awesome and worked great!!!
Thank you! Your submission has been received!
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form