rtk-ai/rtk

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

Open

#2.259 aberto em 4 de jun. de 2026

Ver no GitHub
 (1 comment) (0 reactions) (0 assignees)Rust (2.914 forks)batch import
area:clienhancementhelp wantedpriority:medium

Métricas do repositório

Stars
 (48.085 stars)
Métricas de merge de PR
 (Mesclagem média 8d 17h) (49 fundiu PRs em 30d)

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.

Guia do colaborador