rtk-ai/rtk

Add filters for journalctl and fs_cli (systemd/FreeSWITCH dev workflows)

Open

#2259 aperta il 4 giu 2026

Vedi su GitHub
 (1 commento) (0 reazioni) (0 assegnatari)Rust (2914 fork)batch import
area:clienhancementhelp wantedpriority:medium

Metriche repository

Star
 (48.085 star)
Metriche merge PR
 (Merge medio 8g 17h) (49 PR mergiate in 30 g)

Descrizione

Summary

Requesting RTK filter support for two commands that show up heavily in systemd-service and FreeSWITCH development workflows but currently pass through unfiltered: journalctl and fs_cli.

From rtk discover on a real project (34 sessions, 2880 Bash commands), these were among the top unhandled commands:

  • journalctl — 32 invocations (e.g. journalctl -u portal-backend -u portal-frontend)
  • fs_cli — 29 invocations (e.g. sudo /usr/local/freeswitch/bin/fs_cli -x "sofia status")

Both produce verbose output that is a strong fit for RTK-style compression.

journalctl

Why it's noisy: Default output repeats the full timestamp, hostname, unit, and PID on every line; multi-unit tails (-u a -u b) interleave and balloon fast.

Suggested filter behavior:

  • Strip the redundant per-line hostname and leading year/timezone from timestamps (keep MMM DD HH:MM:SS).
  • Collapse repeated identical log lines into a single line with an (xN) count.
  • Respect -n/--lines, -u, -p/--priority, --since, and -o json (pass JSON through untouched).
  • Preserve full content under -x / when a single line is an error or stacktrace.

fs_cli

Why it's noisy: FreeSWITCH -x command output (e.g. sofia status, show channels, show registrations) is wide ASCII tables with separator rows and trailing row-count footers.

Suggested filter behavior:

  • Drop decorative separator rows (====, ----, +---+).
  • Compress show channels/show registrations tables, keeping headers + data rows, dropping the redundant N total. footer when row count is derivable.
  • Handle the common invocation shapes: fs_cli -x "<cmd>" and absolute-path binaries like /usr/local/freeswitch/bin/fs_cli.
  • Pass through cleanly when output is already small (single OK/error line).

Environment

  • rtk 0.42.1, Linux x86_64 (musl build)
  • Both commands frequently invoked via sudo and with absolute paths — matcher should handle a sudo prefix and full binary paths.

Guida contributor