trace2: emit cmd_ancestry data for Windows
Since 2f732bf15e (tr2: log parent process name, 2021-07-21) it is now now possible to emit a specific process ancestry event in TRACE2. We should emit the Windows process ancestry data with the correct event type. To not break existing consumers of the data_json "windows/ancestry" event, we continue to emit the ancestry data as a JSON event. Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthew John Cheetham committed
Feb 13, 2026 at 19:54 UTC
d7301487a38766109589b02309dac1be6490fa95
1 file changed
+8
compat/win32/trace2_win32_process_info.c
+8
index aceea05430..6a6a396078 100644
--- a/compat/win32/trace2_win32_process_info.c
+++ b/compat/win32/trace2_win32_process_info.c
@@ -172,6 +172,11 @@ void trace2_collect_process_info(enum trace2_process_info_reason reason)
get_is_being_debugged();
get_ancestry(&names);
if (names.nr) {
+ /*
+ Emit the ancestry data as a data_json event to
+ maintain compatibility for consumers of the older
+ "windows/ancestry" event.
+ */
struct json_writer jw = JSON_WRITER_INIT;
jw_array_begin(&jw, 0);
for (size_t i = 0; i < names.nr; i++)
@@ -180,6 +185,9 @@ void trace2_collect_process_info(enum trace2_process_info_reason reason)
trace2_data_json("process", the_repository,
"windows/ancestry", &jw);
jw_release(&jw);
+
+ /* Emit the ancestry data with the new event. */
+ trace2_cmd_ancestry(names.v);
}
strvec_clear(&names);