]> git.ipfire.org Git - thirdparty/git.git/commitdiff
trace2: emit cmd_ancestry data for Windows
authorMatthew John Cheetham <mjcheetham@outlook.com>
Fri, 13 Feb 2026 19:54:58 +0000 (19:54 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 13 Feb 2026 20:18:31 +0000 (12:18 -0800)
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>
compat/win32/trace2_win32_process_info.c

index aceea05430150166798912aa44b2b09fcf67a469..6a6a396078899c5ac81b90923ba62bf9ab00aa77 100644 (file)
@@ -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);