rtk-ai/rtk

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

Open

#2 259 ouverte le 4 juin 2026

Voir sur GitHub
 (1 commentaire) (0 réactions) (0 assignés)Rust (2 914 forks)batch import
area:clienhancementhelp wantedpriority:medium

Métriques du dépôt

Stars
 (48 085 stars)
Métriques de merge PR
 (Merge moyen 8j 17h) (49 PRs mergées en 30 j)

Description

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.

Guide contributeur