The attached model contains two examples of how you can collect that data.
StatisticsCollector1 works the same as the Alessio Merlo's model from this post. It measures the time the items spend on the processor by listening to its entry and exit event. When an item enters, a new row is created in the collector's internal table with the item as the 'rowValue'. The row value is an identifier for a row. If another row would be created with the same row value, the collector will instead update the already existing row.


When the row is first created when the item enters the combiner, the entry time is written to the first column. When the item exits, the second and third column are updated (which is why the 'rowValue' is used) to store the exit time and the difference between the two - the process time. The process times can then the displayed in a histogram chart.
StatisticCollector2 instead listens to the 'process time' event of the processor, the moment the process time is determined. The process time option was edited so it doesn't just return the value of the chosen distribution but also writes that value to a label on the processer first.

This label is then read by the statistics collector. Both statistics collector will in most cases store the same data. The difference is that values will be added to the second one as soon as the process starts, whereas the first one has to wait for the process to finish. The measured times of the first one would also include breakdowns of the processor. So if you are only interested in the output of the statistical distribution, the second option is better.
distribution_histogram_fm.fsm
For more information about statistics collectors, please refer to the manual.