INNER CODE UNIT · Python
compute_time_deltas
etchdroid/etchdroid · misc/ostream-trace-log-analyzer.py:74
def compute_time_deltas(events_df, event_name):
# Separate start and end events
start_events = events_df[events_df['event_type'] == 'start']
end_events = events_df[events_df['event_type'] == 'end']
# Merge start and end events on 'block'
merged = pd.merge(start_events, end_events, on='block', suffixes=('_start', '_end'))
# Compute time deltas
merged['time_delta_s'] = merged['time_s_end'] - merged['time_s_start']
# Remove negative time deltas (if any)
merged = merged[merged['time_delta_s'] >= 0]
# Keep relevant columns
result = merged[['block', 'pos_start', 'time_delta_s']]
result['event'] = event_name