WIP: experimental rpc timer proof of concept
- displays min/avg/max for each type of rpc call issued
- tracks nesting up to 4 deep using 16 bit identifers for each RPC
- uses abt thread local keys to relay through chains of rpcs
- replaces mercury gen proc macros with margo variants that tack on additional id for tracing purposes
DO NOT MERGE. Code is in rough draft form (lacks error handling, uses globals, and prints verbosely to stdout) and modifies margo API. Just opening WIP PR for tracking purposes.
The method for adding uint64_t rpc_breadcrumb could be better. The approach used here requires manual intervention for RPCs that don't use GEN_PROC macros, and will duplicate fields when GEN_PROC is nested.