This is way above my competence level, but I would imagine this is possible with the Configurable Reports plugin. In principle you's need to get the timestamp from the log where the user viewed the activity and the timestamp where the user submitted the activity. Then create an average or median or standard deviation of all the instances. Obviously this would only work if it was set up to be done in one sitting.
Another option, depending on the content, would be to set up an exotic quiz (making use of descriptions to embed presented material, and check questions to monitor progress). If that was possible, quiz automatically generates the time spent completing the quiz. If the content is linear and doesn't require branching, then this works quite well. I've done this a few times where classes are taken in a computer room at school - it's particularly handy when covering for sick colleagues!
Hope this helps,