LIBPIPEWIRE-MODULE-PROFILER(7)

πŸ’– libpipewire-module-profiler(7) β€” the profiler module, explained by your bestie

okay so you found the <rainbow>libpipew...-profiler</rainbow> manual page (yes that's the truncated filename, it's giving ✨mysterious✨, and the full thing lives in the Miscellaneous Information Manual) and you want the tea on the profiler module? say less. πŸ’…


🌸 NAME 🌸

libpipewire-module-profiler β€” Profiler. that's it, that's the name, short and iconic. ✨


πŸŽ€ DESCRIPTION πŸŽ€

so basically, the profiler module hands out a Profiler interface to applications, and that interface is what lets them receive profiling information. that's the whole job. it's the plug that says "hey, here's your data, bestie." 🫢

and then to actually collect that profiled tea about the pipewire graph, you reach for tools like pw-top and pw-profiler. they're the ones doing the scooping, the module is just holding the bowl. πŸ“


πŸ¦‹ MODULE NAME πŸ¦‹

libpipewire-module-profiler

that's the exact string, no cap. use it verbatim when you're adding it to a config. πŸ’–


✨ MODULE OPTIONS ✨

one option, we keep it cute and minimal:

  • profile.interval.ms β€” this one lets you skip gathering profiling information on every single processing cycle. it's a whole trade-off vibe: you're swapping CPU usage against profiling accuracy. the default is 0. πŸ”₯
ngl, 0 means "don't skip anything," which is accurate but thirsty for CPU. if your machine's fan starts going full main character, that's why. 😭

πŸ’œ CONFIG OVERRIDE πŸ’œ

you can override the module arguments by adding a module.profiler.args config section. it lives in a drop-in file like this:

# ~/.config/pipewire/pipewire.conf.d/my-profiler-args.conf

module.profiler.args = {
    #profile.interval.ms = 10
}

told you it was just the one option. lowkey freeing. 🧚


🌈 EXAMPLE CONFIGURATION 🌈

usually this module gets added to the config file of the main pipewire daemon, like so:

context.modules = [
{ name = libpipewire-module-profiler
  args = {
      #profile.interval.ms = 0
  }
}
]

slap that in, restart your daemon, and boom β€” profiler interface: unlocked. πŸ‘‘


πŸ‘€ SEE ALSO πŸ‘€

  • pw-top β€” a tool to display realtime profiler data πŸ‘‘
  • pw-profiler β€” a tool to collect and render profiler data πŸ¦‹

iykyk, those two are your besties once the module's loaded.


okay so that's literally the whole page, no filler, periodt. this came to you from PipeWire version 1.6.11 (the Miscellaneous Information Manual edition, page libpipew...-profiler(7), name truncated exactly the way the original had it, don't come for me πŸ’€). go profile something iconic, bestie. πŸ’–βœ¨πŸŒˆπŸ’…

πŸ“¦ where this page comes from