rsyslog-performance

Plan, benchmark, and validate safe rsyslog performance optimizations with paired measurements.

2.3k|734|Updated Jun 3, 2013
One-click install
npx skills add https://github.com/rsyslog/rsyslog --skill rsyslog-performance
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rsyslog-performance
Source: https://github.com/rsyslog/rsyslog/tree/main/.agent/skills/rsyslog-performance
Command: npx skills add https://github.com/rsyslog/rsyslog --skill rsyslog-performance

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Optimizing rsyslog without a disciplined method leads to noisy benchmarks, unsafe changes, and regressions in durability or concurrency. This Skill enforces an evidence-driven workflow so performance changes to inputs, parsers, queues, and outputs are measured, validated, and reversible.

Core Features & Use Cases

  • Controlled benchmarking: Build isolated baseline and candidate worktrees, run calibration plus at least eleven paired trials, and compare medians with median absolute deviation to resist host noise.
  • Safety-first change discipline: Define invariants for security, durability, memory, ownership, and concurrency before coding, and stop at an evidence-backed proposal before weakening any of them.
  • Risk-matched validation: Route changes through focused tests, sanitizers (ASAN/UBSAN for buffers, TSAN for locking and queues), static analysis, and container validation.
  • Use Case: When optimizing the imtcp input path or a disk queue drain routine, use this Skill to profile the path, implement one candidate at a time, and retain it only if two independent sessions meet the declared thresholds.

Quick Start

Use the rsyslog-performance skill to plan and validate a safe optimization for the rsyslog queue subsystem with representative workloads and paired benchmarks.

Frequently Asked Questions about rsyslog-performance

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I benchmark rsyslog performance changes reliably?

Create separate baseline and candidate worktrees, run one unrecorded calibration pair, then at least eleven measured pairs with alternating order. Compare paired ratios using the median and median absolute deviation, and repeat the full session independently.

How to safely optimize rsyslog queues or inputs like imtcp?

Profile the path first, define invariants for durability, ownership, and concurrency, then change one factor at a time. Retain a candidate only when two independent sessions meet the declared target and every guardrail passes.

What validation is required for rsyslog performance changes?

Run formatting, focused tests, static analysis, and container validation matched to risk. Buffer and bounds changes need ASAN/UBSAN, while queue, worker, locking, and shutdown changes need TSAN.

Why are rsyslog benchmark results noisy or inconsistent?

Host noise, cache state, and one-time setup effects distort single runs. Use calibration pairs, alternating trial order, fresh per-trial state, and repeat sessions; reject workloads whose effect cannot be separated from noise.

When should a performance candidate be reverted?

Revert candidates that are neutral, noisy, unsafe, overly complex, or fail any guardrail, even if they show local gains. Record rejected candidates to prevent repeating low-value work in future campaigns.