A more complex formula
The queries that set a constraint over the program run can be different than the one we have seen
so far. Let's take a look at one that, instead of measuring the duration of a single function call,
selects two points of interest in the code and observes the time that the program run takes between
those points. The formula shown below selects a point at which the variable called
self.destination_tag_name changes and a point at which function
self._conddbfw_con.session.commit is called and states that the program run should take no
more than 0.1 seconds to get from the first one to the other.
Since the query is about a pair of points, rather than just one, in order to analyse the performance,
we need to select a pair of points in the code at which observations were taken. There can be more such
pairs, which is why they are grouped by bindings. In this example, there are two bindings and we can
filter the points in the code by selecting the binding of interest.
1 / 4
2 / 4
Additionally, when we are creating plots we need to select a pair of points the time between
which we want to observe. At runtime, the time when each one is reached is recorded, but we need
to pair them and calculate the difference. This is all done in the background, while the user only
needs to select the pair of points of interest. Choosing the first one is an option available in
the dropdown menu.
3 / 4
Additionally, when we are creating plots we need to select a pair of points the time between
which we want to observe. At runtime, the time when each one is reached is recorded, but we need
to pair them and calculate the difference. This is all done in the background, while the user only
needs to select the pair of points of interest. Choosing the first one is an option available
in the dropdown menu. Choosing the other one, along with the plotting option is available as
shown below.
4 / 4
❮
❯
Visualisation
Observed time taken by the program run between the selected two points.
1 / 8
Verdict severity plot for the chosen pair.
2 / 8
Paths highlighted by severity.
3 / 8
Select a plotting option that creates plot with regards to path.
4 / 8
Select a plotting option that creates plot with regards to path.
5 / 8
Select a plotting option that creates plot with regards to path.
6 / 8
Select a plotting option that creates plot with regards to path.
7 / 8
Select a plotting option that creates plot with regards to path.
8 / 8
❮
❯