Is there a way to have splittings which can be empty?
At the moment I have a BT which is recording a product and a branch office of an online formular which is sent to our backend. Unfortunately the branch office can be empty and therefor the Method where the value comes from is not called. If this happenes I get no values for this BT, but what I expected is a record like "Productname,-"
Does somebody know how I can get this behaviour?
Would it be possible to post a screenshot of the BT configuration to add some context? What I would guess is happening is that the BT is either split or filtered by these Product and Branch methods, so when the Branch method is not called, the conditions for the BT are not satisfied, so the expected behavior is that there would be no result, but some re-configuration of the BT may be possible.
The first thing I took notice of is that you do not have any thresholds set for the "Evaluation, filter, and splitting measure thresholds" section at the bottom of your method configurations, typically the "Exceeds or equals" is set to 1, meaning this method has to happen at least once in a purepath (it seems like Dynatrace is already doing this for you), I would try setting both to 1. You could try product to 1 and branch to 0, but I suspect you would still only get results for purepaths that call both methods and have values in the respective return/args you have selected.
Thanks for the screenshots, the behavior is as I expected of the Business Transaction. Although there are no filters set, with the current configuration, behind the scenes, unless I am mistaken, Dynatrace is looking for all purepaths that satisfy the conditions set, in this case, the purepath must:
1. Return a branch value from the branch method.
2. Contain Product name argument from product method.
When the branch method is not called, the purepath only satisfies 1 of these criteria. It is acting like a filter with "and" logic, like this easytravel screenshot:
For possible solutions, I can think of a couple options, one is code changes. the other is separate BT's.
For code changes, you could either use a different method that contains both product name and branch. (If such a method exists) Or you could call the branch method and have it return a string value, such as "empty" or "No Branch Selected". That is your call if this is plausible in your environment.
For multiple Business transactions, you have a few options:
1. All transactions with BOTH a product value and a branch value, with splittings for both.
2. All transactions with a product value, split by product value.
3. All transactions with a branch value, split by branch value.
4. All transactions that call BOTH methods, but only split by product value (Because it is the only method that is guaranteed to be called)
I'd be glad to help out with creating those, please let me know if you have any other questions.