Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Measurement of Tasks vs. Orders
    • The default behavior for jobs in a job chain is to continue the task for the respective job for another 5 seconds after the order passed the task (idle timeout).
    • This behavior is intended as an optimization that allows the same task (system process) to be re-used for the next order entering the job node.
    • Therefore it is pointless to measure the duration of individual tasks, but instead the time consumption of orders has to be considered, i.e. the time required to pass an individual job node or to complete the job chain.
  • Use of Profilers
    • For Java API jobs the use of profilers is a proper means to check time consumption of an individual job execution. 
    • However, such tools are often unable to cope with the complexity of parallel processes in a system.
    • Last but not least such tools cause an impact of their own on performance. 
    • Therefore we recommend to use profilers for frequency analysis of code in individual job implementations, but not for measurement of JobScheduler perforrmance.
  • Recommendations
    • For performance measurement use the timestamps provided from the JobScheduler database for orders:
      • table SCHEDULER_ORDER_HISTORY: columns START_TIME and END_TIME provide the time duration required to complete the job chain
      • table SCHEDULER_ORDER_STEP_HISTORY: columns START_TIME and END_TIME provide the time duration required to complete the respective job node.
    • In addition you can use our own logging by use of the spooler_log.info() method that is available from the JobScheduler API or by logging timestamps to individual files.

...