@@ -599,6 +599,46 @@ stopping after the waitpid() and includes OS process creation overhead).
599
599
So this time will be slightly larger than the atexit time reported by
600
600
the child process itself.
601
601
602
+ `"child_ready"`::
603
+ This event is generated after the current process has started
604
+ a background process and released all handles to it.
605
+ +
606
+ ------------
607
+ {
608
+ "event":"child_ready",
609
+ ...
610
+ "child_id":2,
611
+ "pid":14708, # child PID
612
+ "ready":"ready", # child ready state
613
+ "t_rel":0.110605 # observed run-time of child process
614
+ }
615
+ ------------
616
+ +
617
+ Note that the session-id of the child process is not available to
618
+ the current/spawning process, so the child's PID is reported here as
619
+ a hint for post-processing. (But it is only a hint because the child
620
+ process may be a shell script which doesn't have a session-id.)
621
+ +
622
+ This event is generated after the child is started in the background
623
+ and given a little time to boot up and start working. If the child
624
+ startups normally and while the parent is still waiting, the "ready"
625
+ field will have the value "ready".
626
+ If the child is too slow to start and the parent times out, the field
627
+ will have the value "timeout".
628
+ If the child starts but the parent is unable to probe it, the field
629
+ will have the value "error".
630
+ +
631
+ After the parent process emits this event, it will release all of its
632
+ handles to the child process and treat the child as a background
633
+ daemon. So even if the child does eventually finish booting up,
634
+ the parent will not emit an updated event.
635
+ +
636
+ Note that the `t_rel` field contains the observed run time in seconds
637
+ when the parent released the child process into the background.
638
+ The child is assumed to be a long-running daemon process and may
639
+ outlive the parent process. So the parent's child event times should
640
+ not be compared to the child's atexit times.
641
+
602
642
`"exec"`::
603
643
This event is generated before git attempts to `exec()`
604
644
another command rather than starting a child process.
0 commit comments