Skip to content
This repository has been archived by the owner on Jan 7, 2022. It is now read-only.

Frequently Asked Questions

Frank Köhne edited this page Apr 23, 2017 · 3 revisions

How much performance does all this cost, compared to a non-instrumented batch run?

It depends on the structure of your job. Generally speaking the additional code will slow down the job a bit, but:

  1. All costly operations are asynchronous.
  2. This is a development tool. Its effect is deterministic, so you can evaluate job performance over different versions on the same machine. But you can't easily compare measurements from a developer machine and a production machine anyway - regardless of the tooling.

What about failing batch-jobs?

We basically try to gather as much data as possible. But, generally speaking, if your batch job fails a performance perspective will most likely not be your starting point of analysis.

What about parallel jobs?

The performance logging framework is prepared for parallel execution.

What is your error handling strategy and how does this interact with my own?

It does not. Exception handling in the logging code is implemented defensivly - any problem regarding logging and performance measurement will be visible in the logfile, but no exceptions will reach your code (due to broad catch-clauses as well as the fact, that the database interaction occurs in a separate thread). From the perspective of the batch job, the logging is completely invisible.

My job / step is running, but no performance data is logged. Why is that?

Please make sure that all of the elements to be monitored are created through the spring bean factory.