Execution time metrics

Hello Flowable experts,

I have the following situation:
We have an application that uses primarily flowable to execute its tasks.
Under very high load (stress), we noticed some occasional increases in the time between the execution of one task and another.
Taking a look at act_hi_actinst, we noticed no delay when investigating the interval between the ‘start_time’ and the ‘end_time’ of these tasks.
However, when we proceeded to add custom metrics in all of our java classes that correspond to these tasks (logging start and end of the task), we noticed that it indeed had some occasional spikes/delay between the tasks.
I assume this is because the times represented in act_hi_actinst do not actually match the times of the java classes we execute, as it does bunch of other stuff too (insert, update queries etc.) before it executes the java code and after that, as these are also included in the times. Is my understanding correct?

My question is, is there some flowable mechanism which we could use to acquire metrics (start, end times) for the execution of the actual java classes we provide, only (and not rely on custom logging from our side)?



Could anyone assist with the above question?


The delays your seeing may be due to writing history synchronously, which is the default in Flowable. If you can turn on async history you may notice a reduction or elimination in the lag spikes.