LTTNG-SCHEDLOG-MI(1)

πŸ“¦ version 0.6.1, in debian bookworm, ubuntu jammy

πŸ’– NAME πŸ’–

okay so bestie, meet lttng-schedlog-mi β€” the LTTng analyses Scheduler log machine interface. that's the whole vibe. it's a user command, it lives in section 1 of the manual (you know, the LTTNG-SCHEDLOG-MI(1) one πŸ’…), and it is here to make your scheduler logs make sense. periodt.


✨ DESCRIPTION ✨

here's the whole thing, exactly how you'd type it:

usage: lttng-schedlog-mi [-h] [-r REFRESH] [--gmt] [--skip-validation]
       [--begin BEGIN] [--end END] [--period PERIOD]
       [--period-captures PERIOD_CAPTURES] [--period-begin PERIOD_BEGIN]
       [--period-end PERIOD_END] [--period-begin-key PERIOD_BEGIN_KEY]
       [--period-end-key PERIOD_END_KEY] [--period-key-value
       PERIOD_KEY_VALUE] [--cpu CPU] [--timerange TIMERANGE]
       [--progress-use-size] [--no-intersection] [-V] [--debug]
       [--no-color] [--no-progress] [--min MIN] [--max MAX] [--procname
       PROCNAME] [--tid TID] [--freq] [--freq-resolution
       FREQ_RESOLUTION] [--freq-uniform] [--freq-series] [--limit LIMIT]
       [--top] [--log] [--stats] [--total] [--per-tid] [--per-prio]
       <path/to/trace>

The sched command. that's it, that's the whole summary. iconic.


πŸŽ€ POSITIONAL ARGUMENTS πŸŽ€

  • <path/to/trace> β€” the path to your trace. like, where the tea actually lives. give it the trace path and she'll do the rest 🫢

πŸ’… OPTIONAL ARGUMENTS πŸ’…

okay this is the long part bestie, but every single one of these matters, no skipping:

  • -h, --help β€” shows this help message and then dips. bye πŸ‘‹
  • -r REFRESH, --refresh REFRESH β€” the refresh period, and you can tack a units suffix on it if you want (default unit: s).
  • --gmt β€” manipulate timestamps based on GMT instead of local time. timezone shift, but make it intentional 🌍
  • --skip-validation β€” skip the trace validation. living dangerously, we respect it.
  • --begin BEGIN β€” start time, formatted as hh:mm:ss[.nnnnnnnnn].
  • --end END β€” end time, same format: hh:mm:ss[.nnnnnnnnn].
  • --period PERIOD β€” Period definition.
  • --period-captures PERIOD_CAPTURES β€” Period captures definition.
  • --period-begin PERIOD_BEGIN β€” the analysis period start marker event name.
  • --period-end PERIOD_END β€” the analysis period end marker event name (heads up: this one requires --period-begin, they're a package deal πŸ’ž).
  • --period-begin-key PERIOD_BEGIN_KEY β€” optional, a list of event field names used to match period markers (default: cpu_id).
  • --period-end-key PERIOD_END_KEY β€” optional, a list of event field names used to match period markers. if you don't specify any, it just uses the same as --period-begin-key.
  • --period-key-value PERIOD_KEY_VALUE β€” optional, define a fixed key value that a period has to correspond to in order to even be considered. picky, but in a slay way.
  • --cpu CPU β€” filter the results down to only this list of CPU IDs.
  • --timerange TIMERANGE β€” time range, written as [begin,end].
  • --progress-use-size β€” use trace size to approximate progress.
  • --no-intersection β€” disable stream intersection mode.
  • -V, --version β€” show the program's version number and exit. quick lil flex.
  • --debug β€” enable debug mode (or, alternatively, set the LTTNG_ANALYSES_DEBUG environment variable).
  • --no-color β€” disable colored output. (sad, but sometimes you gotta.)
  • --no-progress β€” don't display the progress bar.
  • --min MIN β€” filter out durations shorter than min usec.
  • --max MAX β€” filter out durations longer than max usec.
  • --procname PROCNAME β€” filter the results only for this list of process names.
  • --tid TID β€” filter the results only for this list of TIDs.
  • --freq β€” output the frequency distribution of sched switch latencies.
  • --freq-resolution FREQ_RESOLUTION β€” frequency distribution resolution (default 20).
  • --freq-uniform β€” use a uniform resolution across distributions.
  • --freq-series β€” consolidate the frequency distribution histogram into a single one.
  • --limit LIMIT β€” limit to top X (default = 10).
  • --top β€” output the top sched switch latencies. main character behaviour honestly.
  • --log β€” output the sched switches in chronological order.
  • --stats β€” output sched switch statistics.
  • --total β€” group all results (applies to stats and freq).
  • --per-tid β€” group results per-TID (applies to stats and freq) (this is the default, so it's already doing this unless you say otherwise).
  • --per-prio β€” group results per-prio (applies to stats and freq).
πŸ’€ reminder bestie: --period-end will not work without --period-begin. don't come for me when it yells at you.

that's the whole page, no cap. this was LTTng Analyses v0.6.0, dated January 2017 β€” go forth and read your scheduler logs like the icon you are πŸ’–βœ¨πŸ‘‘

πŸ“¦ where this page comes from