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

Is possible get the number of splits generated by a BT?

rodrigo_alvare1
Dynatrace Pro
Dynatrace Pro

Hi,

I am wondering if there is a way to get the splits, that are generated by a Business Transaction.

The work around that I found is to do a report in excel, but it only shows the splits for a period of time.

8 REPLIES 8

peter_karlhuber
Dynatrace Pro
Dynatrace Pro

Hi Rodrigo,

if you need them for some sort of dashboard in the client, you could chart a result measure of the BT and only display the table. This will give you the splittings that were generated in the time frame of the chart. An alternative would be the BT hotspots dashlet.

If you need them for something else, you could retrieve them from the database directly by executing this query:

select tag_data from dynamic_measure where conf_id = 11363 and is_dynamic=1 and conf_id in (select conf_id from dynamic_measure where name like '<insert BT name here>%' and is_dynamic=-1)

Note that the "like" in the subquery is there to account for some special names that we use when you have multiple result measures in a BT. It means that you will get splittings for all BTs that start with the string you put in there, so consider that you'll probably get wrong values if other BTs start with the same string. Best regards,

Peter

Hello Rodrigo, two more options,

1)

You can also get the Splittings by using the dynatrace rest webservice,

Create a BT, measure the split value, store result in performance warehouse option on,

create a BT hotspot dashboard and use it as an input for the rest web service.

(you can also use a business transaction dashboard which runs on the session storage, however i would not advise to do it for this case @performance).

2) You can setup an external system like elastic with the apache flume - / BT listener plugin to push splittings to your external system.

Regards

rodrigo_alvare1
Dynatrace Pro
Dynatrace Pro

Thank you for your answers, I was wondering if the Measure Health dashboard (StartCenter) > Top Contributors (Business Transactions) was related to the splitting or is just to the measures that is generated by the BT?

Hello Rodrigo,

This dashboard tells you how many measures a BT is generating. As you said a BT split value with a lot off unique values can generate a lot of measures. These measures are saved / updated into the PWH. (if you switched on the 'save to PWH option on business transaction level'). To many of them can give you a measure explosion (bad PWH performance). There is also a setting on BT level to limit the splittings (ex max 5000 values, if exceeded the BT will be deactivated)

I assume that every point on a chart is a measure in the PWH database, these measures need to be continuously inserted into the PWH, dynatrace needs also to do aggregation on the measures (update / delete on the PWH). The report you mentioned it a part of the internal self monitoring statistics (you can chart them as well, create BY hotspot dashboard, select selfmonitoring profile, select you measure)

Regards

So a BT with 100 splits and that returns 2 calculated results,

Will show 200 measures in this chart of Top Contributors (Business Transactions)?
Or it will be 100 (because of the splittings) ?

Regards

Hola Rodrigo, interesting question,

If you create a BT you have default 3 calculated measures (failure rate, count & response time). So 3 x 100 splits are 300 measures. However i think we will have more measures, if you open a BT (hotspot) dashboard and select a BT you see extra columns ex: next to the orginal purepath response time [avg] you have also pure path response time [Max], pure path response time [Sum], ... So i should say that one calculate measure can have extra measures behind the scenes.

May be someone can confirm this,

Regards

peter_karlhuber
Dynatrace Pro
Dynatrace Pro


Hi Rodrigo,


the maximum number of result measures multiplies
with the number of cross products of the splittings to give the total
result of measures for a BT, 200 in your case. The actual number depends
on how many splittings were actually observed for each result measure,
we don't create dynamic measures where no measurement has to be written.


For
example, let's say you roll 2 6-sided dice (a blue one and a red one).
As splittings, you choose "rolled number of the red die" and "rolled
number of the blue die". As result measures, you want "sum of the rolled
numbers", "minimum" and "maximum". Then you'll have a theoretical
maximum of 6 (red numbers) times 6 (blue numbers) times 3 (result
measures) dynamic measures, that is 108 measures (plus 3 non-dynamic
parent measures, one for each result measure).


- Note 1: The first
checkbox for server side BTs, "Failure Rate", will actually add two
result measures ("Failed Transaction Count of <BT Name>" and
"Failed Transaction Percentage of <BT Name>")


- Note 2: If a
result measure has a threshold set, a violation of the threshold will
add an additional measure called "Violation of <BT Result Measure
Name>" (which includes the BT Name). This will also be split by all
splittings, adding 1 to the number of result measures.


- Note 3:
Filter measures can only reduce the total number of measures, because
the number of observed splittings will be less or equal to that without
filters.


- Note 4: Dynamic measures that didn't get a measurement for as long as there are mid resolution values will be dropped.


- Note
5: each measure will also add itself as a non-dynamic measure,
increasing the total count of measures (but not dynamic measures) by
one.


- Note 6: a "measurement" includes always four values: min,
max, sum, count. Therefore, these values (and the derived avg) aren't
adding to the total number of measures or measurements.


Cheers,


Peter

Edit: the "count" measures like Violation of... and Failed Transaction Count of... seem to add splittings even though no measurement would need to be written, writing "0" as measurement.

harshal_pujari
Dynatrace Pro
Dynatrace Pro

Hi Rodrigo,

You can also use this plugin, which counts the number of splits in a BT. If you have a lot of splits being generated, you can turn off storing data in the performance warehouse and just count the splits using the plugin.

Hope this helps.

Regards,

Harshal.