rsyslog-module
Wzorce i wymagania techniczne dla modułów rsyslog – bezpieczna współbieżność i inicjalizacja
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill rsyslog_module koduje istotne wzorce techniczne do tworzenia i utrzymania modułów rsyslog (wtyczek). Obejmuje reguły synchronizacji dla współbieżnego modelu worker'ów w rsyslog v8, zarządzanie stanem współdzielonym (pData) i per-worker'em (WID), oraz standardowe punkty wejścia modułu (modInit, modExit, beginTransaction, commitTransaction). Zawiera szablony boilerplate'u, wytyczne dotyczące metadanych w MODULE_METADATA.yaml i konfiguracji build'u w Makefile.am oraz configure.ac.
Jak używać
Zapoznaj się z regułą "Belt and Suspenders" – każdy dostęp do stanu współdzielonego (pData) musi być chroniony asercją i warunkiem if, aby obsłużyć błędy gracefully w wysokowspółbieżnym modelu worker'ów rsyslog v8.
Rozróżnij stan współdzielony od per-worker'a: pData zawiera mutable state dostępny dla wszystkich worker'ów i musi być chroniony mutexem, natomiast wrkrInstanceData_t nigdy nie powinno być współdzielone między worker'ami.
Zaimplementuj standardowe punkty wejścia modułu: modInit() do inicjalizacji danych statycznych i rejestracji interfejsów, modExit() do finalizacji i czyszczenia, oraz beginTransaction() i commitTransaction() dla efektywnego batch'owania outputu.
Dodaj blok nagłówka "Concurrency & Locking" do każdego modułu output'u, aby dokumentować strategię synchronizacji i typ stanu.
Utrzymuj spójność metadanych: utwórz lub zaktualizuj MODULE_METADATA.yaml w katalogu modułu i synchronizuj zmiany dotyczące locking'u i współbieżności z doc/ai/module_map.yaml.
Skonfiguruj build: zaktualizuj plugins/Makefile.am i configure.ac przy dodawaniu nowych modułów, użyj makr z runtime/module-template.h (np. MODULE_TYPE(eMOD_OUT)), i postępuj zgodnie z wzorcem "Define at Top, Distribute Unconditionally, Register Conditionally" w tests/Makefile.am, aby zapewnić poprawność make distcheck.
Podobne skille
openapi-spec-generation
autor: wshobson
youtube-watcher
autor: openclaw
architect-review
autor: sickn33
software-security
autor: project-codeguard
brand-voice
autor: anthropics
zendesk
autor: vm0-ai