Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import babeltrace
- import json
- import sys
- def get_msg_intervals(trace_path):
- col = babeltrace.TraceCollection()
- if col.add_trace(trace_path, 'ctf') is None:
- raise RuntimeError('Cannot add trace')
- msg_intervals = {}
- for ev in col.events:
- if ev.name not in ['message:actor_send', 'message:actor_receive']:
- continue
- msg_source_actor = ev['message_source_actor']
- msg_number = ev['message_number']
- if msg_source_actor not in msg_intervals:
- msg_intervals[msg_source_actor] = {}
- if msg_number not in msg_intervals[msg_source_actor]:
- msg_intervals[msg_source_actor][msg_number] = {}
- interval = msg_intervals[msg_source_actor][msg_number]
- if ev.name == 'message:actor_send':
- interval['send_ts'] = ev.timestamp
- else:
- interval['recv_ts'] = ev.timestamp
- return msg_intervals
- if __name__ == '__main__':
- msg_intervals = get_msg_intervals(sys.argv[1])
- print(json.dumps(msg_intervals, indent=2))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement