get_all_zone_stats mixes every thread, so the main-thread cost of a
zone could not be separated from worker threads. get_thread_zone_stats
returns the same per-name stats for the zones recorded on one thread,
and its per-thread sums match get_all_zone_stats exactly.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L3DnWkXakGRgz9C8BaLM47
get_plots only summarises a whole trace, so a plot could not be
compared across windows. get_plot_samples returns the (time, value)
pairs in a range, thinned to a maximum count, and
get_plot_window_stats returns count, min, max and average over just
that range.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L3DnWkXakGRgz9C8BaLM47
When the client disconnects while a disjoint query result is pending,
the not-connected branch of Collect resets the checkpoints without
re-issuing Begin. The next connected Collect then calls End twice, so
no GpuTime items are produced and every later connection shows GPU
zones with no timings.
Drain the pending result and Begin the query before resetting.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L3DnWkXakGRgz9C8BaLM47
With CONCURRENT_KERNEL, MEMCPY or MEMSET activity enabled, CUPTI 13.0
faults the device with an illegal memory access once the nodes inside CUDA
graph conditional (IF/WHILE) bodies have executed about 699,050 times in a
context. TRACY_CUDA_SERIALIZED_KERNEL_ACTIVITY enables KERNEL activity
instead, which avoids the fault at the cost of serializing kernels. In that
mode CUPTI reports conditional-body kernels once per graph launch without
timestamps, so those records are skipped.
Pass the 50 ms budget as the timeout of wl_display_dispatch_timeout
instead of sleeping after a nonblocking dispatch. The dispatch flushes
before polling and wakes on any event, e.g. re-granted focus.
Pandoc omits a heading's {#id} when it equals the auto-generated
identifier; the manual window resolves links only from explicit
suffixes, leaving six section anchors unnavigable.
- Match radio button sizes to other sub-elements (smaller inline size)
- Also fix alignment of select/unselect all buttons relative to filter text baseline
- Extract plot name into GetPlotName helper for uniform use in user vs. built-in plots
- Properly handle row-wise plot duplicate IDs through PushID/PopID
- Remove truncation hazards from use of snprintf
- Allow clicking full hierarchical row to toggle expansion (hover highlights the whole row, similar to the other collapsible rows in the options view)