QUICK INSTRUCTION ABOUT TRACING (DEVELOPMENT)

1. Install lttng according to doc here: https://lttng.org/docs/v2.13/#doc-building-from-source. A couple of notes
    - Install to a shared location like /fsx
    - Use --disable-numa if you'd like to skip numactl
    - Install URCU and LTTNG in same prefix. After install URCU, export PKG_CONFIG_PATH to include its .pc before building LTTNG

2. Build libfabric with LTTNG using --with-lttng=<lttng_prefix>.
    - This branch will enforce including lttng with a macro of #error, this is temporary to ensure we're indeed tracing
    - The macro is INCLUDE_LTTNG
    
3. Build fabtests as normal.

LIST OF TRACING POINT
file func [tracepoint(field1, field2, ...., fieldN)]
rxr_msg.c rxr_msg_generic_send [send_begin(msg_id, context, total_len, msg_context, msg_addr)]
rxr_msg.c rxr_msg_generic_recv [recv_begin(msg_id, context, total_len, msg_context, msg_addr)]
rxr_msg.c rxr_msg_proc_unexp_msg_list [msg_match_unexpected(msg_id, context, total_len, msg_addr)]
rxr_pkt_type_misc.c rxr_pkt_handle_rma_read_completion [read_complete(msg_id, context, total_len, read_entry_context)]
rxr_pkt_type_req.c rxr_pkt_get_msgrtm_rx_entry [msg_match_expected_nontagged(msg_id, context, total_len)]
rxr_pkt_type_req.c rxr_pkt_get_tagrtm_rx_entry [msg_match_expected_tagged(msg_id, context, total_len)]
rxr_pkt_type_req.c rxr_pkt_proc_matched_longread_rtm [longread_read_posted(msg_id, context, total_len)]
rxr_pkt_type_req.c rxr_pkt_proc_matched_mulreq_rtm [runtread_read_posted(msg_id, context, total_len)]