utils/trace: drop spurious wakeup/idle events
Created by: derkling
In some traces it can happen that a CPU wakeup is immediately followed by a CPU idle event (or the other way around) which have the exact same timestamp. Such a condition means that the wakeup time (or sleep time) is essentially null and thus it can be discarded.
Nevertheless, such a condition generates an exception when we try to re-index the active signal, e.g. in HeavyLoadTest::test_tasks_spread.
This fixes these issues by ensuring that the cpu_active time series does not have spurious wakeup/idle events. The number of (eventually) dropper events is reported in output for logging purposes.
Signed-off-by: Patrick Bellasi patrick.bellasi@arm.com