Was wondering if you see any value in a pull request for this, if not so I could avoid the trouble of signing google license agreements.
Here's an example trace as displayed in the command line by mftrace.
Listening to ETW events (CTRL+C to end)
__M_F_T_R_A_C_E___LOG__
PID, TID Time (UTC) TraceMessage
--------- -------------- ------------
19264,5614 20:26:32.28073 RustTrace Generic @xi-win-ui
19264,5614 20:26:32.32400 RustTrace Generic @Request {"method":"client_started","params":{}}
19264,5614 20:26:32.32405 RustTrace Generic @Request {"id":0,"method":"new_view","params":{}}
19264,3F9C 20:26:32.36444 RustTrace Generic @Response {"method":"available_themes","params":{"themes":["InspiredGitHub","Solarized (dark)","Solarized (light)","base16-eighties.dark","base16-mocha.dark","base16-ocean.dark","base16-ocean.light"]}}
19264,3F9C 20:26:32.36506 RustTrace Generic @Response {"id":0,"result":"view-id-1"}
19264,3F9C 20:26:32.36515 RustTrace Generic @Response {"method":"available_plugins","params":{"plugins":[],"view_id":"view-id-1"}}
19264,3F9C 20:26:32.36545 RustTrace Generic @Response {"method":"config_changed","params":{"changes":{"auto_indent":false,"font_face":"InconsolataGo","font_size":14,"line_ending":"\r\n","plugin_search_path":[],"scroll_past_end":false,"tab_size":4,"translate_tabs_to_spaces":true,"use_tab_stops":true,"wrap_width":0},"view_id":"view-id-1"}}
19264,3F9C 20:26:32.36580 RustTrace Generic @Response {"method":"update","params":{"update":{"ops":[{"lines":[{"cursor":[0],"styles":[],"text":""}],"n":1,"op":"ins"}],"pristine":true},"view_id":"view-id-1"}}
19264,3F9C 20:26:32.36585 RustTrace Generic @Response {"method":"scroll_to","params":{"col":0,"line":0,"view_id":"view-id-1"}}
19264,5614 20:26:35.02702 RustTrace Generic @Request {"method":"edit","params":{"method":"insert","params":{"chars":"a"},"view_id":"view-id-1"}}
19264,3F9C 20:26:35.02806 RustTrace Generic @Response {"method":"update","params":{"update":{"ops":[{"lines":[{"cursor":[1],"styles":[],"text":"a"}],"n":1,"op":"ins"}],"pristine":false},"view_id":"view-id-1"}}
19264,3F9C 20:26:35.02812 RustTrace Generic @Response {"method":"scroll_to","params":{"col":1,"line":0,"view_id":"view-id-1"}}
19264,5614 20:26:36.15279 RustTrace Generic @Request {"method":"edit","params":{"method":"insert_newline","params":[],"view_id":"view-id-1"}}
19264,3F9C 20:26:36.15366 RustTrace Generic @Response {"method":"update","params":{"update":{"ops":[{"lines":[{"styles":[],"text":"a\r\n"},{"cursor":[0],"styles":[],"text":""}],"n":2,"op":"ins"}],"pristine":false},"view_id":"view-id-1"}}
19264,3F9C 20:26:36.15371 RustTrace Generic @Response {"method":"scroll_to","params":{"col":0,"line":1,"view_id":"view-id-1"}}
19264,5614 20:26:36.91523 RustTrace Generic @Request {"method":"edit","params":{"method":"delete_backward","params":[],"view_id":"view-id-1"}}
19264,3F9C 20:26:36.91603 RustTrace Generic @Response {"method":"update","params":{"update":{"ops":[{"lines":[{"cursor":[1],"styles":[],"text":"a"}],"n":1,"op":"ins"}],"pristine":false},"view_id":"view-id-1"}}
19264,3F9C 20:26:36.91623 RustTrace Generic @Response {"method":"scroll_to","params":{"col":1,"line":0,"view_id":"view-id-1"}}
19264,5614 20:26:37.50286 RustTrace Generic @Request {"method":"edit","params":{"method":"delete_backward","params":[],"view_id":"view-id-1"}}
19264,3F9C 20:26:37.50363 RustTrace Generic @Response {"method":"update","params":{"update":{"ops":[{"lines":[{"cursor":[0],"styles":[],"text":""}],"n":1,"op":"ins"}],"pristine":true},"view_id":"view-id-1"}}
19264,3F9C 20:26:37.50369 RustTrace Generic @Response {"method":"scroll_to","params":{"col":0,"line":0,"view_id":"view-id-1"}}
19264,5614 20:26:38.98490 RustTrace Generic @cleanup