luft/render/tracy-capture.lisp
Participate only during the short connection handshake. Once the canvas lane is named, this nonvisual attachment must not cause an empty overlay render pass that would itself pollute the capture being measured.
Start viewer's trace asynchronously and return its reserved pathname.
Request viewer's graceful capture stop without waiting for finalization.
Atomically start or stop viewer's shared Tracy controller.
Open pathname or viewer's last trace without waiting for the Tracy GUI.
Reveal pathname or viewer's last trace without waiting for Finder.
(instrument)Return INSTRUMENT's input and visual stacking priority.
(instrument viewer)Whether INSTRUMENT currently participates in VIEWER.
Logical conjunction of tests and raw truth values.
Logical negation of one test or raw truth value.
(controller)(instrument viewer)Publish INSTRUMENT's already-owned state at VIEWER's frame boundary.
(name)Name the calling thread in Tracy's timeline, if the profiler is running. Worker threads are worth naming as they start: an unnamed thread still gets a lane, but the lane is a thread id rather than a job. A thread that starts before START-TRACY keeps the anonymous lane, so start Tracy before the session whose threads…
(instrument viewer)Release INSTRUMENT while VIEWER's GPU device is live.
(controller)Detach CONTROLLER immediately and asynchronously stop its owned capture. This operation is terminal and idempotent. It never waits for capture finalization or for a profiler window.
(viewer)Logical disjunction of tests and raw truth values.
(viewer instrument)Attach INSTRUMENT at VIEWER's frame boundary in explicit priority order. ADD consumes a newly offered INSTRUMENT on both success and terminal rejection. Once VIEWER begins stopping, the rejected instrument is released exactly once before APPLICATION-ATTACHMENT-CLOSED is signalled.
(&key application-name directory
(runtime (make-instance 'native-tracy-capture-runtime))
(open-on-completion-p t)
(graceful-stop-seconds 5.0d0))(viewer)(controller)(viewer)(controller)Request one graceful stop and return immediately. Concurrent and repeated calls publish only one interrupt for a generation.
(controller)(controller)(viewer &optional pathname)(controller &optional pathname)(viewer &optional pathname)(controller &optional pathname)(name (&rest lambda-list) documentation &body body)
luftowns only the application attachment and command vocabulary. The shared controller owns every subprocess and every concurrent transition.