If you have the XPression Plugin for DashBoard (which was released with Version 8.4), and the appropriate XPression License, then you can use that plugin to determine when a take item is taken to air or taken off air.
The easiest way to do that is to use the xprn.outputs.0.outputstate parameter (I used 0, for the first output, but there is one for each output of your XPression).
That parameter is a structure that has all the active layers of the output. For each layer, it tells you what takeid and scene is currently on that layer.
It looks something like the attached picture.
You could put a listener on that parameter, and every time it changes, figure out which take id was either put on air or removed from air. You could keep a running total in that way.
Of course, just because something was put on a layer does not mean it's visible. There might be something blocking it on a higher layer. But you would have a count of each time something was played, and you can calculate how long it was on air.
If you only care about a few take items, then you could also use the xprn.sequenceitem.take.state parameters (where is the takeid of the item you care about). You could put a change listener on that parameter for each item you want to track to know when it's online or offline.
Let me know if you need more info about this.

#DashBoard