I really think something is missing in jBPM 4. At the moment there are only two timestamps logged for tasks: creation and execution (start_ and end_).
I have a BPM case where most of the time the candidate groups are filled in by an AssignmentHandler and in a second phase an individual users can take a task (according to his candidate groups).
What I miss is a timestamp for the moment a task is assigned (taken by) to an individual user.
Since BPM is all about optimizing your process I miss some valuable information here. It is currently impossible to retrieve enough information on the tasks duration. If for example a task is created and assigned to a candidate group but the users waits two weeks to take the task, the bottleneck is not the creation or execution of the task but the process of taking the task.
So I would suggest to extend:
JBPM4_HIST_TASK and add a new Column: ASSIGNMENT_ of type TImeStamp.
HistoryService with a new method java.util.Map<java.lang.String,java.lang.Long> avgAssignmentPerTask (java.lang.String processDefinitionId)