Skip to content

Various small changes and improvements#58

Merged
anakryiko merged 8 commits intomasterfrom
wprof-misc
Apr 22, 2026
Merged

Various small changes and improvements#58
anakryiko merged 8 commits intomasterfrom
wprof-misc

Conversation

@anakryiko
Copy link
Copy Markdown
Owner

No description provided.

Set ARGP_HELP_FMT to push the option doc column and right margin wider,
so long option descriptions don't wrap as aggressively on narrow
terminals. Respects user override since setenv uses no-overwrite mode.

Signed-off-by: Andrii Nakryiko <[email protected]>
Allow disabling softirq and/or hardirq tracing via -f no-softirq,
-f no-hardirq, or -f no-irq (both). On by default, matching prior
behavior. Also respected during replay to suppress IRQ events from
trace output.

Signed-off-by: Andrii Nakryiko <[email protected]>
Replace per-feature bitfield members in wprof_data_cfg with a single
u64 capture_features bitmask and an enum of bit values. This eliminates
20 boilerplate get/set inline functions, simplifies the capture_feature
descriptor (cfg_bit replaces function pointers), and lets the JSON
header emit loop generically over the feature table.

Note: this changes the on-disk layout of wprof_data_cfg, so data files
produced by older builds are not compatible.

Signed-off-by: Andrii Nakryiko <[email protected]>
Timer instants were emitted on the kernel thread track, where they
visually merged with other events. Move them to a dedicated per-thread
"TIMER" child track with MERGE_NONE so they render as their own
collapsible row under each thread.

Add enum track_merge_behavior as a short-named wrapper for Perfetto's
verbose SiblingMergeBehavior enum, following the existing
track_child_order pattern. Wire it through emit_track_descr_impl so any
track can specify its merge behavior.

Signed-off-by: Andrii Nakryiko <[email protected]>
Same treatment as the TIMER track: parent CUDA API events on TK_THREAD
(not TK_THREAD_META) with MERGE_NONE, so they render as their own
collapsible "CUDA" row under each thread instead of merging into the
main thread track.

Signed-off-by: Andrii Nakryiko <[email protected]>
Parent request events on TK_THREAD with MERGE_NONE, rendering them as
a collapsible "REQUESTS" row under each thread instead of merging into
the main thread track.

Signed-off-by: Andrii Nakryiko <[email protected]>
With timer, CUDA API, and request events moved to their own non-merged
child tracks, the separate kernel activity track (TK_THREAD_KERNEL) no
longer serves a purpose. All kernel-side events (IRQs, wakeups,
fork/exec/exit, etc.) now emit directly to TK_THREAD.

Remove TK_THREAD_KERNEL, TK_IDLE_KERNEL, and trackid_thread_kernel().

Signed-off-by: Andrii Nakryiko <[email protected]>
@anakryiko anakryiko merged commit 357b995 into master Apr 22, 2026
4 checks passed
@anakryiko anakryiko deleted the wprof-misc branch April 22, 2026 17:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant