TRACE-CMD-LISTEN(1)

๐Ÿ’… trace-cmd-listen โ€” the libtracefs manual page, but make it make sense

okay so bestie, you know how trace-cmd has a whole little family of subcommands? this is the one that just... waits. it sits there, cute and patient, listening on a port for your other machines to call it up. it's giving "i'm not clingy, i'm just available." ๐ŸŽ€

this page lives in the libtracefs manual, and honestly? it ate.


โœจ NAME โœจ

trace-cmd-listen โ€” literally just sit there and listen for an incoming connection so you can record some tracing. that's the whole vibe. ๐Ÿ‘‘


โœจ SYNOPSIS โœจ

trace-cmd listen -p port [OPTIONS]

โœจ DESCRIPTION โœจ

so trace-cmd(1) listen โ€” real name trace-cmd-listen โ€” sets up a port and just... listens. it's waiting for connections from other hosts that are running trace-cmd-record(1) with the -N option. iykyk. ๐Ÿฆ‹

when a connection actually happens, and that remote host starts sending data, it creates a file called trace.HOST:PORT.dat. and no, that's not a typo, that's the actual filename format:

  • HOST is the name of the remote host
  • PORT is the port that the remote host used to connect with

so you literally get a file per buddy. iconic. โœจ


๐ŸŒธ OPTIONS ๐ŸŒธ

  • -p port โ€” specifies the port to listen to. this is kind of the whole point, ngl.
  • -D โ€” sends trace-cmd listen into daemon mode so it runs in the background. main character energy: present but not making a whole scene about it. ๐Ÿ’…
  • -V โ€” listen on a vsocket instead. useful for tracing between host and guest VMs. virtual machine besties, this one's for you ๐Ÿซถ
  • -d dir โ€” specifies a directory to write the data files into. keep your mess contained, queen.
  • -o filename โ€” overrides the default trace in the trace.HOST:PORT.dat that gets created when a remote host connects. so you can name your files whatever, not just trace.
  • -l filename โ€” writes the output messages to a log file instead of standard output. bye stdout, hello file ๐Ÿ“
  • --verbose[=level] โ€” sets the log level. supported log levels are "none", "critical", "error", "warning", "info", "debug", "all", or their identifiers "0", "1", "2", "3", "4", "5", "6". setting the log level to a specific value enables all logs from that level and all previous levels. if you don't specify one, the level defaults to "info".

example: enable all critical, error and warning logs

trace-cmd listen --verbose=warning
fr fr, that --verbose ladder is a whole vibe check: pick a level and you get that level plus everything chiller below it. no gatekeeping. ๐Ÿ”ฅ

๐ŸŒˆ SEE ALSO ๐ŸŒˆ

the whole squad, in order:

trace-cmd(1), trace-cmd-record(1), trace-cmd-report(1), trace-cmd-start(1), trace-cmd-stop(1), trace-cmd-extract(1), trace-cmd-reset(1), trace-cmd-split(1), trace-cmd-list(1)


๐Ÿ’œ AUTHOR ๐Ÿ’œ

written by Steven Rostedt, <rostedt@goodmis.org[1]> โ€” the actual legend. we stan. ๐Ÿ‘‘


๐Ÿงš RESOURCES ๐Ÿงš

https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/

go look at the source, it's right there, i'm not gonna gatekeep it ๐Ÿฆ‹


๐Ÿ“ COPYING ๐Ÿ“

Copyright (C) 2010 Red Hat, Inc. free use of this software is granted under the terms of the GNU Public License (GPL).


โญ NOTES โญ

  1. rostedt@goodmis.org mailto:rostedt@goodmis.org

okay that's the page!! ๐Ÿ’– every single flag, path, level and name is exactly where it should be โ€” nothing dropped, nothing invented, no cap.

and for the cute sign-off: this is the libtracefs manual, dated 03/09/2026, and it's page TRACE-CMD-LISTEN(1) because obviously. slay, go listen on a port, bye bestie ๐Ÿ‘‹โœจ๐ŸŽ€

๐Ÿ“ฆ where this page comes from